/* ==========================================================================
   Pagina Sardegna — stesse misure (clamp) del sito attuale
   ========================================================================== */
.sg-pagina { --sg-verde: #4f653b; --sg-bordo: rgba(79, 101, 59, .22); width: 100vw; margin-left: calc(50% - 50vw); padding-inline: clamp(14px, 2.6vw, 30px); display: grid; gap: 0; position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(232, 239, 225, .9) 0%, rgba(248, 250, 244, .9) 62%); }
.sg-pagina > * + * { margin-top: clamp(20px, 3.2vw, 34px); }
.sg-pagina > * { position: relative; z-index: 1; }

.sg-hero { position: relative; overflow: hidden; padding: clamp(26px, 4.4vw, 56px) clamp(18px, 6.8vw, 96px); width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.sg-hero > * { position: relative; z-index: 2; }
.sg-kicker, .sg-hero__sopra { display: inline-block; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; font-weight: 700; color: var(--sg-verde); margin: 0 0 12px; }
.sg-hero__sopra { font-size: 17.92px; line-height: 28.672px; letter-spacing: 1.4336px; color: #2d3a27; margin: 0; }
.sg-hero h2 { margin: 0 0 12px; max-width: 18ch; font: 400 clamp(1.9rem, 4vw, 3rem)/1.08 var(--f-serif); color: #1b2615; text-transform: capitalize; }
.sg-hero > p:not(.sg-hero__sopra) { max-width: 64ch; margin: 0; color: #2d3a27; font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.6; }
.sg-hero__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sg-btn { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 36px; border: 1px solid; color: #fff; font: 600 14px/17.5px var(--f-ui); text-transform: uppercase; }
.sg-btn span { position: relative; z-index: 2; }
.sg-btn::after { content: ""; position: absolute; inset: 0; transform: translateX(-102%); transition: transform .32s ease; z-index: 1; }
.sg-btn:hover::after, .sg-btn:focus::after { transform: none; }
.sg-btn:hover { color: #fff; }
.sg-btn--primario { background: #4f653b; border-color: #4f653b; } .sg-btn--primario::after { background: #3f5331; }
.sg-btn--secondario { background: #769359; border-color: #769359; font-weight: 700; } .sg-btn--secondario::after { background: #68824e; }

.sg-hero__galleria { position: absolute; right: clamp(22px, 4vw, 86px); top: clamp(18px, 3vw, 44px); width: clamp(340px, 40vw, 660px); height: clamp(220px, 24vw, 380px); overflow: hidden; z-index: 1; background: rgba(255, 255, 255, .16); }
.sg-hero__galleria::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(248, 250, 244, .2), rgba(248, 250, 244, .04)); pointer-events: none; }
.sg-hero__galleria img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s ease; }
.sg-hero__galleria img.attiva { opacity: 1; }

.sg-stat { display: grid; gap: clamp(16px, 2.5vw, 30px); grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(1020px, 100%); margin: clamp(20px, 3vw, 36px) auto 0; padding: clamp(14px, 2vw, 24px) 0 0; justify-items: center; }
.sg-stat article { text-align: center; width: 100%; }
.sg-stat__valore { display: block; margin-bottom: 8px; font: 400 clamp(2.2rem, 4.2vw, 3.3rem)/.95 var(--f-serif); color: #48653f; }
.sg-stat__etichetta { display: block; max-width: 18ch; margin-inline: auto; font-size: clamp(1.02rem, 1.65vw, 1.45rem); line-height: 1.2; color: #4f653b; font-weight: 500; }

.sg-split { display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; background: rgba(255, 255, 255, .82); border: 1px solid var(--sg-bordo); overflow: hidden; }
.sg-split--inverso { grid-template-columns: .95fr 1.05fr; }
.sg-split--inverso .sg-split__testo { order: 2; } .sg-split--inverso .sg-split__foto { order: 1; }
.sg-split__testo { padding: clamp(18px, 2.8vw, 30px); display: flex; flex-direction: column; justify-content: center; }
.sg-split__testo h3, .sg-contatto__info h3 { margin: 0 0 10px; font: 400 clamp(1.45rem, 2.7vw, 2rem)/1.2 var(--f-serif); color: #1f2d18; text-transform: capitalize; }
.sg-split__testo p { margin: 0 0 10px; color: #32402c; }
.sg-split__testo ul { margin: 0; padding-left: 18px; list-style: disc; }
.sg-split__testo li:not(:last-child) { padding-bottom: 10px; }
.sg-split__testo li { margin-bottom: 10px; color: #303d2a; line-height: 32.4px; }
.sg-split__foto { position: relative; overflow: hidden; min-height: clamp(260px, 30vw, 400px); height: 100%; margin: 0; }
.sg-split__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20, 30, 16, .26), transparent 55%); pointer-events: none; }
.sg-split__foto img { width: 100%; height: 100%; display: block; object-fit: cover; }

.sg-fascia { background: linear-gradient(140deg, rgba(235, 242, 230, .84) 0%, rgba(248, 250, 246, .84) 100%); border: 1px solid var(--sg-bordo); padding: clamp(20px, 3vw, 34px); display: grid; grid-template-columns: 1fr; gap: 16px; }
.sg-fascia__testo h3 { margin: 0 0 10px; font: 400 clamp(1.4rem, 2.6vw, 1.9rem)/1.2 var(--f-serif); color: #1f2f19; text-transform: capitalize; }
.sg-fascia__testo p { margin: 0; color: #31402b; }
.sg-fascia__tag { display: flex; flex-wrap: wrap; gap: 10px; }
.sg-fascia__tag span { border-radius: var(--r); padding: 8px 14px; border: 1px solid rgba(79, 101, 59, .3); background: rgba(255, 255, 255, .8); color: #2d3b27; font-size: .9rem; font-weight: 600; line-height: 1.6; }

.sg-contatto { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(16px, 2.5vw, 26px); }
.sg-contatto__info { background: rgba(255, 255, 255, .86); border: 1px solid var(--sg-bordo); padding: clamp(18px, 2.8vw, 30px); }
.sg-contatto__info p { margin: 0 0 10px; color: #32402c; font-weight: 700; }
.sg-contatto__info p.sg-contatto__nota { margin-top: 10px; font-style: italic; font-weight: 400; }
.sg-contatto__mappa { overflow: hidden; min-height: clamp(280px, 32vw, 420px); border: 1px solid var(--sg-bordo); background: #dce7d2; }
.sg-contatto__mappa iframe { width: 100%; height: 100%; border: 0; display: block; }

.sg-modulo { margin-bottom: clamp(22px, 3.5vw, 50px); }
.sg-modulo .modulo-cornice { max-width: 1152px; }
.sg-modulo .campo.largo:last-child { margin-top: 10px; }
.sg-modulo .btn { text-transform: uppercase; }
.sg-modulo textarea { resize: none; }

@media (max-width: 1024px) { .sg-split, .sg-split--inverso, .sg-contatto { grid-template-columns: 1fr; } .sg-split--inverso .sg-split__testo, .sg-split--inverso .sg-split__foto { order: initial; } }
@media (max-width: 767px) {
  .sg-hero__sopra { font-size: 16px; line-height: 25.6px; letter-spacing: 1.28px; }
  .sg-hero h2 { font-size: 27.2px; line-height: 29.376px; }
  .sg-hero__azioni { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 32px; }
  .sg-btn { height: 45px; padding: 0; font-size: 12px; line-height: 15px; }
  .sg-split__testo li { line-height: 28.8px; }
  .sg-modulo { margin-bottom: 26px; }
  .sg-modulo .modulo-cornice { max-width: none; margin: 0 8px; }
  .sg-modulo .modulo-cornice::before { display: none; }
  .sg-modulo .modulo-scheda { border-color: rgba(79, 101, 59, .22); }
  .sg-pagina { padding-inline: 12px; }
  .sg-hero { padding-right: clamp(16px, 5vw, 22px); }
  .sg-stat { gap: 8px; } .sg-stat__valore { font-size: 1.5rem; margin-bottom: 4px; } .sg-stat__etichetta { font-size: .75rem; }
  .sg-hero__galleria { position: relative; right: auto; top: auto; width: 100%; height: clamp(190px, 52vw, 260px); margin-top: 16px; }
}
