/* ==========================================================================
   Pasticceria Testa — pagine interne: Chi siamo, Contattaci, Condizioni d'acquisto
   ========================================================================== */

/* 1. Apertura con foto (Chi siamo) ----------------------------------------- */
.pt-apertura__griglia{display:grid;gap:var(--space-12);align-items:center}
@media (min-width:768px){.pt-apertura__griglia{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(var(--space-12),6vw,var(--space-28))}}
.pt-apertura__titolo{font-size:var(--fs-display);line-height:1;letter-spacing:-.02em}
.pt-apertura--semplice .pt-apertura__titolo{font-size:var(--fs-h1);line-height:1.05}
.pt-apertura__frase{max-width:30ch;margin:var(--space-8) 0 0;font:400 clamp(1.375rem,1.2rem + .8vw,1.75rem)/1.45 var(--font-serif)}
.pt-apertura__foto{position:relative;max-width:520px;width:100%;justify-self:end}
.pt-apertura__foto .pt-sigillo{position:absolute;left:var(--space-3);bottom:calc(-1 * var(--space-8));background:var(--tortora-100);border-radius:var(--radius-tondo)}
@media (min-width:768px){.pt-apertura__foto .pt-sigillo{left:calc(-1 * var(--space-8))}}

/* 2. Racconto ---------------------------------------------------------------- */
.pt-racconto{padding-top:0}
.pt-racconto__griglia{display:grid;gap:var(--space-12)}
@media (min-width:1080px){.pt-racconto__griglia{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--space-28);align-items:start}}
.pt-racconto__testo{max-width:var(--container-testo);font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem)}
.pt-racconto__testo>p:first-child::first-letter{float:left;margin:.08em .12em 0 0;font:400 4.2em/.8 var(--font-serif);color:var(--oro-800)}
.pt-racconto__testo strong{font-weight:500}
.pt-racconto__foto{display:none}
@media (min-width:1080px){.pt-racconto__foto{display:block;position:sticky;top:calc(var(--altezza-testata) + var(--space-8))}}
.pt-evidenza-testo{margin:var(--space-12) 0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:var(--filetto) solid var(--oro-600)}
.pt-evidenza-testo p{margin:0;font:400 clamp(1.5rem,1.3rem + .9vw,2rem)/1.35 var(--font-serif);text-wrap:balance}
.pt-evidenza-testo em{color:var(--oro-800)}
.pt-obiettivo{margin-top:var(--space-12);padding:clamp(var(--space-8),5vw,var(--space-12));background:var(--nero);color:var(--avorio);text-align:center;position:relative}
.pt-obiettivo::after{content:"";position:absolute;inset:var(--space-3);border:var(--filetto) solid var(--oro-300);outline:var(--filetto) solid var(--oro-300);outline-offset:-5px;pointer-events:none}
.pt-obiettivo .pt-obiettivo__etichetta{margin:0 0 var(--space-4);font:500 .75rem/1.4 var(--font-sans);letter-spacing:.28em;text-transform:uppercase;color:var(--oro-300)}
.pt-obiettivo p{margin:0;font:400 clamp(1.25rem,1.1rem + .7vw,1.625rem)/1.5 var(--font-serif);text-wrap:balance}

