/* Il giardino dei cedri - "all'ombra dei cedri" (14/11/2026, v4). Si applica solo con body.gdc4 */
@font-face { font-family: 'Young Serif'; font-weight: 400; font-style: normal; font-display: swap; src: url('font/young-serif-400.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 400; font-style: normal; font-display: swap; src: url('font/barlow-400.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 500; font-style: normal; font-display: swap; src: url('font/barlow-500.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 600; font-style: normal; font-display: swap; src: url('font/barlow-600.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Semi Condensed'; font-weight: 700; font-style: normal; font-display: swap; src: url('font/barlow-semi-condensed-700.woff2') format('woff2'); }

body.gdc4 {
	--cedro: #0f3528;
	--cedro-2: #174a38;
	--ago: #3f7a54;
	--foglia: #c4dca9;
	--ocra: #e9b64a;
	--ocra-scuro: #7a5410;
	--glicine: #cdb9e8;
	--nebbia: #e5ece0;
	--ink: #0e1d16;
	--giallo: #f0e04a;
	--serif: 'Young Serif', Georgia, serif;
	--insegna: 'Barlow Semi Condensed', 'Arial Narrow', sans-serif;
	--corpo: 'Barlow', system-ui, sans-serif;
	font-family: var(--corpo);
	background: var(--nebbia);
	color: var(--ink);
	font-size: 18px;
	line-height: 1.65;
	scrollbar-color: var(--ago) var(--cedro);
	-webkit-font-smoothing: antialiased;
	padding-bottom: 0 !important;
}
body.gdc4 ::selection { background: var(--giallo); color: var(--ink); }
body.gdc4 .rfwbs_slider, body.gdc4 #rfwbs_slider { display: none !important; }
body.gdc4 #page, body.gdc4 main, body.gdc4 main > .page, body.gdc4 .page { background: transparent !important; }
body.gdc4 a:focus-visible, body.gdc4 button:focus-visible, body.gdc4 input:focus-visible, body.gdc4 textarea:focus-visible, body.gdc4 select:focus-visible { outline: 3px solid var(--giallo); outline-offset: 3px; box-shadow: 0 0 0 6px var(--ink); }
body.gdc4 .title-card-wrapper { display: none !important; }
body.gdc4 main { padding-top: 0; }

/* ---------- menu ---------- */
body.gdc4 #site-navigation.navbar { background: var(--cedro) !important; border: 0; min-height: 68px; box-shadow: 0 1px 0 rgba(255,255,255,.08); }
body.gdc4 .navbar-brand { font-family: var(--serif) !important; font-weight: 400; font-size: 20px; letter-spacing: 0; color: #fff !important; height: auto; padding: 21px 16px 0 20px; }
body.gdc4 .navbar-inverse .navbar-nav > li > a { font-family: var(--insegna); font-weight: 700; font-size: 16px; letter-spacing: .09em; text-transform: uppercase; color: var(--foglia) !important; padding: 10px 14px; margin: 14px 2px; border-radius: 999px; background: transparent; transition: background .18s, color .18s; }
body.gdc4 .navbar-inverse .navbar-nav > li > a:hover, body.gdc4 .navbar-inverse .navbar-nav > li > a:focus { background: var(--cedro-2) !important; color: #fff !important; }
body.gdc4 .navbar-inverse .navbar-nav > .active > a, body.gdc4 .navbar-inverse .navbar-nav > .active > a:hover { background: var(--foglia) !important; color: var(--cedro) !important; }
body.gdc4 .navbar-inverse .navbar-nav > li:last-child > a { background: var(--giallo) !important; color: var(--ink) !important; }
body.gdc4 .navbar-inverse .navbar-nav > li:last-child > a:hover { background: #fff !important; }
body.gdc4 .navbar-toggle { border: 2px solid var(--foglia); border-radius: 12px; margin-top: 14px; }
body.gdc4 .navbar-toggle .icon-bar { background: var(--foglia); }
body.gdc4 #wpglobus-3 .flag img { width: 26px; height: auto; border-radius: 3px; margin: 0 2px; }
@media (max-width: 767px) {
	body.gdc4 .navbar-collapse { background: var(--cedro); border-top: 1px solid rgba(255,255,255,.12); max-height: 80vh; }
	body.gdc4 .navbar-inverse .navbar-nav > li > a { margin: 6px 12px; font-size: 18px; padding: 12px 16px; }
}

/* ---------- titoli e testo ---------- */
body.gdc4 h1, body.gdc4 h2, body.gdc4 h3 { font-family: var(--serif); font-weight: 400; color: var(--cedro); line-height: 1.12; text-wrap: balance; letter-spacing: -.005em; }
body.gdc4 .entry-content h1 { font-size: clamp(30px, 4vw, 44px) !important; }
body.gdc4 .entry-content h2 { font-size: clamp(26px, 3.2vw, 36px) !important; margin: 1.7em 0 .5em; }
body.gdc4 .entry-content h3 { font-size: clamp(21px, 2.4vw, 26px); margin: 1.4em 0 .4em; }
body.gdc4 .entry-content p, body.gdc4 .entry-content li { max-width: 68ch; }
body.gdc4 .description p { font-size: 18px; line-height: 1.7; }
body.gdc4 main a { color: var(--cedro-2) !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: var(--ago); }
body.gdc4 main a:hover { color: var(--ink) !important; background: var(--foglia); }
body.gdc4 hr { border: 0; border-top: 1px solid rgba(15,53,40,.18); margin: 2em 0; }

/* ---------- bottoni ---------- */
body.gdc4 .g4-btn { display: inline-flex; align-items: center; gap: .6em; min-height: 52px; padding: 12px 26px; border-radius: 999px; font-family: var(--insegna); font-weight: 700; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; transition: transform .18s cubic-bezier(.2,.8,.2,1), background .18s, color .18s; }
body.gdc4 .g4-btn:hover { transform: translateY(-2px); }
body.gdc4 .g4-btn-1 { background: var(--giallo); color: var(--ink) !important; }
body.gdc4 .g4-btn-1 span { font-family: var(--corpo); font-weight: 600; letter-spacing: .02em; border-left: 2px solid rgba(14,29,22,.35); padding-left: .7em; text-transform: none; }
body.gdc4 .g4-btn-1:hover { background: #fff; }
body.gdc4 .g4-btn-2 { border: 2px solid #fff; color: #fff !important; background: transparent; }
body.gdc4 .g4-btn-2:hover { background: #fff; color: var(--cedro) !important; }
body.gdc4 .g4-btn-3 { background: var(--cedro); color: #fff !important; }
body.gdc4 .g4-btn-3:hover { background: var(--ink); }

/* ---------- home: apertura ---------- */
body.gdc4 .g4-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); min-height: min(86vh, 760px); margin-top: 68px; background: var(--cedro); position: relative; }
body.gdc4 .g4-hero-testo { padding: clamp(36px, 6vw, 88px) clamp(24px, 5vw, 72px) clamp(70px, 9vw, 120px); display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2; }
body.gdc4 .g4-logo { width: 84px; height: 84px; margin-bottom: 26px; border-radius: 50%; box-shadow: 0 0 0 4px var(--cedro), 0 0 0 6px var(--foglia); }
body.gdc4 .g4-h1 { font-size: clamp(38px, 5.2vw, 76px); color: #fff; margin: 0 0 20px; line-height: 1.02; }
body.gdc4 .g4-sotto { color: var(--foglia); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.5; max-width: 34ch; margin: 0 0 34px; }
body.gdc4 .g4-cta { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
body.gdc4 .g4-hero-foto { background: #20402f url('../uploads/2015/03/cropped-DSC00651.jpg') 62% 70% / cover no-repeat; min-height: 340px; }
/* il bordo a "piani" del cedro: file di foglie piatte tra il verde e la foto */
body.gdc4 .g4-hero-foto { position: relative; }
body.gdc4 .g4-hero-foto:before { content: ""; position: absolute; left: -1px; top: 0; bottom: 0; width: 34px; transform: translateX(-100%); background:
	radial-gradient(ellipse 34px 30px at 100% 25px, var(--cedro) 0 98%, transparent 100%) 0 0 / 34px 50px repeat-y,
	radial-gradient(ellipse 22px 24px at 100% 50px, var(--cedro-2) 0 98%, transparent 100%) 0 25px / 34px 50px repeat-y; opacity: 1; }
body.gdc4 .g4-hero-foto:before { display: none; }
body.gdc4 .g4-hero-testo:after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 38px; transform: translateX(calc(100% - 2px)); z-index: 3; background:
	radial-gradient(circle at 0 26px, var(--cedro) 0 25px, transparent 26px) 0 0 / 38px 52px repeat-y; }

/* targhe dei fatti: smalto verde con filo bianco, come l'insegna della portineria */
body.gdc4 .g4-targhe { list-style: none; margin: -52px auto 0; padding: 0 20px; max-width: 1180px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; position: relative; z-index: 5; }
body.gdc4 .g4-targa { background: var(--cedro-2); color: #fff; border-radius: 16px; padding: 18px 20px 20px; box-shadow: inset 0 0 0 3px var(--cedro-2), inset 0 0 0 5px rgba(255,255,255,.85), 0 14px 28px -12px rgba(14,29,22,.45); display: flex; flex-direction: column; gap: 2px; min-height: 124px; }
body.gdc4 .g4-targa strong { font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 3vw, 38px); line-height: 1.05; color: var(--giallo); }
body.gdc4 .g4-targa span { font-size: 16px; line-height: 1.35; color: #fff; }
body.gdc4 .g4-targa em { font-style: normal; font-size: 15px; line-height: 1.35; color: var(--foglia); margin-top: 6px; }

/* ---------- home: la camera ---------- */
body.gdc4-home main > .page { padding-top: 40px; }
body.gdc4 #home-page-widgets { background: transparent; padding: 10px 0 0; }
body.gdc4 .services .service { padding: 14px 8px; }
body.gdc4 .services .service p.logo { color: var(--ago); }
body.gdc4 .services .service h3 { font-family: var(--insegna); font-weight: 700; font-size: 18px; letter-spacing: .08em; color: var(--cedro); }
body.gdc4 .services .service p { color: var(--ink); }
body.gdc4-home #primary { width: 100%; float: none; }
body.gdc4 #primary article, body.gdc4 #primary article.page { background: transparent !important; padding: 0; }
body.gdc4 .entry-content { overflow: visible; }
body.gdc4-home .entry-content .aligncenter, body.gdc4 .entry-content img.aligncenter { width: 100%; height: auto; border-radius: 22px; margin: 6px 0 30px; box-shadow: 0 18px 40px -22px rgba(14,29,22,.55); }
body.gdc4 .entry-content img { border-radius: 14px; }
body.gdc4-home .entry-content > p:not(:first-child):not(:has(img)) { max-width: 60ch; }
body.gdc4-home .entry-content > p:nth-of-type(2) { font-family: var(--serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.35; color: var(--cedro); max-width: 30ch; }
body.gdc4-home .entry-content > p:nth-of-type(2) a { color: var(--cedro) !important; }

/* informazioni (colazione, biciclette, parcheggio, posizione): righe, non schede */
body.gdc4-home #secondary { width: 100%; float: none; padding-top: 14px; }
body.gdc4-home #secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 48px; }
body.gdc4 .boxinfo { border: 0 !important; border-top: 2px solid rgba(15,53,40,.22) !important; padding: 20px 0 !important; opacity: 1 !important; float: none; width: auto !important; display: flex; align-items: center; gap: 20px; }
body.gdc4 .boxinfo > div { float: none; width: auto; padding: 0 !important; margin: 0 !important; }
body.gdc4 .boxinfo > div:first-child { flex: 0 0 104px; }
body.gdc4 .boxinfo img { width: 104px; height: 104px; object-fit: cover; border-radius: 50%; margin: 0 !important; box-shadow: 0 0 0 3px var(--nebbia), 0 0 0 5px var(--ago); }
body.gdc4 .boxinfo h3 { font-family: var(--serif); font-size: 24px; text-transform: none; font-weight: 400; margin: 0 0 4px; }
body.gdc4 .boxinfo h3 a { color: var(--cedro) !important; text-decoration: none; }
body.gdc4 .boxinfo p { margin: 0; font-size: 17px; line-height: 1.45; }
body.gdc4 .boxinfo a:hover img { opacity: .85 !important; }
body.gdc4 .boxinfo .excerpt a { font-weight: 600; white-space: nowrap; }

/* ---------- fascia dei cammini ---------- */
body.gdc4 .g4-cammino { background: var(--ocra); margin-top: 56px; position: relative; padding: clamp(48px, 6vw, 84px) 20px; }
body.gdc4 .g4-cammino:before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 24px; background: radial-gradient(circle at 50% 100%, var(--ocra) 0 22px, transparent 23px) 0 0 / 48px 24px repeat-x; }
body.gdc4 .g4-cammino-in { max-width: 920px; margin: 0 auto; }
body.gdc4 .g4-cammino h2 { font-size: clamp(32px, 4.6vw, 58px); color: var(--cedro); margin: 0 0 16px; }
body.gdc4 .g4-cammino p { font-size: clamp(19px, 2vw, 24px); line-height: 1.5; color: var(--ink); max-width: 36ch; }

/* ---------- contatti e mappa ---------- */
body.gdc4 .info { background: var(--cedro) !important; color: #fff; padding: 56px 0; margin-top: 0; }
body.gdc4 .info .map iframe { width: 100%; border-radius: 20px; height: 340px; filter: saturate(.85) contrast(1.02); }
body.gdc4 .info .contact { padding: 6px 0 6px 30px; }
body.gdc4 .info .contact h4 { font-family: var(--serif); text-transform: none; font-weight: 400; font-size: 30px; color: #fff; margin: 0 0 14px; }
body.gdc4 .info .contact h4 + .textwidget, body.gdc4 .contact .textwidget { font-size: 18px; line-height: 1.9; color: #fff; }
body.gdc4 .contact .textwidget i { color: var(--foglia); margin-right: 6px; }
body.gdc4 .info a { color: var(--giallo) !important; background: transparent !important; }
body.gdc4 .info #wpglobus-2 { margin-top: 12px; }
body.gdc4 .info #wpglobus-2 h4 { display: none; }
body.gdc4 .info #wpglobus-2 .flag img { width: 28px; height: auto; border-radius: 3px; margin-right: 6px; }

/* ---------- piede ---------- */
body.gdc4 #footer { background: var(--ink); color: var(--foglia); padding: 34px 0 96px; margin: 0; border: 0; }
body.gdc4 #footer a { color: var(--giallo) !important; background: transparent !important; }
body.gdc4 #footer .copyright { font-size: 15px; line-height: 1.6; color: var(--foglia); }

/* ---------- pagine interne ---------- */
body.gdc4 .g4-titolo { background: var(--cedro); margin-top: 68px; padding: clamp(44px, 7vw, 92px) 20px clamp(52px, 7vw, 96px); position: relative; }
body.gdc4 .g4-titolo h1 { color: #fff; font-size: clamp(34px, 5.4vw, 64px); max-width: 1160px; margin: 0 auto; padding: 0 0 0; line-height: 1.04; }
body.gdc4 .g4-titolo:after { content: ""; position: absolute; left: 0; right: 0; bottom: -23px; height: 24px; background: radial-gradient(circle at 50% 0, var(--cedro) 0 22px, transparent 23px) 0 0 / 48px 24px repeat-x; }
body.gdc4-interna main > .page { padding-top: 52px; }
body.gdc4-interna .container { max-width: 1160px; }
body.gdc4-interna #primary { padding-bottom: 40px; }
body.gdc4-interna #secondary { padding-top: 8px; }
body.gdc4-interna .gallery .portfolio-item img { border-radius: 14px; margin: 8px 0; }

/* modulo di richiesta */
body.gdc4 .wpcf7 input[type="text"], body.gdc4 .wpcf7 input[type="email"], body.gdc4 .wpcf7 input[type="date"], body.gdc4 .wpcf7 textarea, body.gdc4 .wpcf7 select { width: 100%; max-width: 560px; background: #fff; color: var(--ink); border: 2px solid rgba(15,53,40,.35); border-radius: 12px; padding: 12px 14px; font-size: 18px; min-height: 52px; }
body.gdc4 .wpcf7 input:focus, body.gdc4 .wpcf7 textarea:focus { border-color: var(--cedro); }
body.gdc4 .wpcf7 input[type="submit"], body.gdc4 .wpcf7 .btn { background: var(--cedro); color: #fff; border: 0; border-radius: 999px; padding: 14px 34px; min-height: 52px; font-family: var(--insegna); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 18px; cursor: pointer; }
body.gdc4 .wpcf7 input[type="submit"]:hover { background: var(--ink); }

/* ---------- barra Chiama / Scrivici sul telefono ---------- */
body.gdc4 .g4-barra { display: none; }
@media (max-width: 767px) {
	body.gdc4 .g4-barra { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 200; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: var(--cedro); border-top: 1px solid rgba(255,255,255,.14); }
	body.gdc4 .g4-barra a { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 999px; font-family: var(--insegna); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 18px; text-decoration: none !important; }
	body.gdc4 .g4-b1 { background: var(--giallo); color: var(--ink) !important; }
	body.gdc4 .g4-b2 { border: 2px solid #fff; color: #fff !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 991px) {
	body.gdc4 .g4-targhe { grid-template-columns: 1fr 1fr; margin-top: -40px; }
	body.gdc4-home #secondary { grid-template-columns: 1fr; }
	body.gdc4 .info .contact { padding-left: 15px; padding-top: 24px; }
}
@media (max-width: 767px) {
	body.gdc4 { font-size: 17px; }
	body.gdc4 .g4-hero { grid-template-columns: 1fr; grid-template-rows: 52vw auto; min-height: 0; margin-top: 64px; }
	body.gdc4 .g4-hero-foto { order: -1; min-height: 0; background-position: 60% 78%; }
	body.gdc4 .g4-hero-testo { padding: 30px 22px 74px; }
	body.gdc4 .g4-hero-testo:after { display: none; }
	body.gdc4 .g4-logo { width: 64px; height: 64px; margin-bottom: 18px; }
	body.gdc4 .g4-cta .g4-btn { width: 100%; justify-content: center; }
	body.gdc4 .g4-targhe { padding: 0 14px; gap: 10px; }
	body.gdc4 .g4-targa { padding: 14px 14px 16px; min-height: 0; }
	body.gdc4 .g4-targa span, body.gdc4 .g4-targa em { font-size: 14px; }
	body.gdc4 .boxinfo > div:first-child { flex-basis: 84px; }
	body.gdc4 .boxinfo img { width: 84px; height: 84px; }
	body.gdc4 .g4-titolo { margin-top: 64px; }
}
@media (prefers-reduced-motion: reduce) { body.gdc4 .g4-btn { transition: none; } body.gdc4 .g4-btn:hover { transform: none; } }

/* correzioni dopo la prima anteprima */
body.gdc4 .entry-content p:has(img), body.gdc4 .entry-content p:has(> a > img) { max-width: none; }
body.gdc4-home .entry-content > p:nth-of-type(2) b, body.gdc4-home .entry-content > p:nth-of-type(2) strong { font-weight: 400; color: var(--ago); }
body.gdc4 .home-top { background: transparent !important; padding: 34px 0 0; }
body.gdc4 .home-top .jumbotron, body.gdc4 .home-jumbotron { background: transparent !important; padding: 0; margin: 0; }
body.gdc4 .home-jumbotron:before, body.gdc4 .home-jumbotron:after, body.gdc4 .jumbo-headline.widget_text:before, body.gdc4 .jumbo-headline.widget_text:after { display: none !important; }
body.gdc4 .jumbo-headline { text-align: left; max-width: 1160px; margin: 0 auto; padding: 0 20px; }
body.gdc4 .jumbo-headline h2 { font-size: clamp(30px, 4vw, 48px); margin: 0 0 8px; color: var(--cedro); text-align: left; }
body.gdc4 .jumbo-headline .textwidget { font-size: clamp(18px, 1.8vw, 22px); color: var(--ink); text-align: left; max-width: 52ch; line-height: 1.5; }
body.gdc4 .home-top .container, body.gdc4 .home-top .row, body.gdc4 .home-top [class*="col-"] { padding: 0; margin: 0; width: 100%; max-width: none; }

/* pagina 404: il menu e fisso, serve spazio sopra */
body.gdc4.error404 main { padding-top: 96px; }
body.gdc4.error404 #primary h1, body.gdc4.error404 #primary .entry-title { color: var(--cedro); }

/* tre stelle del bollino */
body.gdc4 .g4-stelle { width: 108px; height: 33px; fill: var(--giallo); display: block; margin: -4px 0 18px; }
@media (max-width: 767px) { body.gdc4 .g4-stelle { width: 90px; height: 28px; margin-bottom: 14px; } }

/* i due bollini: logo e "Bed & Breakfast 3 stelle" */
body.gdc4 .g4-marchi { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; }
body.gdc4 .g4-marchi .g4-logo { margin-bottom: 0; }
body.gdc4 .g4-bb { width: 125px; height: auto; background: #fff; border-radius: 14px; padding: 4px 6px; box-shadow: 0 0 0 3px var(--cedro), 0 0 0 5px var(--foglia); }
body.gdc4 .g4-stelle { display: none; }
@media (max-width: 767px) { body.gdc4 .g4-marchi { margin-bottom: 18px; } body.gdc4 .g4-bb { width: 104px; } }

/* telefono: intestazione compatta, una riga sola (nome a sinistra, bandiere e menu a destra) */
@media (max-width: 767px) {
	body.gdc4 #site-navigation.navbar { min-height: 0; height: 64px; overflow: visible; }
	body.gdc4 #site-navigation > .col-xs-8 { width: 100%; padding: 0; float: none; }
	body.gdc4 .navbar-brand { font-size: 17px; line-height: 1.1; padding: 14px 0 0 16px; max-width: 150px; height: 64px; white-space: normal; }
	body.gdc4 #site-navigation > .col-xs-4 { position: absolute; top: 0; right: 68px; width: auto; padding: 0; float: none; height: 64px; display: flex; align-items: center; }
	body.gdc4 #wpglobus-3 { margin: 0 !important; padding: 0 !important; width: auto; float: none; }
	body.gdc4 #wpglobus-3 .flags-styled { display: flex; flex-wrap: nowrap; gap: 4px; }
	body.gdc4 #wpglobus-3 .flag { display: block; }
	body.gdc4 #wpglobus-3 .flag img { width: 24px; margin: 0; }
	body.gdc4 .navbar-header { position: absolute; top: 0; right: 10px; float: none; width: auto; margin: 0; }
	body.gdc4 .navbar-toggle { margin: 10px 4px; float: none; }
	body.gdc4 .navbar-collapse { position: absolute; top: 64px; left: 0; right: 0; width: 100%; }
	body.gdc4 .g4-hero, body.gdc4 .g4-titolo { margin-top: 64px; }
}

/* barra Chiama / Scrivici: compare solo dopo i pulsanti della parte alta */
@media (max-width: 767px) {
	body.gdc4.g4-js .g4-barra { transform: translateY(110%); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
	body.gdc4.g4-js .g4-barra.g4-barra-on { transform: none; }
}
@media (prefers-reduced-motion: reduce) { body.gdc4.g4-js .g4-barra { transition: none; } }

/* galleria fotografica delle pagine */
body.gdc4 .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin: 8px 0 30px; }
body.gdc4 .gallery:before, body.gdc4 .gallery:after { display: none; }
body.gdc4 .gallery .portfolio-item { float: none; width: auto; padding: 0; margin: 0; }
body.gdc4 .gallery .portfolio-item a { display: block; border-radius: 16px; overflow: hidden; background: var(--cedro-2); text-decoration: none; background-image: none; }
body.gdc4 .gallery .portfolio-item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; border-radius: 0; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
body.gdc4 .gallery .portfolio-item a:hover img { transform: scale(1.04); opacity: 1 !important; }
body.gdc4 .gallery .portfolio-item a:hover { background: var(--cedro-2); }
@media (prefers-reduced-motion: reduce) { body.gdc4 .gallery .portfolio-item img { transition: none; } }

/* icone dei servizi: quelle caricate sul sito non ci sono piu, queste sono disegnate qui */
body.gdc4 .services i[class*="wp-svg-custom"] { display: inline-block; width: 52px; height: 52px; background: var(--ago); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; vertical-align: middle; }
body.gdc4 .services i[class*="wifi-full"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a15 15 0 0 1 20 0M5.5 12.5a10 10 0 0 1 13 0M9 16a5 5 0 0 1 6 0'/%3E%3Ccircle cx='12' cy='19.5' r='1'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a15 15 0 0 1 20 0M5.5 12.5a10 10 0 0 1 13 0M9 16a5 5 0 0 1 6 0'/%3E%3Ccircle cx='12' cy='19.5' r='1'/%3E%3C/svg%3E"); }
body.gdc4 .services i[class*="shower5"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V8a4 4 0 0 1 4-4h5M11 8h9l-2 3h-5z'/%3E%3Cpath d='M13 14v2M16 14v3M19 14v2M14.5 19v1M17.5 19.5v1'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V8a4 4 0 0 1 4-4h5M11 8h9l-2 3h-5z'/%3E%3Cpath d='M13 14v2M16 14v3M19 14v2M14.5 19v1M17.5 19.5v1'/%3E%3C/svg%3E"); }
body.gdc4 .services i[class*="heating1"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h18M3 17h18M6 7v10M10 7v10M14 7v10M18 7v10M5 20v-3M19 20v-3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h18M3 17h18M6 7v10M10 7v10M14 7v10M18 7v10M5 20v-3M19 20v-3'/%3E%3C/svg%3E"); }
body.gdc4 .services i[class*="tv"] { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='12' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='12' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
body.gdc4 .services .service p.logo { margin: 0 0 6px; line-height: 1; }
body.gdc4 .services .service p.logo { margin: 0 auto 6px; text-align: center; }
body.gdc4 .services .service { text-align: center; }

/* ---------- articoli (colazione, biciclette, parcheggio, posizione) ---------- */
body.gdc4 article .entry-meta, body.gdc4 article .post-meta, body.gdc4 .entry-meta { display: none !important; }
body.gdc4 .g4-titolo ~ main article h1.entry-title, body.gdc4 .g4-titolo ~ main article header h1.entry-title { display: none; }
body.gdc4 article .entry-content, body.gdc4 article .entry-content p, body.gdc4 article .entry-content li { color: var(--ink) !important; }
body.gdc4 article.error404 .fa-frown-o { color: var(--ago); font-size: 56px; display: block; margin-bottom: 12px; }
body.gdc4 .boxinfo a, body.gdc4 .boxinfo a:hover, body.gdc4 .boxinfo a:focus { background: transparent !important; }
body.gdc4 #secondary .boxinfo { background: transparent !important; box-shadow: none; }
body.gdc4 .nav-single, body.gdc4 .post-navigation { margin-top: 24px; }

/* ---------- pagina prezzi ---------- */
body.gdc4 .g4-prezzi { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 6px 0 20px; }
body.gdc4 .g4-prezzo { border-radius: 22px; padding: 30px 28px 28px; display: flex; flex-direction: column; gap: 8px; min-height: 230px; }
body.gdc4 .g4-prezzo p { margin: 0; font-size: 19px; line-height: 1.45; max-width: 24ch; text-align: left; }
body.gdc4 .g4-cifra { font-family: var(--serif); font-size: clamp(64px, 8vw, 104px); line-height: .95; letter-spacing: -.02em; }
body.gdc4 .g4-prezzo-1 { background: var(--cedro-2); color: #fff; box-shadow: inset 0 0 0 3px var(--cedro-2), inset 0 0 0 5px rgba(255,255,255,.85); }
body.gdc4 .g4-prezzo-1 .g4-cifra { color: var(--giallo); }
body.gdc4 .g4-prezzo-1 p { color: #fff; }
body.gdc4 .g4-prezzo-1 a { color: var(--foglia) !important; }
body.gdc4 .g4-prezzo-2 { background: var(--ocra); color: var(--ink); }
body.gdc4 .g4-prezzo-2 .g4-cifra { color: var(--cedro); }
body.gdc4 .g4-prezzo-2 p { color: var(--ink); }
body.gdc4 .g4-regole { grid-column: 1 / -1; list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
body.gdc4 .g4-regole li { padding: 14px 0 14px 34px; border-top: 2px solid rgba(15,53,40,.2); font-size: 18px; position: relative; max-width: none; }
body.gdc4 .g4-regole li:before { content: ""; position: absolute; left: 4px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; background: var(--ago); box-shadow: 0 0 0 4px var(--nebbia), 0 0 0 6px var(--ago); }
body.gdc4 .g4-prezzi-cta { grid-column: 1 / -1; margin: 10px 0 0; }
body.gdc4 .entry-content .g4-prezzi p { max-width: 24ch; }
body.gdc4 .entry-content .g4-prezzi .g4-prezzi-cta { max-width: none; }
@media (max-width: 767px) {
	body.gdc4 .g4-prezzi { grid-template-columns: 1fr; }
	body.gdc4 .g4-regole { grid-template-columns: 1fr; }
	body.gdc4 .g4-prezzo { min-height: 0; }
}

/* ---------- telefono: il menu aperto ha un colore tutto suo (verde foglia), non si confonde con la testata ---------- */
@media (max-width: 767px) {
	body.gdc4 .navbar-collapse { background: var(--foglia) !important; border-top: 0; border-radius: 0 0 18px 18px; box-shadow: 0 18px 30px -12px rgba(14,29,22,.55); padding: 8px 6px 14px; }
	body.gdc4 .navbar-inverse .navbar-nav > li > a { color: var(--cedro) !important; background: transparent; }
	body.gdc4 .navbar-inverse .navbar-nav > li > a:hover, body.gdc4 .navbar-inverse .navbar-nav > li > a:focus { background: rgba(15,53,40,.12) !important; color: var(--cedro) !important; }
	body.gdc4 .navbar-inverse .navbar-nav > .active > a, body.gdc4 .navbar-inverse .navbar-nav > .active > a:hover { background: var(--cedro) !important; color: #fff !important; }
	body.gdc4 .navbar-inverse .navbar-nav > li:last-child > a { background: var(--cedro) !important; color: var(--giallo) !important; text-align: center; margin-top: 10px; }
}

/* correzioni: testo bianco nella targa dei 40 euro, servizi in griglia sul telefono, respiro sotto la fascia nei singoli articoli */
body.gdc4 .entry-content .g4-prezzo-1 p, body.gdc4 .g4-prezzo-1 p { color: #fff !important; }
body.gdc4 .entry-content .g4-prezzo-1 p a { color: var(--foglia) !important; }
body.gdc4 .entry-content .g4-prezzo-2 p { color: var(--ink) !important; }
body.gdc4 .g4-titolo ~ main > .container { padding-top: 52px; }
@media (max-width: 767px) {
	body.gdc4 .services { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; margin: 0; }
	body.gdc4 .services:before, body.gdc4 .services:after { display: none; }
	body.gdc4 .services .service { float: none; width: auto; padding: 10px 4px; }
}

/* telefono: contatti in fondo e menu aperto, centrati e con respiro ai lati */
@media (max-width: 767px) {
	body.gdc4 .info { padding: 40px 0 44px; }
	body.gdc4 .info .container { padding-left: 22px; padding-right: 22px; }
	body.gdc4 .info .map { float: none; width: 100%; padding: 0; margin: 0 0 26px; }
	body.gdc4 .info .map iframe { height: 260px; }
	body.gdc4 .info .contact { float: none; width: 100%; text-align: center; padding: 0 12px; }
	body.gdc4 .info .contact h4 { font-size: 28px; margin-bottom: 16px; }
	body.gdc4 .contact .textwidget { text-align: center; line-height: 2; padding: 0 8px; }
	body.gdc4 .info #wpglobus-2 .flags-styled { display: flex; justify-content: center; gap: 8px; }
	body.gdc4 .info #wpglobus-2 { margin-top: 18px; }
	body.gdc4 .navbar-collapse { padding: 14px 18px 20px; }
	body.gdc4 .navbar-inverse .navbar-nav > li > a { text-align: center; margin: 6px 0; padding: 14px 18px; }
	body.gdc4 #footer { padding: 32px 22px 96px; text-align: center; }
	body.gdc4 #footer .copyright, body.gdc4 #footer .text-right { text-align: center; float: none; width: 100%; }
	body.gdc4 #footer .pull-left { float: none !important; display: block; }
}

/* menu: il bordo della voce selezionata o toccata, morbido e dentro al pannello (niente anello giallo e nero) */
body.gdc4 .navbar-nav > li > a:focus-visible { outline: 3px solid var(--giallo); outline-offset: -3px; box-shadow: none; }
@media (max-width: 767px) {
	body.gdc4 .navbar-inverse .navbar-nav > li > a { border-radius: 16px; margin: 6px 10px; border: 2px solid transparent; }
	body.gdc4 .navbar-inverse .navbar-nav > .active > a, body.gdc4 .navbar-inverse .navbar-nav > .active > a:hover { border-color: var(--cedro); box-shadow: inset 0 0 0 2px var(--foglia); }
	body.gdc4 .navbar-nav > li > a:focus-visible { outline: 3px solid var(--cedro); outline-offset: -5px; box-shadow: none; }
	body.gdc4 .navbar-inverse .navbar-nav > li > a:active { background: rgba(15,53,40,.2) !important; }
	body.gdc4 .navbar-inverse .navbar-nav > li:last-child > a { margin-top: 12px; }
}

/* ---------- pagina I cammini ---------- */
body.gdc4 main a.btn, body.gdc4 main a.btn-primary, body.gdc4 .gdc-cta a.btn { display: inline-flex; align-items: center; min-height: 52px; padding: 12px 28px; border: 0 !important; border-radius: 999px; background: var(--cedro) !important; color: #fff !important; font-family: var(--insegna); font-weight: 700; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; box-shadow: none; transition: transform .18s cubic-bezier(.2,.8,.2,1), background .18s; }
body.gdc4 main a.btn:hover, body.gdc4 main a.btn-primary:hover, body.gdc4 .gdc-cta a.btn:hover { background: var(--ink) !important; color: #fff !important; transform: translateY(-2px); }
body.gdc4 .gdc-cta { margin: 30px 0 10px; }
body.gdc4 .gdc-intro { font-family: var(--serif); font-size: clamp(21px, 2.4vw, 28px); line-height: 1.4; color: var(--cedro); max-width: 44ch; margin-bottom: 1.2em; }
body.gdc4 .gdc-cammini h2 { margin-top: 1.6em; }
body.gdc4 .gdc-tappe { list-style: none; padding: 0; margin: 14px 0 18px; }
body.gdc4 .gdc-tappe li { padding: 14px 0 14px 34px; border-top: 2px solid rgba(15,53,40,.2); position: relative; max-width: none; }
body.gdc4 .gdc-tappe li:last-child { border-bottom: 2px solid rgba(15,53,40,.2); }
body.gdc4 .gdc-tappe li:before { content: ""; position: absolute; left: 4px; top: 24px; width: 12px; height: 12px; border-radius: 50%; background: var(--ago); box-shadow: 0 0 0 4px var(--nebbia), 0 0 0 6px var(--ago); }
body.gdc4 .gdc-griglia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 26px; margin: 28px 0; }
body.gdc4 .gdc-scheda { border-top: 4px solid var(--ago); padding: 14px 0 6px; }
body.gdc4 .gdc-scheda h3 { font-size: 22px; margin: 0 0 8px; }
body.gdc4 .gdc-scheda p { font-size: 17px; line-height: 1.5; margin: 0; }
body.gdc4 .gdc-evidenza { background: var(--ocra); border-radius: 22px; padding: 28px 30px 24px; margin: 36px 0 26px; }
body.gdc4 .gdc-evidenza h2 { color: var(--cedro); font-size: clamp(26px, 3vw, 36px) !important; }
body.gdc4 .gdc-evidenza p, body.gdc4 .gdc-evidenza li { color: var(--ink) !important; max-width: none; }
body.gdc4 .gdc-prezzo { font-family: var(--serif); font-size: 1.9em; line-height: 1; color: var(--cedro); }
body.gdc4 .gdc-evidenza ul { margin: 14px 0 4px; padding-left: 22px; }
body.gdc4 .gdc-nota { font-size: 16px; color: var(--ink); opacity: .85; }
@media (max-width: 767px) {
	body.gdc4 .gdc-griglia { grid-template-columns: 1fr; }
	body.gdc4 .gdc-evidenza { padding: 22px 20px 18px; border-radius: 18px; }
}

/* ---------- il lilla (glicine) della facciata, nel disegno ---------- */
body.gdc4 { --glicine-chiaro: #e6dbf5; --glicine-scuro: #6b4f93; }
body.gdc4 .g4-logo, body.gdc4 .g4-bb { box-shadow: 0 0 0 3px var(--cedro), 0 0 0 6px var(--glicine); }
body.gdc4 .g4-sotto { color: var(--glicine-chiaro); }
body.gdc4 .navbar-inverse .navbar-nav > .active > a, body.gdc4 .navbar-inverse .navbar-nav > .active > a:hover { background: var(--glicine) !important; color: var(--cedro) !important; }
body.gdc4 .navbar-inverse .navbar-nav > li > a:hover, body.gdc4 .navbar-inverse .navbar-nav > li > a:focus { background: rgba(205,185,232,.22) !important; }
body.gdc4 .info { border-top: 10px solid var(--glicine); }
body.gdc4 .info .contact h4 { color: var(--glicine); }
body.gdc4 .contact .textwidget i { color: var(--glicine); }
body.gdc4 .g4-titolo { box-shadow: inset 0 -8px 0 var(--glicine); }
body.gdc4 .gallery .portfolio-item a { box-shadow: 0 0 0 3px var(--nebbia), 0 0 0 5px var(--glicine); }
body.gdc4 .boxinfo img { box-shadow: 0 0 0 3px var(--nebbia), 0 0 0 5px var(--glicine-scuro); }
body.gdc4 .g4-regole li:before { background: var(--glicine-scuro); box-shadow: 0 0 0 4px var(--nebbia), 0 0 0 6px var(--glicine-scuro); }
body.gdc4 ::selection { background: var(--glicine); color: var(--ink); }
@media (max-width: 767px) {
	body.gdc4 .navbar-collapse { background: var(--glicine) !important; }
	body.gdc4 .navbar-inverse .navbar-nav > li > a:hover, body.gdc4 .navbar-inverse .navbar-nav > li > a:focus { background: rgba(15,53,40,.12) !important; }
	body.gdc4 .navbar-inverse .navbar-nav > .active > a, body.gdc4 .navbar-inverse .navbar-nav > .active > a:hover { background: var(--cedro) !important; color: #fff !important; box-shadow: inset 0 0 0 2px var(--glicine); border-color: var(--cedro); }
}

/* niente righe dritte: il lilla segue le scalotte (un secondo giro di foglie piu in basso) */
body.gdc4 .g4-titolo { box-shadow: none; }
body.gdc4 .info { border-top: 0; }
body.gdc4 .g4-titolo:before { content: ""; position: absolute; left: 0; right: 0; bottom: -30px; height: 24px; background: radial-gradient(circle at 50% 0, var(--glicine) 0 22px, transparent 23px) 0 0 / 48px 24px repeat-x; }
body.gdc4 .g4-titolo:after { z-index: 1; }

/* niente righe e vuoti sotto il testo: la riga che divideva dalla galleria sparisce, e la galleria vuota non occupa spazio */
body.gdc4 #primary article hr { display: none; }
body.gdc4 .gallery:not(:has(.portfolio-item)) { display: none; margin: 0; }
body.gdc4 #primary article { margin-bottom: 0; padding-bottom: 0; }
body.gdc4-interna #primary { padding-bottom: 0; }
body.gdc4 .entry-content > p:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
	body.gdc4-interna #secondary, body.gdc4-home #secondary { padding-top: 22px; }
	body.gdc4 #primary { margin-bottom: 0; }
}
