/* Valle del Celone Experience: stessi colori del sito (verde bosco, crema), pensato prima per il telefono. */
:root { --ex-verde: #1b4332; --ex-crema: #fdf9df; --ex-arancio: #9a5519; --ex-tenue: #55605a; --ex-raggio: 18px; }
body.gex-sito:not(.home) { background: var(--ex-crema); }
body.gex-sito:not(.home) .site-main { max-width: 1100px; margin-inline: auto; padding-inline: 16px; }
body.gex-sito .page-header .entry-title, body.gex-sito h1.entry-title { font: 800 clamp(1.8rem, 1.3rem + 2.4vw, 3rem)/1.12 Inter, system-ui, sans-serif; color: var(--ex-verde); margin: 1.6rem 0 .8rem; }
body.gex-sito:not(.home) .page-content, body.gex-sito:not(.home) .entry-content { font: 400 1.05rem/1.7 Inter, system-ui, sans-serif; color: #23302a; }
body.gex-sito:not(.home) .page-content h2 { font: 800 1.5rem/1.25 Inter, system-ui, sans-serif; color: var(--ex-verde); margin: 2rem 0 .7rem; }
body.gex-sito:not(.home) .page-content a:not(.gex-btn):not(.gex-card) { color: var(--ex-verde); text-decoration: underline; text-underline-offset: 3px; }

.gex { font-family: Inter, system-ui, sans-serif; }
.gex *, .gex *::before, .gex *::after { box-sizing: border-box; }
.gex-occhiello { color: var(--ex-arancio); font: 800 .74rem/1.4 Inter, system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 .3rem; }
.gex-fig { margin: 0; }
.gex-fig img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ex-raggio); }
.gex-fig figcaption { font-size: .78rem; color: var(--ex-tenue); margin-top: .35rem; }
.gex-borghi { display: grid; gap: 2.2rem; margin: 1rem 0 2rem; }
.gex-borgo { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; align-items: center; background: #fff; border-radius: 24px; padding: 1rem; box-shadow: 0 8px 26px rgba(27, 67, 50, .08); }
.gex-borgo:nth-child(even) .gex-fig { order: 2; }
.gex-borgo h2 { margin-top: 0 !important; }
.gex-borgo__testo { padding: .4rem .6rem; }
@media (max-width: 760px) { .gex-borgo { grid-template-columns: 1fr; } .gex-borgo:nth-child(even) .gex-fig { order: 0; } }
.gex-azioni { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.2rem 0; }
body .gex a.gex-btn, body .entry-content a.gex-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .65rem 1.3rem; border-radius: 999px; background: var(--ex-verde); color: #fff !important;
	font: 700 .95rem/1.2 Inter, system-ui, sans-serif; text-decoration: none !important; transition: background-color .2s; }
body .gex a.gex-btn:hover, body .gex a.gex-btn:focus-visible { background: var(--ex-arancio); }
.gex a:focus-visible { outline: 3px solid var(--ex-arancio); outline-offset: 2px; }
.gex-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 1rem; margin: 1rem 0; }
body .gex a.gex-card { display: flex; flex-direction: column; gap: .35rem; background: #fff; border-radius: var(--ex-raggio); padding: 1.1rem 1.2rem; text-decoration: none !important; color: #4a5a52 !important;
	box-shadow: 0 6px 20px rgba(27, 67, 50, .07); border-top: 4px solid var(--ex-verde); font-size: .93rem; line-height: 1.45; transition: transform .2s, box-shadow .2s; }
body .gex a.gex-card strong { color: var(--ex-verde); font-size: 1.08rem; font-weight: 800; }
body .gex a.gex-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(27, 67, 50, .13); }
.gex-racconto { background: #fff; border-radius: var(--ex-raggio); overflow: hidden; box-shadow: 0 6px 20px rgba(27, 67, 50, .07); }
.gex-racconto a { display: block; text-decoration: none !important; color: inherit !important; }
.gex-racconto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gex-racconto h3 { font: 800 1.15rem/1.25 Inter, system-ui, sans-serif; color: var(--ex-verde); margin: .9rem 1.1rem .3rem; }
.gex-racconto p { margin: 0 1.1rem 1.1rem; font-size: .92rem; color: #4a5a52; }
.gex-nota { font-size: .9rem; color: var(--ex-tenue); background: rgba(154, 85, 25, .08); border-radius: 12px; padding: .8rem 1rem; }
.gex-box { background: var(--ex-verde); color: #fff; border-radius: var(--ex-raggio); padding: 1.2rem 1.4rem; margin: 2rem 0 1rem; }
.gex-box p { margin: 0 0 .6rem; }
body .gex .gex-box a.gex-btn { background: #fff; color: var(--ex-verde) !important; }
.gex-fonti { font-size: .8rem; color: var(--ex-tenue); border-top: 1px solid #e6dfbf; padding-top: .8rem; }
.gex-pnrr { background: #fff; border-left: 4px solid #003399; border-radius: 0 var(--ex-raggio) var(--ex-raggio) 0; padding: 1rem 1.2rem; margin: 2rem 0; }
.gex-pnrr p { margin: .2rem 0; }
@media (prefers-reduced-motion: reduce) { body .gex a.gex-card, body .gex a.gex-btn { transition: none; } body .gex a.gex-card:hover { transform: none; } }