/* 3. Staff ---------------------------------------------------------------- */
.pt-staff__griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12) var(--space-6);list-style:none;margin:0;padding:0}
@media (min-width:768px){.pt-staff__griglia{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-12) var(--space-8)}}
@media (min-width:1080px){.pt-staff__griglia{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pt-persona{display:flex;flex-direction:column;gap:var(--space-2)}
.pt-persona__foto{position:relative;display:grid;place-items:center;aspect-ratio:3/4;margin:0 0 var(--space-2);background:var(--tortora-400);overflow:hidden}
.pt-persona__foto img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.pt-persona__foto::after{content:"";position:absolute;inset:var(--space-3);border:var(--filetto) solid var(--avorio);outline:var(--filetto) solid var(--avorio);outline-offset:-5px;opacity:.85;pointer-events:none}
.pt-persona__iniziali{font:400 clamp(3rem,2rem + 4vw,4.5rem)/1 var(--font-serif);color:var(--nero)}
.pt-persona__ruolo{margin:0;font:500 .6875rem/1.4 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--oro-800)}
.pt-persona__nome{margin:0;font-size:var(--fs-h4)}
.pt-persona__frase{margin:0;font-size:var(--fs-small);color:var(--tortora-700)}

/* 4. Invito a passare --------------------------------------------------------- */
.pt-visita__griglia{display:grid;gap:var(--space-12)}
@media (min-width:768px){.pt-visita__griglia{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}}
.pt-visita__orari-titolo{margin:0 0 var(--space-4);font:500 .75rem/1.4 var(--font-sans);letter-spacing:.24em;text-transform:uppercase}
.pt-visita .pt-orari{max-width:none}

/* 5. Contattaci ------------------------------------------------------------- */
.pt-contatti{padding-top:0}
.pt-contatti__griglia{display:grid;gap:var(--space-18) var(--space-12)}
@media (min-width:1080px){.pt-contatti__griglia{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.pt-recapiti{display:grid;gap:var(--space-8)}
.pt-recapito{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--space-4);padding-top:var(--space-6);border-top:var(--filetto) solid var(--tortora-300)}
.pt-recapito>svg{color:var(--oro-600);margin-top:2px}
.pt-recapito h2{margin:0 0 var(--space-2);font:500 .75rem/1.4 var(--font-sans);letter-spacing:.24em;text-transform:uppercase}
.pt-recapito p{margin:0 0 var(--space-3)}
.pt-recapito__grande{font:400 clamp(1.625rem,1.4rem + 1vw,2.125rem)/1.2 var(--font-serif);text-decoration:none;font-variant-numeric:lining-nums}
.pt-recapito__grande:hover{color:var(--oro-800)}
.pt-recapito .pt-orari{max-width:none}
.pt-modulo{padding:clamp(var(--space-6),4vw,var(--space-12));background:var(--avorio)}
.pt-modulo__titolo{margin:0 0 var(--space-8);font-size:var(--fs-h3);font-weight:400}
.pt-modulo .pt-esito{margin-bottom:var(--space-6)}
.pt-modulo__campi{display:grid;gap:var(--space-6)}
@media (min-width:640px){.pt-modulo__campi{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-campo--intero{grid-column:1/-1}}
.pt-campo textarea{min-height:160px;resize:vertical}
.pt-campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--nero) 50%),linear-gradient(135deg,var(--nero) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:var(--space-12)}
.pt-consenso{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--space-3);align-items:start;font-size:var(--fs-small);line-height:1.5}
.pt-consenso input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--nero)}
.pt-consenso a{color:var(--oro-800)}
.pt-modulo__trappola{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 6. Mappa caricata al clic ------------------------------------------------- */
.pt-mappa__riquadro{position:relative;min-height:min(70svh,560px);background:var(--nero)}
.pt-mappa__riquadro iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) sepia(.15)}
.pt-mappa__invito{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-12) var(--gutter);text-align:center;background:radial-gradient(circle at 50% 50%,var(--tortora-900),var(--nero) 70%)}
.pt-mappa__invito .pt-occhiello{color:var(--oro-300)}
.pt-mappa__invito .pt-occhiello::before{border-color:var(--oro-300)}
.pt-mappa__indirizzo{margin:0;font:400 var(--fs-h2)/1.15 var(--font-serif);color:var(--avorio);text-wrap:balance}
.pt-mappa__invito .pt-azioni{justify-content:center;margin-top:var(--space-4)}
.pt-mappa__nota{max-width:46ch;margin:0;font-size:var(--fs-small);color:var(--tortora-300)}
.pt-mappa__riquadro.is-caricata .pt-mappa__invito{display:none}

/* 7. Condizioni d'acquisto: indice laterale ---------------------------------- */
.pt-condizioni{display:grid;gap:var(--space-12)}
@media (min-width:1080px){.pt-condizioni{grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--space-18);align-items:start}}
.pt-indice{padding:var(--space-6);background:var(--avorio)}
@media (min-width:1080px){.pt-indice{position:sticky;top:calc(var(--altezza-testata) + var(--space-8))}}
.pt-indice__titolo{margin:0 0 var(--space-4);font:500 .75rem/1.4 var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--oro-800)}
.pt-indice ol{margin:0;padding:0;list-style:none;counter-reset:pt-indice;display:grid;gap:var(--space-1)}
.pt-indice li{counter-increment:pt-indice}
.pt-indice a{display:flex;gap:var(--space-3);align-items:baseline;min-height:36px;padding-block:var(--space-1);color:var(--nero);text-decoration:none;font-size:.9375rem}
.pt-indice a::before{content:counter(pt-indice,decimal-leading-zero);font:500 .75rem/1 var(--font-sans);color:var(--tortora-700);font-variant-numeric:tabular-nums}
.pt-indice a:hover{color:var(--oro-800)}
.pt-condizioni__testo{max-width:var(--container-testo)}
.pt-condizioni__testo h2{scroll-margin-top:calc(var(--altezza-testata) + var(--space-6));padding-top:var(--space-6);border-top:var(--filetto) solid var(--tortora-300)}
.pt-condizioni__testo h2:first-of-type{margin-top:0}
