/*
Theme Name: ConTe Salute e Sport
Theme URI: https://gpservice.cloud
Author: GP Service
Description: Tema a blocchi per il Centro Medico ConTe Salute e Sport di Cagliari. Home orientata alla prenotazione, griglia servizi in evidenza, identita blu e tortora del marchio.
Version: 2.2.3
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: conte-salute-sport
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=Public+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');

/* ====== Base ====== */
body { -webkit-font-smoothing: antialiased; }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
h1, h2, h3, h4 { letter-spacing: -0.01em; }

/* Wordmark ConTe: "Con" tortora, "Te" azzurro */
.wordmark { font-family: 'Archivo', sans-serif; font-weight: 800; letter-spacing: 0.01em; }
.wordmark .wm-con { color: var(--wp--preset--color--tortora); }
.wordmark .wm-te { color: var(--wp--preset--color--azzurro); }
.wordmark-sub { font-family: 'Archivo', sans-serif; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; font-size: 0.62rem; color: var(--wp--preset--color--muted); }

/* Firma grafica: doppia linea da campo sportivo sotto i titoli di sezione */
.titolo-sezione { position: relative; padding-bottom: 0.9rem; }
.titolo-sezione::after {
	content: "";
	position: absolute; left: 0; bottom: 0;
	width: 72px; height: 7px;
	border-top: 3px solid var(--wp--preset--color--azzurro);
	border-bottom: 2px solid var(--wp--preset--color--tortora);
}
.has-text-align-center.titolo-sezione::after { left: 50%; transform: translateX(-50%); }

