/* MAMMA'S BURGER — RESPONSIVE V1.6
   Desktop-first base is preserved. Mobile gets its own deliberate layout.
   Tested CSS breakpoints: tablet 900px, phone 600px.
*/
html { width:100%; overflow-x:clip; scroll-padding-top:calc(var(--header-height) + 12px); }
body { width:100%; min-width:0; overflow-x:clip; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
img, video, canvas, svg { max-width:100%; }
button, a { -webkit-tap-highlight-color:transparent; }
img { height:auto; }

/* Tablet */
@media (max-width: 1024px) {
  .site-header { padding-inline:26px; gap:18px; grid-template-columns:auto 1fr auto; }
  .brand__logo { width:128px; }
  .main-nav { gap:18px; }
  .main-nav a, .language-switch, .order-button { font-size:.72rem; }
  .order-button { padding:15px 17px; }
  .hero { grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); gap:3vw; padding-inline:4vw; }
  .hero__visual { min-height:500px; }
  .drive-in { width:min(440px,94%); }
  .hero__logo { width:min(620px,100%); }
  .menu-hero { grid-template-columns:1fr .8fr; gap:4vw; padding-inline:4vw; }
  .menu-hero__copy h1 { font-size:clamp(4.5rem,10vw,8rem); }
  .exp-hero, .contact-hero { gap:4vw; padding-inline:4vw; }
  .exp-hero__copy h1, .contact-hero h1 { font-size:clamp(4.5rem,9vw,8rem); }
  .exp-grid { gap:18px; }
  .section-shell { width:calc(100% - 52px); }
}

