/* Mamma's Burger V2.6 — hard fixes for popup, mini-player, experience/contact and checker decoration */
:root{--mb-radius:22px;--mb-radius-sm:14px}
html{scroll-behavior:smooth}
body{overflow-x:clip}

/* Keep checkerboard decorative only, inside its own band/section. */
.checker-band--top,.checker-band--bottom{position:relative;z-index:2;display:block;width:100%;max-width:100%;overflow:hidden;pointer-events:none}
.checker-band--top{height:8px}
.checker-band--bottom{height:9px}
.exp-hero,.contact-hero{overflow:hidden;isolation:isolate}
.exp-hero::after,.contact-hero::after{pointer-events:none;z-index:0;right:-90px;bottom:-90px;opacity:.2;clip-path:inset(0 round 24px)}
.contact-cta::before,.contact-cta::after{pointer-events:none;opacity:.14}
.checker-strip{position:absolute;top:0;left:0;right:0;height:8px;z-index:0;pointer-events:none;opacity:.9;overflow:hidden}
.contact-bottom{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--mb-radius);margin:0 clamp(16px,5vw,72px) 64px;padding:clamp(30px,5vw,72px);background:#151312;color:#fff;display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.contact-bottom__icon-slot{position:relative;z-index:1;min-height:120px;border:1px dashed #ffffff50;border-radius:18px;display:grid;place-content:center;gap:8px;text-align:center;padding:18px;color:#fff}
.contact-bottom>div:not(.checker-strip){position:relative;z-index:1}
.contact-bottom h2{margin:10px 0 0;font-size:clamp(2.6rem,6.5vw,6rem);line-height:.88;letter-spacing:-.04em;overflow-wrap:anywhere}
.contact-bottom .eyebrow{color:#ef6a6a}

/* EXA trigger must remain a real clickable button, without browser button chrome. */
.sponsor-exa-trigger{appearance:none;-webkit-appearance:none;border:0!important;outline-offset:5px;background:transparent!important;box-shadow:none!important;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:8px;cursor:pointer;position:relative;z-index:5}
.sponsor-exa-trigger img{display:block;max-width:100%;height:auto;object-fit:contain}
.sponsor-exa-trigger:hover{transform:translateY(-2px)}
.sponsor-exa-trigger:focus-visible{outline:2px solid #b22222}

/* Modal: image artwork only, on a proper overlay, above every other widget. */
#loveTicketModal[hidden]{display:none!important}
#loveTicketModal,#loveTicketModal.is-open{position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;padding:clamp(10px,2vw,24px)!important;margin:0!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#loveTicketModal[hidden]{display:none!important}
#loveTicketModal .love-ticket-modal__backdrop{position:absolute!important;inset:0!important;display:block!important;background:rgba(12,8,7,.76)!important;backdrop-filter:blur(4px);z-index:0!important}
#loveTicketModal .love-ticket--artwork{position:relative!important;z-index:1!important;display:block!important;width:min(1100px,calc(100vw - 24px))!important;max-width:1100px!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important}
#loveTicketModal .love-ticket--artwork::before,#loveTicketModal .love-ticket--artwork::after{content:none!important;display:none!important}
#loveTicketModal .love-ticket__artwork{display:block!important;width:100%!important;height:auto!important;max-height:calc(100dvh - 24px)!important;object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
#loveTicketModal .love-ticket__close{position:absolute!important;top:8px!important;right:8px!important;z-index:3!important}
#loveTicketModal .love-ticket__accessible-copy{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}

/* Use the element ID so old right:important declarations cannot win the cascade. */
#promoPlayer:not([hidden]){position:fixed!important;inset:0!important;z-index:9980!important;pointer-events:none!important;transform:none!important}
#promoPlayer #promoPip:not([hidden]){position:fixed!important;left:clamp(12px,1.5vw,24px)!important;right:auto!important;top:auto!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;width:min(220px,38vw)!important;max-width:220px!important;max-height:42dvh!important;aspect-ratio:9/16!important;transform:none!important;margin:0!important;z-index:9981!important;pointer-events:auto!important;border-radius:16px!important;overflow:hidden!important}
#promoPlayer #promoPip video{width:100%!important;height:100%!important;object-fit:contain!important}
#promoPlayer #promoPopup{pointer-events:auto!important}
#whatsappAssistant{z-index:9990!important}
@media(max-width:700px){
  #promoPlayer #promoPip:not([hidden]){left:10px!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:min(156px,39vw)!important;max-height:34dvh!important}
  .contact-bottom{grid-template-columns:1fr;margin:0 16px 42px;padding:28px 22px;gap:20px}
  .contact-bottom__icon-slot{min-height:82px}
}

/* EXPERIENCE: remove offset card collisions and the heavy, rigid HTML look. */
.experience-page{padding-top:var(--header-height);overflow:clip}
.exp-hero{min-height:0;padding:clamp(58px,8vw,110px) clamp(22px,6vw,88px);gap:clamp(28px,5vw,76px);background:linear-gradient(105deg,#f4efe5 0 61%,#eadbd2 61%);border-radius:0 0 30px 30px}
.exp-hero__copy,.exp-hero__visual{min-width:0}
.exp-hero__copy h1{font-size:clamp(3.6rem,8.5vw,8.5rem);line-height:.86;overflow-wrap:anywhere}
.exp-poster{width:min(100%,500px);border:0;border-radius:20px;box-shadow:12px 12px 0 #b8b8b8;transform:rotate(1deg);padding:20px;overflow:hidden}
.exp-poster::before{inset:12px;border-radius:12px;border-width:1px}
.exp-poster img{border-radius:10px}
.exp-section{padding:clamp(64px,8vw,112px) clamp(22px,6vw,88px)}
.exp-section__head{align-items:end;gap:28px;margin-bottom:clamp(30px,4vw,54px)}
.exp-section__head h2{font-size:clamp(2.8rem,6vw,6.8rem);line-height:.9;overflow-wrap:anywhere}
.exp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,28px)}
.exp-card,.exp-card:nth-child(1),.exp-card:nth-child(2),.exp-card:nth-child(3),.exp-card:nth-child(4){grid-column:auto;transform:none;min-width:0;border:0;border-radius:18px;box-shadow:0 10px 30px #20151212;overflow:hidden}
.exp-card__image{aspect-ratio:5/3;padding:0;background:#e9dfd2}
.exp-card__image img{object-fit:cover;object-position:center}
.exp-card__body{padding:clamp(18px,2.5vw,30px)}
.exp-card__body h3{font-size:clamp(1.8rem,3vw,2.7rem);line-height:.95}
.exp-values{gap:18px}
.exp-value{min-width:0;border:1px solid #2119161a;border-radius:18px;box-shadow:0 8px 24px #20151212;padding:clamp(22px,3vw,34px)}
.exp-value h3{font-size:clamp(2rem,3.2vw,3rem);line-height:.92}
.exp-mission{gap:clamp(28px,5vw,72px)}
.exp-photo{border:0;border-radius:18px;box-shadow:12px 12px 0 var(--mamma-red);padding:10px;overflow:hidden}
.exp-photo img{border-radius:12px;object-fit:cover}
.formats-cinema{padding:clamp(64px,8vw,110px) clamp(22px,6vw,88px);overflow:hidden}
.formats-cinema__head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:36px}
.formats-cinema__head h2{font-size:clamp(2.8rem,6vw,6.4rem);line-height:.9;overflow-wrap:anywhere}
.formats-cinema__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.7vw,22px)}
.format-poster{min-width:0;overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 10px 28px #20151214}
.format-poster__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e9dfd2}
.format-poster__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.format-poster__slot{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:#fffdf0e8;color:#a21f25;font-size:.68rem;letter-spacing:.08em}
.format-poster__slot-note{position:absolute;inset:auto 10px 48px;text-align:center;color:#4c413c}
.format-poster__info{padding:18px}
.format-poster__info h3{font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:.95;overflow-wrap:anywhere}
.exp-back{margin-top:35px}
@media(max-width:900px){
  .exp-hero{grid-template-columns:1fr;background:#f4efe5}
  .exp-hero__visual{order:0}
  .exp-hero__copy h1{font-size:clamp(3.5rem,12vw,6.2rem)}
  .exp-section__head{display:grid;grid-template-columns:1fr;gap:14px}
  .exp-mission{grid-template-columns:1fr}
  .exp-values{grid-template-columns:1fr}
  .formats-cinema__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .exp-hero{padding:42px 18px 56px;gap:30px}
  .exp-poster{width:100%;padding:14px;box-shadow:7px 7px 0 #b8b8b8}
  .exp-section{padding:56px 18px}
  .exp-grid{grid-template-columns:1fr}
  .exp-card__image{aspect-ratio:4/3}
  .exp-values{grid-template-columns:1fr}
  .formats-cinema{padding:56px 18px}
  .formats-cinema__head{display:grid;grid-template-columns:1fr;gap:12px}
  .formats-cinema__grid{grid-template-columns:1fr 1fr;gap:12px}
  .format-poster__info{padding:13px}
  .format-poster__info h3{font-size:1.55rem}
}

/* CONTACT: consistent spacing, organic corners, no overlapping pseudo-elements. */
.contact-page{padding-top:var(--header-height);overflow:clip}
.contact-hero{min-height:0;padding:clamp(58px,8vw,100px) clamp(22px,6vw,88px);gap:clamp(28px,5vw,72px);background:linear-gradient(110deg,#f4efe5 0 62%,#eadbd2 62%);border-radius:0 0 30px 30px}
.contact-hero__copy,.contact-poster{min-width:0;position:relative;z-index:1}
.contact-hero h1{font-size:clamp(3.8rem,9vw,8.8rem);line-height:.86;overflow-wrap:anywhere}
.contact-hero p{font-size:clamp(1.05rem,1.4vw,1.25rem)}
.contact-hero__cta,.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 21px;border-radius:999px;background:var(--mamma-red);color:#fff;box-shadow:0 7px 0 #211916;transition:transform .2s ease,box-shadow .2s ease}
.contact-hero__cta:hover,.contact-button:hover{transform:translateY(-2px);box-shadow:0 9px 0 #211916}
.contact-poster{width:min(100%,440px);aspect-ratio:4/5;margin:auto;padding:14px;border:0;border-radius:22px;box-shadow:12px 12px 0 #b8b8b8;transform:rotate(1deg);overflow:hidden}
.contact-poster::before{inset:12px;border-radius:14px;border:1px solid #ffffff80}
.contact-poster__frame{position:relative;display:grid;width:100%;height:100%;min-width:0;place-items:center;overflow:hidden;border-radius:14px;background:#b22222;padding:14px}
.contact-image-slot{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:10px;background:#f5eee2}
.contact-image-slot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.contact-image-slot>span{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;background:#fff;color:#b22222;font-size:.7rem;letter-spacing:.08em}
.contact-poster__caption{position:absolute;left:26px;right:26px;bottom:24px;color:#fff;font:800 1rem/1 var(--font-heading);letter-spacing:.1em;text-shadow:0 2px 10px #0008;pointer-events:none}
.contact-poster__caption small{font-size:.72rem}
.contact-grid{max-width:1280px;margin:0 auto;padding:clamp(52px,7vw,90px) clamp(18px,5vw,64px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,20px);align-items:stretch}
.contact-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:180px;padding:clamp(18px,2vw,26px);border:1px solid #20151212;border-radius:18px;background:#fffdf8;box-shadow:0 10px 28px #20151212;color:#171514;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.contact-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #2015121a}
.contact-card--red{background:#b22222;color:#fff}
.contact-card--cream{background:#eee3d3}
.contact-card__number{font:800 .72rem/1 var(--font-heading);letter-spacing:.12em;opacity:.72}
.contact-card strong{font-size:clamp(1.4rem,2vw,2rem);line-height:.95;margin:8px 0}
.contact-card>span:not(.contact-card__number){font-size:.95rem;line-height:1.4;overflow-wrap:anywhere}
.contact-card>b{margin-top:auto;align-self:flex-end;font-size:1.4rem}
.contact-bottom{margin-top:0}
@media(max-width:1000px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .contact-hero{grid-template-columns:1fr;padding:44px 18px 56px;gap:32px;background:#f4efe5}
 .contact-poster{order:0;width:min(100%,360px);box-shadow:8px 8px 0 #b8b8b8}
 .contact-hero h1{font-size:clamp(3.4rem,13vw,5.5rem)}
 .contact-grid{padding:40px 18px 56px;grid-template-columns:1fr 1fr;gap:12px}
 .contact-card{min-height:155px;padding:17px;border-radius:15px}
 .contact-card strong{font-size:1.45rem}
 .contact-card>span:not(.contact-card__number){font-size:.85rem}
}
@media(max-width:380px){.contact-grid{grid-template-columns:1fr}.contact-card{min-height:130px}}
