/*
 * Apulia Bike Tours — GAW block theme
 * CSS custom oltre theme.json (header, hero, layout sezioni).
 */

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
.wp-block-button__link { transition: background-color .18s ease, color .18s ease, border-color .18s ease; }

/* ---------- Header ---------- */
.abt-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--wp--preset--color--border);
	backdrop-filter: saturate(120%) blur(6px);
	background: rgba(255,255,255,0.92) !important;
}
.abt-wordmark a { color: var(--wp--preset--color--contrast) !important; text-decoration: none !important; }
.abt-mainnav { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem; }
.abt-mainnav a { color: var(--wp--preset--color--contrast); text-decoration: none; font-size: 0.9375rem; font-weight: 500; transition: color .18s ease; }
.abt-mainnav a:hover { color: var(--wp--preset--color--muted); }
.abt-header .abt-header-cta .wp-block-button__link:hover { background: var(--wp--preset--color--dark); }
@media (max-width: 900px) { .abt-mainnav { display: none; } }
.abt-header-right { display: flex; align-items: center; gap: 1rem; }
.abt-langs { display: flex; gap: 0.5rem; align-items: center; }
.abt-langs a { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.03em; color: var(--wp--preset--color--muted); text-decoration: none; padding: 0.15rem 0.4rem; border-radius: 6px; transition: color .15s ease, background .15s ease; }
.abt-langs a:hover { color: var(--wp--preset--color--contrast); }
.abt-langs a.is-current { color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--cream); }
@media (max-width: 600px) { .abt-langs { gap: 0.15rem; } .abt-langs a { padding: 0.1rem 0.3rem; } }

/* ---------- Hero ---------- */
.abt-hero { overflow: hidden; }
.abt-hero > .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 592px;
	padding: 2.5rem 0.5rem;
	gap: 2rem;
}
.abt-hero__top { width: 100%; }
.abt-hero__title { margin: 0; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.abt-hero__card {
	align-self: flex-end;
	max-width: 400px;
	background: rgba(26,26,26,0.82) !important;
	backdrop-filter: blur(6px);
	box-shadow: var(--wp--preset--shadow--lg);
}
/* CTA outline ghost su foto */
.abt-btn-ghost .wp-block-button__link {
	background: transparent !important;
	border: 1.5px solid rgba(255,255,255,0.85);
	color: #fff !important;
}
.abt-btn-ghost .wp-block-button__link:hover {
	background: #fff !important;
	color: var(--wp--preset--color--contrast) !important;
	border-color: #fff;
}

/* ---------- Sezioni generiche ---------- */
.abt-section { padding-block: var(--wp--preset--spacing--60); }
.abt-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
}
.abt-card--dark {
	background: var(--wp--preset--color--dark);
	color: #fff;
	border: 0;
	border-radius: 24px;
}

/* immagini arrotondate di default nelle sezioni home */
.abt-round img { border-radius: 20px; }

/* ---------- Search bar (overlap hero) ---------- */
.abt-searchbar-wrap { margin-top: -2.75rem; position: relative; z-index: 5; }
.abt-searchbar {
	box-shadow: var(--wp--preset--shadow--lg);
	border: 1px solid var(--wp--preset--color--border);
}
.abt-searchbar form,
.abt-searchbar .gv-search-bar { margin: 0; }

/* ---------- Perché sceglierci: media circolare + badge ---------- */
.abt-why-media { position: relative; max-width: 460px; margin-inline: auto; }
.abt-why-img img { border-radius: 999px; aspect-ratio: 1/1; object-fit: cover; width: 100%; }
.abt-badge {
	position: absolute; top: 8%; right: 2%;
	width: 96px; height: 96px;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	box-shadow: var(--wp--preset--shadow--md);
}

/* ---------- Destinazioni: card con titolo overlay ---------- */
.abt-dest-card { position: relative; overflow: hidden; }
.abt-dest-card .abt-round img { aspect-ratio: 3/4; object-fit: cover; width: 100%; border-radius: 22px; }
.abt-dest-card__title {
	position: absolute; left: 1.1rem; right: 1.1rem; bottom: 1rem;
	color: #fff !important;
	text-shadow: 0 2px 12px rgba(0,0,0,.45);
	margin: 0;
}

/* ---------- 4 passaggi ---------- */
.abt-steps { overflow: hidden; }
.abt-step__num { letter-spacing: .05em; }

/* ---------- Blog ---------- */
.abt-blog-grid figure img { width: 100%; object-fit: cover; }

/* ---------- Page hero ---------- */
.abt-pagehero > .wp-block-cover__inner-container { max-width: 900px; }

/* ---------- Team grid (Chi siamo) ---------- */
.abt-team-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.abt-team-grid > .abt-team-col { flex-basis: auto !important; width: auto !important; margin: 0 !important; }
.abt-team-card { height: 100%; text-align: center; }
.abt-team-photo img { border: 3px solid rgba(255,255,255,0.12); }
@media (max-width: 900px) { .abt-team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .abt-team-grid { grid-template-columns: 1fr; } }

/* ---------- FAQ accordion ---------- */
.abt-faq__item { padding: 0.35rem 0; }
.abt-faq__q { cursor: pointer; font-weight: 700; font-size: 1.0625rem; list-style: none; padding: 0.85rem 0; position: relative; padding-right: 2rem; }
.abt-faq__q::-webkit-details-marker { display: none; }
.abt-faq__q::after { content: "+"; position: absolute; right: 0.25rem; top: 0.75rem; font-size: 1.4rem; font-weight: 400; color: var(--wp--preset--color--muted); transition: transform .2s ease; }
.abt-faq__item[open] .abt-faq__q::after { content: "–"; }
.abt-faq__a { color: var(--wp--preset--color--muted); line-height: 1.7; padding: 0 0 1rem; }

/* ---------- Footer ---------- */
.abt-footer .abt-footer-list { list-style: none; margin: 0; padding: 0; }
.abt-footer a { text-decoration: none; }
.abt-footer a:hover { text-decoration: underline; }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.abt-hero > .wp-block-cover__inner-container { min-height: 520px; padding: 1.5rem 0.25rem; }
	.abt-hero__card { max-width: 100%; align-self: stretch; }
}

/* ---------- Tours archive (plugin gestione-viaggi) ---------- */
.abt-tours-archive .wp-block-post-content { max-width: none; }
.abt-tours-archive .gv-search, .abt-tours-archive .gv-results, .abt-tours-archive .gv-cerca-wrap { width: 100%; }
