/* ÁGAPE | rifiniture finali: 5 proposte, CTA Instagram, orari integrati. */
:root {--premium-black:#101012;--premium-bordeaux:#70243b;--premium-champagne:#cba78e;--premium-cream:#f8f4ef;}
/* La proposta dolci viene eliminata: una griglia equilibrata 3 + 2. */
.menu-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 22px;align-items:stretch}
.menu-grid>.menu-tile{grid-column:span 2;min-width:0;display:flex;flex-direction:column}
.menu-grid>.menu-tile:nth-child(n+4){grid-column:span 3}
.menu-grid>.menu-tile>img{height:285px;flex:none;object-fit:cover}
.menu-grid>.menu-tile:nth-child(n+4)>img{height:305px}
.menu-grid>.menu-tile>div{flex:1;min-height:151px}
.menu-tile h3{font-size:clamp(27px,2.65vw,38px)}
/* Instagram becomes a compact transition, integrated into the dark contact area. */
.contact{padding-top:clamp(85px,8vw,125px)}
.instagram-bridge{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:clamp(30px,5vw,85px);align-items:center;border-bottom:1px solid rgba(232,208,190,.27);padding-bottom:clamp(55px,6vw,85px);margin-bottom:clamp(65px,7vw,110px)}
.instagram-bridge-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(43px,4.5vw,72px);line-height:1.06;letter-spacing:-.05em;margin:0 0 14px;color:#faf3ed;font-weight:400}
.instagram-bridge-heading h2 em{font-weight:400;color:#d2ab91}
.instagram-bridge-heading>p:last-child{font-size:14px;line-height:1.8;color:#cdbab0;max-width:490px;margin:0}
.instagram-overline{display:flex;gap:12px;align-items:center;color:#e4c5b4;font-size:10px;font-weight:700;letter-spacing:.19em;margin:0 0 28px}
.ig-line{display:inline-block;width:30px;height:1px;background:#a96877}
.instagram-link-card{display:flex;gap:16px;align-items:center;min-height:142px;padding:26px clamp(20px,3vw,42px);border:1px solid rgba(203,167,142,.5);background:linear-gradient(113deg,#2d1b22 0%,#211b1f 65%,#171618 100%);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.instagram-link-card:hover{transform:translateY(-4px);border-color:#d5a888;box-shadow:0 15px 45px #0004}
.ig-symbol{flex:none;position:relative;display:grid;place-items:center;width:42px;height:42px;border:2px solid #d3aa90;border-radius:12px}
.ig-symbol::before{content:'';position:absolute;width:17px;height:17px;border:2px solid #d3aa90;border-radius:50%}
.ig-symbol::after{content:'';position:absolute;width:5px;height:5px;background:#d3aa90;border-radius:50%;right:7px;top:7px}
.instagram-link-text{display:flex;flex-direction:column;gap:10px;min-width:0}
.instagram-link-text small{font-size:9px;letter-spacing:.17em;color:#d8bda9;font-weight:700}
.instagram-link-text strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(16px,2vw,27px);letter-spacing:-.02em;overflow-wrap:anywhere;color:#fff7f0}
.ig-arrow{font-size:27px;color:#d3aa90;margin-left:auto;flex:none;align-self:flex-start;line-height:1}
/* Hours sit between the primary footer and legal copy: 2-column editorial frame. */
.footer-top{padding-bottom:40px;align-items:center}
.footer-hours{display:grid;grid-template-columns:minmax(215px,.77fr) minmax(0,1.23fr);gap:clamp(35px,7vw,115px);padding:45px 0 48px;border-bottom:1px solid rgba(235,213,199,.25);align-items:start}
.footer-hours-label{font-weight:700;font-size:10px;letter-spacing:.18em;color:#d4ad93;margin:0 0 20px}
.footer-hours-label span{padding-left:9px;color:#70243b}
.footer-hours-intro h2{font-size:clamp(36px,3.8vw,56px);letter-spacing:-.04em;line-height:1.07;color:#faf2eb;font-weight:400;margin:0 0 13px}
.footer-hours-intro h2 em{color:#d8b49c;font-weight:400}
.footer-hours-intro>p:last-child{font-size:12px;color:#cbbab0;line-height:1.6;margin:0}
.hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin:0}
.hours-day{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(232,213,205,.17);min-width:0}
.hours-day dt{font-size:12px;letter-spacing:.015em;color:#f1e5db}
.hours-day dd{margin:0;color:#e1bba0;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.hours-day.is-closed dt,.hours-day.is-closed dd{color:#ae8e92}
.footer-bottom{padding-top:30px}
@media(max-width:1100px){
.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.menu-grid>.menu-tile,.menu-grid>.menu-tile:nth-child(n+4){grid-column:auto}
.menu-grid>.menu-tile:nth-child(5){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.menu-grid>.menu-tile:nth-child(5)>img{height:100%;min-height:250px}
.instagram-bridge{grid-template-columns:minmax(0,1fr) minmax(285px,.95fr);gap:26px}
.footer-hours{grid-template-columns:.75fr 1.25fr;gap:38px}
.hours-grid{gap:0 22px}
}
@media(max-width:850px){
.instagram-bridge{grid-template-columns:1fr;gap:26px}
.instagram-link-card{min-height:117px}
.footer-hours{grid-template-columns:1fr;gap:24px}
}
@media(max-width:590px){
.menu-grid{grid-template-columns:1fr;gap:16px}
.menu-grid>.menu-tile:nth-child(5){grid-column:auto;display:flex;flex-direction:column}
.menu-grid>.menu-tile>img,.menu-grid>.menu-tile:nth-child(n+4)>img,.menu-grid>.menu-tile:nth-child(5)>img{height:245px;min-height:0}
.menu-grid>.menu-tile>div{min-height:auto}
.contact{padding-top:80px}
.instagram-bridge{padding-bottom:53px;margin-bottom:67px}
.instagram-bridge-heading h2{font-size:clamp(40px,10.6vw,56px)}
.instagram-bridge-heading>p:last-child{font-size:13px}
.instagram-link-card{padding:21px 17px;min-height:99px;gap:12px}
.ig-symbol{width:33px;height:33px;border-radius:9px}
.ig-symbol::before{width:13px;height:13px}
.ig-symbol::after{width:4px;height:4px;top:5px;right:5px}
.instagram-link-text strong{font-size:18px}
.instagram-link-text small{font-size:8px}
.ig-arrow{font-size:23px}
.footer-hours{padding-top:33px;padding-bottom:34px}
.hours-grid{grid-template-columns:1fr}
.hours-day{padding:10px 0}
.footer-hours-intro h2{font-size:44px}
}
@media(prefers-reduced-motion:reduce){.instagram-link-card{transition:none}}


/* Ultimo passaggio: label pulite senza numerazioni, titoli più essenziali. */
.intro-facts strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(20px,2.15vw,31px);letter-spacing:-.035em;white-space:nowrap}
.intro-facts span{letter-spacing:.105em;line-height:1.45}
#contact-title{max-width:720px;letter-spacing:-.052em}
@media(max-width:590px){.intro-facts{gap:9px}.intro-facts strong{font-size:clamp(16px,5.3vw,23px)}.intro-facts span{font-size:7px}#contact-title{font-size:clamp(50px,13vw,69px);line-height:1.08}}

/* La targhetta foto resta entro il viewport anche su telefoni molto stretti. */
@media(max-width:590px){.photo-corner{right:0}}

/* Colazione salata: terza fotografia aggiunta mantenendo la stessa griglia e altezza del collage. */
.breakfast-collage{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
.breakfast-collage .brk-main{grid-column:1;grid-row:1 / span 2;min-height:0}
.breakfast-collage .brk-side{grid-column:2;grid-row:1;min-height:0}
.breakfast-collage .brk-savory{grid-column:2;grid-row:2;min-height:0;object-fit:cover;object-position:center center}
.breakfast-collage .brk-sticker{z-index:2}


/* 28/10/2026 — SOLO sezione caffetteria: mosaico fotografico allineato.
   Le immagini sono incorniciate, per evitare che l'altezza intrinseca della foto
   salata crei una terza riga o vada oltre il bordo della sezione. */
.breakfast-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(42px,6vw,100px);align-items:center}
.breakfast-collage{display:grid;height:clamp(495px,44vw,650px);width:100%;min-width:0;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;justify-items:stretch}
.breakfast-collage .brk-frame{position:relative;overflow:hidden;min-width:0;min-height:0;isolation:isolate;background:#e9ded4}
.breakfast-collage .brk-frame>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;min-width:0;min-height:0;object-fit:cover;object-position:center center}
.breakfast-collage .brk-frame.brk-main{grid-column:1;grid-row:1 / 3}
.breakfast-collage .brk-frame.brk-side{grid-column:2;grid-row:1 / 2}
.breakfast-collage .brk-frame.brk-savory{grid-column:2;grid-row:2 / 3}
.breakfast-collage .brk-main img{object-position:center 43%}
.breakfast-collage .brk-side img{object-position:center 52%}
.breakfast-collage .brk-savory img{object-position:center 50%}
.breakfast-collage .brk-sticker{left:18px;bottom:18px;z-index:3;padding:18px 20px;box-shadow:0 12px 30px rgba(0,0,0,.15)}
@media(max-width:850px){
  .breakfast-grid{grid-template-columns:1fr;gap:45px}
  .breakfast-collage{height:clamp(425px,65vw,580px);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
}
@media(max-width:590px){
  .breakfast-grid{gap:35px}
  .breakfast-collage{height:420px;gap:7px;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
  .breakfast-collage .brk-sticker{left:9px;bottom:9px;padding:11px 13px;font-size:8px;gap:8px}
  .breakfast-collage .brk-sticker b{font-size:20px}
}

/* Legal pages: preference controls and accessible banner dismiss */
.policy-inline-button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0;}
.policy-inline-button:hover,.policy-inline-button:focus-visible{color:#70243b;}
.consent-banner{padding-right:34px;}
.consent-banner .consent-close{position:absolute;right:13px;top:10px;width:27px;height:27px;border:1px solid #c5b8b0;background:transparent;color:#351521;font-size:22px;line-height:1;cursor:pointer;}
.consent-banner .consent-close:hover,.consent-banner .consent-close:focus-visible{outline:2px solid #70243b;outline-offset:2px;}
.policy-page .footer-legal button{cursor:pointer;}