/* Mobile / Android / iPhone */
@media (max-width: 760px) {
  :root { --header-height:92px; }
  .site-header {
    min-height:var(--header-height);
    height:auto;
    padding:10px 18px 9px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:7px 12px;
    align-content:center;
  }
  .brand { grid-column:1; grid-row:1; }
  .brand__logo { width:132px; height:42px; }
  .header-actions { grid-column:2; grid-row:1; gap:10px; }
  .language-switch { display:inline-flex; align-items:center; justify-content:center; min-width:38px; min-height:42px; padding:10px 4px; font-size:.78rem; }
  .order-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:12px 13px; font-size:.68rem; letter-spacing:.07em; white-space:nowrap; box-shadow:3px 3px 0 var(--mamma-black); }
  .main-nav {
    display:flex !important;
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    padding:5px 0 0;
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav::-webkit-scrollbar { display:none; }
  .main-nav a { flex:0 0 auto; padding:7px 0; font-size:.66rem; letter-spacing:.07em; }
  .checker-band--top { height:7px; }
  .section-shell { width:calc(100% - 36px); }
  .eyebrow { font-size:.7rem; letter-spacing:.14em; line-height:1.3; }
  h2 { font-size:clamp(3rem,13vw,5rem); line-height:.86; }

  /* Home: intentional vertical composition; keep the product poster large. */
  .hero {
    min-height:unset;
    padding:calc(var(--header-height) + 32px) 20px 52px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
  }
  .hero__content { width:100%; max-width:none; order:1; }
  .hero__mini { font-size:.72rem; margin-bottom:15px; }
  .hero__logo { width:min(100%,540px); margin:0; }
  .hero__slogan { margin:18px 0 22px; font-size:1.05rem; line-height:1.25; }
  .hero__actions { display:flex; flex-direction:column; align-items:flex-start; gap:17px; }
  .hero__cta { min-height:48px; align-items:center; padding:16px 20px; font-size:.82rem; }
  .hero__note { font-size:1rem; }
  .hero__visual { order:2; width:100%; min-height:unset; padding:0 8px 18px 0; }
  .drive-in { width:min(100%,420px); margin:0 auto; aspect-ratio:4/4.2; padding:18px; border-width:7px; box-shadow:12px 12px 0 var(--mamma-gray); transform:rotate(1deg); }
  .hero-product-image { width:100%; height:100%; object-fit:contain; object-position:center; }
  .hero-product-logo { max-width:70%; }
  .hero::after { right:-170px; top:32%; font-size:.6rem; }
  .hero::before { width:100vw; height:100vw; left:-60vw; bottom:-35vw; }
  .retro-strip { display:grid; grid-template-columns:1fr; gap:24px; padding-top:45px; padding-bottom:45px; }
  .retro-strip__copy h2 { font-size:clamp(2.8rem,12vw,4.5rem); }
  .retro-strip__image { width:100%; min-height:220px; }
  .section-marquee { margin-block:12px; }
  .showing { padding:65px 0 72px; }
  .section-heading { display:block; margin-bottom:28px; }
  .section-heading h2 { font-size:clamp(3.2rem,14vw,5.2rem); }
  .section-heading__copy { margin-top:18px; max-width:100%; font-size:1rem; line-height:1.5; }
  .poster-grid { display:grid; grid-template-columns:1fr; gap:24px; }
  .poster-card, .poster-card:nth-child(2) { transform:none; }
  .poster-card__image { min-height:260px; }
  .poster-card__body { padding:22px; }
  .brand-story { display:grid; grid-template-columns:1fr; gap:28px; padding-top:58px; padding-bottom:70px; min-height:unset; }
  .brand-story__copy h2 { font-size:clamp(3rem,13vw,4.7rem); }
  .brand-story__character { min-height:300px; }
  .visit { min-height:unset; margin:0 18px 60px; padding:30px 24px; flex-direction:column; align-items:flex-start; gap:24px; }
  .site-footer { flex-direction:column; gap:20px; padding:30px 20px; }

  /* Menu: cinematic poster stays visible, content reads as a phone menu. */
  .menu-hero { min-height:unset; padding:calc(var(--header-height) + 40px) 20px 55px; display:flex; flex-direction:column; align-items:stretch; gap:32px; }
  .menu-hero__copy h1 { font-size:clamp(4.2rem,18vw,6.2rem); line-height:.78; margin:8px 0 22px; }
  .menu-hero__copy > p:last-child { max-width:100%; font-size:1.08rem; line-height:1.5; }
  .menu-hero__poster { width:min(100%,390px); aspect-ratio:4/4.7; border-width:7px; box-shadow:12px 12px 0 var(--mamma-gray); transform:rotate(1deg); }
  .menu-hero__poster img { width:82%; height:68%; object-fit:contain; }
  .menu-hero__poster-title { left:24px; bottom:48px; font-size:clamp(3rem,13vw,4.8rem); }
  .menu-hero__poster-meta { left:25px; right:25px; bottom:20px; font-size:.62rem; }
  .menu-board { padding:65px 0 85px; }
  .menu-board__header { display:block; margin-bottom:38px; }
  .menu-board__header h2 { font-size:clamp(3.2rem,14vw,5rem); }
  .menu-board__header > p { margin-top:20px; font-size:1rem; line-height:1.5; }
  .menu-category { margin-bottom:46px; }
  .menu-category__title { font-size:1.4rem; margin-bottom:18px; }
  .menu-poster-grid, .menu-poster-grid--three { display:grid; grid-template-columns:1fr !important; gap:22px; }
  .menu-poster { width:100%; min-width:0; transform:none !important; }
  .menu-poster__image { height:clamp(230px,72vw,340px); padding:15px; }
  .menu-poster__image img { width:100%; height:100%; object-fit:contain; object-position:center; }
  .menu-poster__info { padding:20px; }
  .menu-poster__info h3 { font-size:2rem; line-height:.95; }
  .menu-poster__info p { font-size:1rem; line-height:1.45; }
  .menu-marquee div { font-size:.75rem; }

  /* Experience: no tiny four-column cards; readable full-width feature cards. */
  .experience-page { padding-top:var(--header-height); }
  .exp-hero { min-height:unset; padding:55px 20px 65px; display:flex; flex-direction:column; align-items:stretch; gap:34px; }
  .exp-hero__copy h1 { font-size:clamp(3.7rem,16vw,5.8rem); line-height:.8; margin:8px 0 24px; }
  .exp-hero__copy > p { font-size:1.08rem; line-height:1.55; }
  .exp-poster { width:min(100%,390px); border-width:7px; box-shadow:12px 12px 0 var(--mamma-gray); transform:rotate(1deg); }
  .exp-section { padding:65px 20px; }
  .exp-section__head { display:block; margin-bottom:32px; }
  .exp-section__head h2 { font-size:clamp(3rem,13vw,4.8rem); }
  .exp-section__head p { max-width:none; font-size:1rem; line-height:1.5; margin-top:18px; }
  .exp-grid { display:grid; grid-template-columns:1fr !important; gap:22px; }
  .exp-card, .exp-card:nth-child(n) { grid-column:auto; transform:none; }
  .exp-card__image { height:clamp(230px,68vw,330px); }
  .exp-card__body { padding:22px; }
  .exp-values { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .exp-value { padding:20px 14px; }
  .exp-mission { grid-template-columns:1fr; gap:24px; }
  .exp-mission__text { font-size:clamp(2rem,8vw,3.2rem); line-height:.98; }
  .exp-photo { min-height:260px; }
  .formats-cinema { padding:65px 20px 75px; }
  .formats-cinema__head { display:block; margin-bottom:28px; }
  .formats-cinema__head h2 { font-size:clamp(3rem,13vw,4.8rem); }
  .formats-cinema__head > p { margin-top:18px; font-size:1rem; line-height:1.5; }
  .formats-cinema__grid { display:grid; grid-template-columns:1fr !important; gap:22px; }
  .format-poster, .format-poster:nth-child(n) { transform:none; }
  .format-poster__media { height:clamp(240px,72vw,340px); }
  .format-poster__info { padding:20px; }
  .format-poster__info h3 { font-size:2.2rem; }

  /* Contact: simple reading order and large tap targets. */
  .contact-page { padding-top:var(--header-height); }
  .contact-hero { min-height:unset; padding:55px 20px 65px; display:flex; flex-direction:column; align-items:stretch; gap:34px; }
  .contact-hero h1 { font-size:clamp(3.7rem,16vw,5.8rem); line-height:.8; margin:8px 0 24px; }
  .contact-hero p { font-size:1.08rem; line-height:1.55; }
  .contact-poster { width:min(100%,370px); border-width:7px; box-shadow:12px 12px 0 var(--mamma-gray); transform:rotate(1deg); }
  .contact-section { padding:60px 20px; }
  .contact-grid { display:grid; grid-template-columns:1fr !important; gap:32px; }
  .contact-section h2 { font-size:clamp(3rem,13vw,4.8rem); }
  .contact-section__intro { font-size:1.05rem; line-height:1.5; }
  .contact-cards { grid-template-columns:1fr !important; gap:16px; margin-top:28px; }
  .contact-card { min-height:145px; padding:24px; }
  .contact-card strong { font-size:1.8rem; }
  .contact-photo { max-width:430px; width:100%; margin:auto; }
  .contact-bottom { padding:35px 20px; display:flex; flex-direction:column; gap:22px; }
  .contact-bottom__icon-slot { width:100%; min-height:140px; }

  /* Floating WhatsApp stays above mobile browser controls and safe area. */
  .whatsapp-assistant { right:max(14px, env(safe-area-inset-right)); bottom:max(14px, env(safe-area-inset-bottom)); z-index:9999; }
  .whatsapp-assistant__label { display:none; }
  .whatsapp-assistant__button { width:58px; height:58px; box-shadow:4px 4px 0 var(--mamma-black); }
  .whatsapp-assistant__dot { right:2px; top:2px; }
  .checker-band--bottom { height:8px; }
}

/* Small phones */
@media (max-width: 390px) {
  :root { --header-height:88px; }
  .site-header { padding-inline:12px; }
  .brand__logo { width:112px; }
  .header-actions { gap:5px; }
  .order-button { padding:11px 9px; font-size:.61rem; letter-spacing:.04em; }
  .main-nav { gap:7px; }
  .main-nav a { font-size:.59rem; letter-spacing:.04em; }
  .hero { padding-inline:16px; }
  .section-shell { width:calc(100% - 30px); }
  .menu-hero, .exp-hero, .contact-hero { padding-inline:16px; }
  .exp-section, .contact-section { padding-inline:16px; }
}

/* Landscape phone: don't make the header/hero consume the entire screen. */
@media (max-width: 900px) and (orientation:landscape) {
  .hero { padding-top:calc(var(--header-height) + 24px); }
  .hero__visual { min-height:unset; }
  .drive-in { max-width:340px; }
}

/* Respect reduced-motion settings on phones and desktops. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Green Mamma: official $0 burger conversion option */
.green-mamma-note{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.5rem 0 2.5rem;padding:1.5rem 1.75rem;border:1px solid rgba(181,31,42,.22);border-radius:18px;background:linear-gradient(110deg,#f4ead8,#fffaf1);box-shadow:0 10px 28px rgba(30,20,12,.06)}
.green-mamma-note__eyebrow{display:block;color:#b51f2a;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.green-mamma-note h3{margin:.25rem 0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.1}
.green-mamma-note p{margin:.35rem 0 0;max-width:42rem}
.green-mamma-note>strong{flex:0 0 auto;color:#b51f2a;font-size:2rem;white-space:nowrap}
.green-mamma-note>strong small{display:block;font-size:.65rem;letter-spacing:.12em;text-align:center}
@media(max-width:600px){.green-mamma-note{align-items:flex-start;padding:1.1rem;gap:.75rem}.green-mamma-note>strong{font-size:1.5rem}}