/* ====== Hero ====== */
.hero-conte {
	background-color: #12395C;
	background-image:
		radial-gradient(1100px 500px at 85% -10%, rgba(31,122,192,0.35), transparent 60%),
		radial-gradient(700px 420px at -10% 110%, rgba(162,148,127,0.28), transparent 55%);
}
.hero-conte h1, .hero-conte p { color: #ffffff; text-shadow: 0 1px 14px rgba(9,30,50,0.55); }
.hero-conte .hero-eyebrow { color: #c9bda9; }
.hero-conte h1 { line-height: 1.06; }
.hero-eyebrow { letter-spacing: 0.22em; text-transform: uppercase; font-family: 'Archivo', sans-serif; font-weight: 600; }
.hero-conte .wp-block-button__link { padding: 0.9rem 1.8rem; }
.btn-fantasma .wp-block-button__link {
	background: transparent; border: 1.5px solid rgba(255,255,255,0.55); color: #fff;
}
.btn-fantasma .wp-block-button__link:hover { border-color: #fff; background: rgba(255,255,255,0.08); }

/* Strip informativa sotto l'hero */
.strip-info { border-bottom: 1px solid rgba(18,57,92,0.10); }
.strip-info p { margin: 0; }
.strip-info strong { color: var(--wp--preset--color--blu-notte); }

/* ====== Card servizi ====== */
.card-servizio {
	background: #fff;
	border: 1px solid rgba(18,57,92,0.10);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	height: 100%;
}
.card-servizio:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(18,57,92,0.14); }
.card-servizio .wp-block-image { margin: 0; }
.card-servizio img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.card-servizio h3 { margin: 0.9rem 1.1rem 0.35rem; font-size: 1.12rem; }
.card-servizio h3 a { text-decoration: none; color: var(--wp--preset--color--blu-notte); }
.card-servizio h3 a:hover { color: var(--wp--preset--color--azzurro); }
.card-servizio p { margin: 0 1.1rem 1.15rem; font-size: 0.93rem; color: var(--wp--preset--color--muted); }

/* Chip per specialita secondarie */
.chip-lista { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; padding: 0; list-style: none; }
.chip-lista a {
	display: inline-block; padding: 0.5rem 1.05rem; border-radius: 999px;
	background: #fff; border: 1px solid rgba(18,57,92,0.16);
	color: var(--wp--preset--color--blu-notte); text-decoration: none; font-size: 0.92rem; font-weight: 500;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.chip-lista a:hover { background: var(--wp--preset--color--azzurro); border-color: var(--wp--preset--color--azzurro); color: #fff; }

/* Card percorsi */
.card-percorso {
	background: #fff; border-radius: 14px; padding: 1.6rem 1.5rem;
	border: 1px solid rgba(18,57,92,0.10); border-top: 4px solid var(--wp--preset--color--azzurro);
	height: 100%;
}
.card-percorso h3 { margin-top: 0; font-size: 1.15rem; }
.card-percorso h3 a { text-decoration: none; color: var(--wp--preset--color--blu-notte); }
.card-percorso h3 a:hover { color: var(--wp--preset--color--azzurro); }

/* Banda scura recensioni / CTA */
.band-scura { background: var(--wp--preset--color--blu-notte); }
.band-scura h2, .band-scura p { color: #fff; }
.band-scura .stelle { color: #F5B84B; letter-spacing: 0.12em; font-size: 1.4rem; }

/* Tabella orari */
.tabella-orari table { border-collapse: collapse; width: 100%; }
.tabella-orari td { border: none; border-bottom: 1px solid rgba(18,57,92,0.10); padding: 0.55rem 0.35rem; }
.tabella-orari tr td:last-child { text-align: right; font-weight: 600; color: var(--wp--preset--color--blu-notte); }

/* Header */
.header-conte { border-bottom: 1px solid rgba(18,57,92,0.10); background: #fff; }
.header-conte .wp-block-navigation a { font-weight: 500; }

/* Footer */
.footer-conte a { color: #cfe2f2; }
.footer-conte a:hover { color: #fff; }

/* Contenuto articoli e pagine */
.contenuto-principale img { border-radius: 12px; }

/* Focus visibile */
a:focus-visible, .wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--azzurro); outline-offset: 2px;
}

/* Riduzione movimento */
@media (prefers-reduced-motion: reduce) {
	.card-servizio, .card-servizio:hover { transition: none; transform: none; }
}

/* Responsive */
@media (max-width: 781px) {
	.hero-conte h1 { font-size: clamp(1.9rem, 7vw, 2.6rem) !important; }
	.strip-info .wp-block-columns { gap: 0.4rem; }
}

/* ====== Hero slider (v2.1) ====== */
.hero-slider { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; min-height: min(82vh, 720px); }
.hero-slides { position: absolute; inset: 0; z-index: 0; max-width: none !important; margin: 0 !important; width: 100%; }
.hero-slides .slide {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	opacity: 0; transform: scale(1.02);
	animation: heroFade 21s ease-in-out infinite;
}
.hero-slides .slide-1 { background-image: url('/wp-content/uploads/hero-sardegna.jpg'); background-position: center 42%; }
.hero-slides .slide-2 { background-image: url('/wp-content/uploads/hero-terapia.jpg'); background-position: 30% 25%; animation-delay: 7s; }
.hero-slides .slide-3 { background-image: url('/wp-content/uploads/allergologia.jpg'); background-position: center 30%; animation-delay: 14s; }
@keyframes heroFade {
	0% { opacity: 0; transform: scale(1.02); }
	5% { opacity: 1; }
	33% { opacity: 1; transform: scale(1.06); }
	41% { opacity: 0; transform: scale(1.07); }
	100% { opacity: 0; transform: scale(1.02); }
}
.hero-velo { position: absolute; inset: 0; background: linear-gradient(92deg, rgba(9,30,50,0.68) 0%, rgba(9,30,50,0.48) 46%, rgba(12,40,64,0.26) 100%); }
.hero-slider > *:not(.hero-slides) { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) {
	.hero-slides .slide { animation: none; opacity: 0; }
	.hero-slides .slide-1 { opacity: 1; transform: none; }
}
@media (max-width: 781px) {
	.hero-slider { min-height: min(76vh, 640px); }
	.hero-velo { background: linear-gradient(180deg, rgba(9,30,50,0.80), rgba(9,30,50,0.55)); }
}
