
/* V1.3 — Contact, language and visual placeholders */
[data-lang] { cursor:pointer; }
[data-lang].is-active { font-weight:900; color:var(--mamma-red,#b22222); }
.lang-switch { display:flex; gap:12px; align-items:center; }

.contact-page { background:var(--mamma-cream,#f4f0e8); color:#151515; }
.contact-hero { min-height:70vh; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; padding:7rem 8vw 5rem; position:relative; overflow:hidden; }
.contact-hero__copy h1 { font-size:clamp(4rem,9vw,9rem); line-height:.82; margin:1rem 0 2rem; letter-spacing:-.05em; }
.contact-hero__copy p { max-width:600px; font:1.15rem/1.65 Georgia,serif; }
.contact-hero__cta { display:inline-block; margin-top:2rem; padding:1rem 1.5rem; background:var(--mamma-red,#b22222); color:#fff; text-decoration:none; box-shadow:6px 6px #111; font-weight:800; letter-spacing:.08em; }

.contact-poster { display:grid; place-items:center; }
.contact-poster__frame { width:min(100%,520px); background:#b22222; padding:1rem; border:8px solid #111; transform:rotate(2deg); box-shadow:15px 15px #b8b8b8; }
.contact-image-slot { height:430px; background:#fff; position:relative; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(0,0,0,.35); }
.contact-image-slot img { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.contact-image-slot span { position:absolute; left:14px; top:14px; background:#fff; color:#111; padding:6px 8px; font:800 .65rem Arial; letter-spacing:.1em; }
.contact-poster__caption { color:#fff; padding:.8rem .3rem 0; font-weight:900; letter-spacing:.12em; }
.contact-poster__caption small { opacity:.8; }

.contact-grid { display:grid; grid-template-columns:repeat(4,1fr); padding:0 8vw 7rem; }
.contact-card { min-height:220px; padding:1.6rem; border:1px solid #111; border-right:0; color:#111; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; position:relative; background:#fff; }
.contact-card:last-child { border-right:1px solid #111; }
.contact-card--red { background:#b22222; color:#fff; }
.contact-card--cream { background:#eee9df; }
.contact-card__number { font:800 .7rem Arial; letter-spacing:.12em; }
.contact-card strong { font-size:1.6rem; }
.contact-card span:not(.contact-card__number) { font:1rem Georgia,serif; }
.contact-card b { align-self:flex-end; font-size:1.5rem; }

.contact-bottom { margin:0 8vw 8rem; min-height:300px; background:#111; color:#fff; padding:4rem; display:flex; gap:4rem; align-items:center; position:relative; overflow:hidden; }
.checker-strip { position:absolute; inset:0 0 auto; height:18px; background:repeating-conic-gradient(#b22222 0 25%,#fff 0 50%) 0/24px 24px; }
.contact-bottom h2 { font-size:clamp(2.5rem,6vw,6rem); line-height:.85; margin:.5rem 0; }
.contact-bottom__icon-slot { width:170px; height:170px; border:1px dashed rgba(255,255,255,.65); display:grid; place-items:center; text-align:center; flex:none; }
.contact-bottom__icon-slot span { font-weight:900; }
.contact-bottom__icon-slot small { opacity:.7; padding:0 15px; }

.formats-section { padding:7rem 8vw; background:#eee9df; }
.formats-heading h2 { font-size:clamp(3rem,7vw,7rem); line-height:.85; margin:.7rem 0 3rem; }
.formats-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #111; border-left:1px solid #111; }
.format-card { background:#fff; border-right:1px solid #111; border-bottom:1px solid #111; }
.format-card__media { height:240px; display:grid; place-items:center; border-bottom:1px solid #111; background:#b22222; color:#fff; position:relative; overflow:hidden; }
.format-card__media::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.55); }
.format-card__media span { position:relative; z-index:1; padding:8px; border:1px dashed rgba(255,255,255,.7); font:800 .65rem Arial; letter-spacing:.1em; }
.format-card > div:last-child { padding:1.4rem; }
.format-card small { color:#b22222; font-weight:900; }
.format-card h3 { margin:.4rem 0; font-size:2rem; }
.format-card p { font:.85rem/1.4 Georgia,serif; }

@media(max-width:900px) {
  .contact-hero { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr 1fr; }
  .contact-card:nth-child(2) { border-right:1px solid #111; }
  .formats-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:560px) {
  .contact-hero { padding:5rem 6vw 3rem; }
  .contact-grid, .formats-grid { grid-template-columns:1fr; padding-left:6vw; padding-right:6vw; }
  .contact-card { border-right:1px solid #111; }
  .contact-bottom { margin:0 6vw 5rem; padding:3rem 1.5rem; flex-direction:column; align-items:flex-start; }
}


/* ==========================================================
   V1.4 — CLEAN CINEMA FORMATS + LANGUAGE TOGGLE
   ========================================================== */

.language-switch {
    min-width: 28px;
    text-align: center;
    font-weight: 900;
    transition: color .2s ease, transform .2s ease;
}
.language-switch:hover {
    color: var(--mamma-red,#b22222);
    transform: translateY(-1px);
}

/* One formats section only. */
.formats-cinema {
    padding: 7rem 8vw 8rem;
    background: var(--mamma-cream,#f4f0e8);
    position: relative;
    overflow: hidden;
}
.formats-cinema::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 16px;
    background: repeating-conic-gradient(#b22222 0 25%,#fff 0 50%) 0/24px 24px;
}
.formats-cinema__head {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 3rem;
    margin-bottom: 3.5rem;
}
.formats-cinema__head h2 {
    max-width: 900px;
    margin: .5rem 0 0;
    font-size: clamp(3.2rem, 7vw, 7rem);
    line-height: .84;
    letter-spacing: -.045em;
}
.formats-cinema__head > p {
    max-width: 260px;
    margin: 0 0 .5rem;
    font: 800 .72rem/1.5 var(--font-heading);
    letter-spacing: .13em;
    text-align: right;
}
.formats-cinema__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 18px;
}
.format-poster {
    background: #fff;
    border: 1px solid #111;
    box-shadow: 7px 7px 0 #111;
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.format-poster:nth-child(2) { transform: translateY(28px); }
.format-poster:nth-child(3) { transform: translateY(8px); }
.format-poster:nth-child(4) { transform: translateY(38px); }
.format-poster:hover {
    transform: translate(-3px,-5px) !important;
    box-shadow: 11px 11px 0 #111;
}
.format-poster__media {
    height: 330px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #b22222;
    border-bottom: 1px solid #111;
}
.format-poster__media::after {
    content: "";
    position: absolute;
    inset: 13px;
    border: 1px solid rgba(255,255,255,.65);
    pointer-events: none;
}
.format-poster__media img {
    width: 100%;
    height: 100%;
    padding: 20px;
    object-fit: contain;
    object-position: center;
    display: block;
    position: relative;
    z-index: 1;
}
.format-poster__slot {
    position: absolute;
    z-index: 3;
    padding: 7px 9px;
    background: #fff;
    color: #111;
    border: 1px solid #111;
    font: 900 .62rem/1 var(--font-heading);
    letter-spacing: .1em;
}
.format-poster__media.has-image .format-poster__slot {
    display: none;
}
.format-poster__slot--always {
    position: static;
    background: transparent;
    color: #fff;
    border: 1px dashed rgba(255,255,255,.8);
}
.format-poster__slot-note {
    position: absolute;
    z-index: 2;
    bottom: 24px;
    color: #fff;
    font: 800 .58rem/1 var(--font-heading);
    letter-spacing: .12em;
}
.format-poster__info {
    padding: 1.25rem 1.25rem 1.5rem;
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.format-poster__info small {
    color: #b22222;
    font: 900 .62rem/1 var(--font-heading);
    letter-spacing: .14em;
}
.format-poster__info h3 {
    margin: .65rem 0 0;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    line-height: .9;
}
.formats-cinema .exp-back {
    margin-top: 80px;
}

/* The old V1.3 formats block is intentionally disabled if it remains in cached HTML. */
.formats-section { display: none !important; }

@media (max-width: 1000px) {
    .formats-cinema__grid { grid-template-columns: repeat(2,1fr); }
    .format-poster:nth-child(n) { transform:none; }
}
@media (max-width: 560px) {
    .formats-cinema { padding: 5.5rem 6vw 6rem; }
    .formats-cinema__head { grid-template-columns: 1fr; gap: 1rem; }
    .formats-cinema__head > p { text-align:left; }
    .formats-cinema__grid { grid-template-columns: 1fr; }
    .format-poster:nth-child(n) { transform:none; }
    .format-poster__media { height: 280px; }
}

/* Generic image slots: always center without cropping. */
.image-frame img,
.menu-poster__image img,
.exp-card__image img,
.exp-photo img,
.contact-image-slot img {
    object-fit: contain;
    object-position: center center;
}


/* V1.8: softer vintage print details and compact coupon tab */
body { font-family:var(--font-heading); }
p,li,label,input,select,textarea,.hero__note,.menu-poster__info p,.menu-board__header>p,.menu-hero__copy>p:last-child { font-family:var(--font-body); }
.menu-poster { border:1px solid rgba(17,17,17,.14); border-radius:5px 2px 7px 3px; box-shadow:5px 7px 0 rgba(17,17,17,.09); }
.menu-poster__image { overflow:hidden; }
.menu-poster__image img { transition:transform .35s ease; }
.menu-poster:hover .menu-poster__image img { transform:scale(1.035); }
.menu-hero__poster { border:5px solid rgba(17,17,17,.78); border-radius:4px 2px 6px 3px; box-shadow:12px 14px 0 rgba(184,184,184,.65); }
.menu-hero__poster::before { border:1px solid rgba(255,255,255,.45); }
.menu-category__title i { opacity:.45; }
.menu-special-note { display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:-34px 0 55px;padding:17px 22px;background:#f7e7c7;color:#29211b;border-left:5px solid var(--mamma-red);box-shadow:3px 4px 0 rgba(17,17,17,.09);transform:rotate(-.25deg); }
.menu-special-note strong { color:var(--mamma-red);font-size:1.15rem;letter-spacing:.06em; }
.menu-special-note span { font-size:1rem; }
.menu-poster__price { display:block;margin-top:7px;color:var(--mamma-red);font-size:1.2rem;letter-spacing:.02em; }
.coupon-tab { position:fixed;z-index:120;top:calc(var(--header-height) + 12px);right:18px;width:min(355px,calc(100vw - 28px));filter:drop-shadow(0 8px 14px rgba(17,17,17,.15)); }
.coupon-tab__trigger { width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(17,17,17,.18);border-radius:2px 2px 10px 2px;padding:10px 13px;color:#fff;background:var(--mamma-red);cursor:pointer;font:900 .9rem/1.15 var(--font-heading);letter-spacing:.07em; }
.coupon-tab__burst { flex:0 0 auto;display:grid;place-items:center;width:43px;height:37px;background:#ffe600;color:var(--mamma-red);font:900 .8rem/1 var(--font-heading);clip-path:polygon(50% 0%,62% 17%,83% 7%,81% 28%,100% 40%,82% 54%,94% 77%,70% 76%,58% 100%,43% 80%,20% 92%,22% 67%,0 56%,17% 39%,8% 17%,33% 24%);transform:rotate(-7deg); }
.coupon-tab__chevron { font-size:1.2rem;margin-left:auto; }
.coupon-tab__panel { padding:16px;background:#f7eddb;color:#171717;border:1px solid rgba(17,17,17,.18);border-top:0;border-radius:0 0 7px 7px; }
.coupon-form { margin:0; }
.coupon-form__label { display:block;margin-bottom:8px;color:var(--mamma-red);font:900 .8rem/1 var(--font-heading);letter-spacing:.09em; }
.coupon-form__row { display:flex;border:1px solid #171717;background:#fff; }
.coupon-form__row input { min-width:0;flex:1;width:100%;padding:12px;border:0;outline:0;font:700 16px/1.2 var(--font-body); }
.coupon-form__row input:focus-visible { box-shadow:inset 0 0 0 2px var(--mamma-red); }
.coupon-form__row button { padding:0 16px;border:0;border-left:1px solid #171717;background:var(--mamma-red);color:#fff;cursor:pointer;font:900 .85rem/1 var(--font-heading); }
.coupon-form__feedback { min-height:1.3em;margin:10px 0 2px;font-size:.92rem; }
.coupon-form__feedback.is-success { color:#17663a; }
.coupon-form__feedback.is-error { color:var(--mamma-red); }
.coupon-form__fineprint { margin:5px 0 0;font-size:.78rem;color:#5c554b; }
.partners-strip { width:min(1240px,calc(100% - 72px));margin:80px auto 65px;padding:30px 24px 35px;text-align:center;position:relative; }
.partners-strip::before,.partners-strip::after { content:"";display:block;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(17,17,17,.35),transparent); }
.partners-strip::before { margin-bottom:28px; }.partners-strip::after { margin-top:28px; }
.partners-strip__heading h2 { margin:8px 0 25px;font-size:clamp(2.3rem,5vw,4.2rem); }
.partners-strip__logos { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(28px,7vw,90px); }
.partner-wordmark { min-width:130px;min-height:58px;display:flex;align-items:center;justify-content:center;gap:6px;color:#171717; }
.partner-wordmark--uber span { font:800 clamp(2rem,4vw,3rem)/1 var(--font-heading);letter-spacing:-.04em; }
.partner-wordmark--exa { flex-direction:column;gap:0; }.partner-wordmark--exa span { font:900 clamp(2.5rem,5vw,4rem)/.8 var(--font-heading);letter-spacing:-.07em; }.partner-wordmark--exa small { font:900 .85rem/1 var(--font-heading);letter-spacing:.18em; }
.partner-wordmark--coke span { color:var(--mamma-red);font:italic 900 clamp(1.7rem,3.4vw,2.7rem)/1 var(--font-secondary); }
@media(max-width:760px) {
 .coupon-tab { top:calc(var(--header-height) + 8px);right:10px;width:min(310px,calc(100vw - 20px)); }
 .coupon-tab__trigger { justify-content:flex-start;gap:8px;padding:8px 10px;font-size:.78rem; }
 .coupon-tab__burst { width:36px;height:31px;font-size:.7rem; }
 .coupon-tab__panel { padding:13px; }.coupon-form__row input { min-height:44px;font-size:16px; }.coupon-form__row button { padding:0 12px; }
 .partners-strip { width:calc(100% - 36px);margin:52px auto 45px;padding:15px 8px 22px; }
 .partners-strip__logos { gap:18px 24px; }.partner-wordmark { min-width:100px;min-height:48px; }
 .menu-special-note { margin:-12px 0 35px;padding:14px; }
}


.site-footer{position:relative;margin-top:72px;padding:30px 0 18px;background:#171514;color:#f8efdf;overflow:hidden}
.site-footer__inner{width:min(1240px,calc(100% - 48px));margin:0 auto}
.site-footer__brand{margin:0 0 15px;color:#f8efdf;font:800 .82rem/1 var(--font-heading);letter-spacing:.13em}
.site-footer__sponsors{width:100%;max-width:1040px;margin:0 auto 25px}
.site-footer__sponsors img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;object-position:center}
.site-footer__bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(248,239,223,.22);font:700 .78rem/1.4 var(--font-heading);letter-spacing:.06em;color:rgba(248,239,223,.8)}
@media(max-width:700px){.site-footer{margin-top:48px;padding:22px 0 15px}.site-footer__inner{width:calc(100% - 28px)}.site-footer__sponsors img{max-height:none}.site-footer__bottom{font-size:.72rem}}


.site-footer{margin-top:56px;padding:22px 0;background:#171514;overflow:hidden}
.site-footer__sponsors{width:min(1040px,calc(100% - 36px));margin:0 auto}
.site-footer__sponsors img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;object-position:center}
@media(max-width:700px){.site-footer{margin-top:36px;padding:14px 0}.site-footer__sponsors{width:calc(100% - 20px)}.site-footer__sponsors img{max-height:none}}


/* V2.1 — softer modern finish, readable brand typography, coupon tab, sponsors and vertical commercial player */
:root{--mamma-radius:22px;--mamma-radius-sm:14px}
body{font-family:var(--font-body,"Gotham Condensed","Arial Narrow",sans-serif)}
h1,h2,h3,h4,.eyebrow,.main-nav a,.language-switch,.order-button,.menu-poster__price,.menu-poster__image span,.menu-category__title,.contact-card strong,.format-card h3,.coupon-tab,.promo-player{font-family:var(--font-heading,"Gotham Condensed","Arial Narrow",sans-serif)}
p,.menu-poster__info p,.contact-card span:not(.contact-card__number),.format-card p{font-family:"Breef Serif",Georgia,serif}
.site-header{border-radius:0 0 18px 18px}
.order-button,.hero__cta,.contact-hero__cta,.menu-poster,.contact-card,.format-card,.exp-card,.exp-poster,.contact-poster__frame,.menu-hero__poster{border-radius:var(--mamma-radius);overflow:hidden}
.order-button,.hero__cta,.contact-hero__cta{box-shadow:0 8px 20px rgba(80,10,10,.16)}
.menu-poster__image img,.hero-product-image,.exp-card__image img,.format-card__media img{border-radius:inherit}
.site-footer{margin-top:56px;padding:26px 0;background:#171514;overflow:hidden}
.site-footer__sponsors{width:min(1040px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:center}
.site-footer__sponsors img{display:block;width:100%;height:86px;object-fit:contain;border-radius:14px;transition:transform .2s ease}
.site-footer__sponsors img:hover{transform:translateY(-3px)}
.coupon-tab{position:fixed;z-index:160;top:calc(var(--header-height,88px) + 12px);right:20px;width:min(365px,calc(100vw - 28px));font-family:var(--font-heading,"Arial Narrow",sans-serif)}
.coupon-tab__trigger{width:100%;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.38);border-radius:0 0 16px 16px;padding:10px 13px;background:var(--mamma-red,#B22222);color:#fff;box-shadow:0 8px 22px rgba(40,0,0,.2);font:800 .9rem/1.1 var(--font-heading,"Arial Narrow",sans-serif);letter-spacing:.06em;text-align:left;cursor:pointer}
.coupon-tab__burst{display:grid;place-items:center;flex:none;width:49px;height:49px;background:#f4d735;color:#b22222;clip-path:polygon(50% 0%,61% 13%,78% 5%,81% 24%,99% 31%,87% 47%,100% 62%,81% 70%,83% 91%,62% 85%,50% 100%,39% 84%,18% 94%,18% 72%,0 64%,12% 47%,2% 31%,23% 24%,23% 6%,41% 14%);font-size:.76rem;font-weight:1000;transform:rotate(-8deg)}
.coupon-tab__chevron{margin-left:auto;font-size:1.3rem}
.coupon-tab__panel{margin-top:8px;padding:18px;border:1px solid rgba(178,34,34,.14);border-radius:18px;background:#fffdf8;color:#171514;box-shadow:0 14px 40px rgba(20,10,10,.18)}
.coupon-tab__panel[hidden]{display:none!important}
.coupon-form__label{display:block;margin-bottom:9px;font-weight:900;font-size:1rem;letter-spacing:.04em}
.coupon-form__row{display:flex;gap:8px}
.coupon-form__row input{min-width:0;flex:1;border:1px solid #d4c9bb;border-radius:10px;padding:12px;font:1rem var(--font-heading,"Arial Narrow",sans-serif)}
.coupon-form__row button,.promo-player__controls button{border:0;border-radius:10px;padding:11px 14px;background:#b22222;color:white;font:800 .78rem var(--font-heading,"Arial Narrow",sans-serif);cursor:pointer}
.coupon-form__fineprint,.coupon-form__feedback{font: .9rem/1.4 "Breef Serif",Georgia,serif;margin:10px 0 0}
.coupon-form__feedback.is-error{color:#a00}.coupon-form__feedback.is-success{color:#237443}
.promo-player[hidden],.promo-player__mini[hidden]{display:none!important}
.promo-player{position:fixed;z-index:180;left:18px;top:50%;transform:translateY(-50%);width:min(355px,calc(100vw - 36px));color:#fff}
.promo-player__panel{padding:12px;background:#171514;border:1px solid rgba(255,255,255,.22);border-radius:22px;box-shadow:0 20px 70px rgba(0,0,0,.3);overflow:hidden}
.promo-player__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 4px 12px}
.promo-player__head small{color:#f4d735;letter-spacing:.16em;font-size:.65rem;font-weight:900}
.promo-player__head h2{font:900 1.35rem/.95 var(--font-heading,"Arial Narrow",sans-serif);margin:5px 0 0;color:#fff}
.promo-player__close{width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#171514;font-size:1.6rem;cursor:pointer;flex:none}
.promo-player__video-wrap{position:relative;aspect-ratio:9/16;max-height:48vh;background:#080808;border-radius:15px;overflow:hidden}
.promo-player__video-wrap video{display:block;width:100%;height:100%;object-fit:contain;background:#080808}
.promo-player__play{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border:0;border-radius:50%;background:#b22222;color:#fff;cursor:pointer}
.promo-player__controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:12px}
.promo-player__controls button{font-size:.7rem;padding:9px 10px}
.promo-player__controls label{font-size:.75rem;font-weight:800}
.promo-player__controls input{width:75px;accent-color:#b22222}
.promo-player__note{font: .78rem/1.35 "Breef Serif",Georgia,serif;color:#ddd;margin:10px 4px 2px}
.promo-player__mini-open{position:relative;width:88px;aspect-ratio:9/16;padding:0;border:3px solid #b22222;border-radius:14px;background:#111;overflow:hidden;box-shadow:0 10px 30px #0003;cursor:pointer}
.promo-player__mini-open video{width:100%;height:100%;object-fit:cover;display:block}
.promo-player__mini-badge{position:absolute;left:4px;right:4px;bottom:4px;padding:5px 3px;background:#b22222;color:#fff;border-radius:6px;font-size:.62rem;font-weight:900}
.promo-player.is-minimized{width:auto}
.promo-player.is-minimized .promo-player__panel{display:none}
.promo-player.is-minimized .promo-player__mini{display:block}
@media(max-width:700px){
 .coupon-tab{top:calc(var(--header-height,72px) + 7px);right:10px;width:min(330px,calc(100vw - 20px))}
 .coupon-tab__trigger{padding:8px 10px;font-size:.8rem}
 .coupon-tab__burst{width:42px;height:42px}
 .site-footer__sponsors{width:calc(100% - 24px);grid-template-columns:1fr;gap:12px}
 .site-footer__sponsors img{height:62px}
 .promo-player{left:10px;top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:none;width:min(300px,calc(100vw - 20px))}
 .promo-player__video-wrap{max-height:38vh}
 .promo-player.is-minimized{width:auto}
 .promo-player__mini-open{width:76px}
}


/* V2.2 functional UI overrides — coupon tab and YouTube-like mini player */
.coupon-tab{position:fixed!important;z-index:9990!important;top:calc(var(--header-height,88px) + 12px)!important;right:18px!important;width:min(360px,calc(100vw - 24px))!important;display:block!important;visibility:visible!important;opacity:1!important}
.coupon-tab__trigger{position:relative!important;display:flex!important;min-height:58px!important;width:100%!important;align-items:center!important;gap:10px!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:0 0 16px 16px!important;padding:9px 13px!important;background:#B22222!important;color:#fff!important;box-shadow:0 8px 24px #16060630!important;cursor:pointer!important}
.coupon-tab__trigger .coupon-tab__burst{flex:0 0 46px!important;width:46px!important;height:46px!important}
.coupon-tab__trigger .coupon-tab__chevron{margin-left:auto!important;font-size:1.4rem!important}
.coupon-tab__panel{display:block!important;margin-top:8px!important;padding:16px!important;border:1px solid #b222222b!important;border-radius:16px!important;background:#fffdf8!important;color:#171514!important;box-shadow:0 14px 40px #16060630!important}
.coupon-tab__panel[hidden]{display:none!important}
.coupon-form__row{display:flex!important;gap:8px!important}
.coupon-form__row input{min-width:0!important;flex:1!important;border:1px solid #c8bdb0!important;border-radius:10px!important;padding:12px!important;background:#fff!important;color:#171514!important}
.coupon-form__row button{border:0!important;border-radius:10px!important;padding:10px 14px!important;background:#B22222!important;color:#fff!important;cursor:pointer!important}
.coupon-form__feedback{min-height:1.2em}
.coupon-form__feedback.is-error{color:#a11!important}.coupon-form__feedback.is-success{color:#237443!important}
.promo-player[hidden],.promo-player__pip[hidden],.promo-player__popup[hidden]{display:none!important}
.promo-player{position:fixed!important;inset:0!important;z-index:9980!important;pointer-events:none!important}
.promo-player__popup{pointer-events:auto!important;position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(390px,calc(100vw - 28px))!important;max-height:calc(100dvh - 30px)!important;overflow:auto!important;padding:12px!important;border-radius:20px!important;background:#171514!important;color:#fff!important;box-shadow:0 24px 90px #0007!important;border:1px solid #ffffff28!important}
.promo-player__head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:4px 4px 12px!important}
.promo-player__head h2{font-size:1.2rem!important;line-height:1!important;margin:5px 0 0!important}
.promo-player__video-wrap{position:relative!important;width:100%!important;aspect-ratio:9/16!important;max-height:55dvh!important;border-radius:13px!important;overflow:hidden!important;background:#050505!important}
.promo-player__video-wrap video{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
.promo-player__controls{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;padding-top:11px!important}
.promo-player__controls button{border:0!important;border-radius:9px!important;background:#B22222!important;color:#fff!important;padding:9px 10px!important;cursor:pointer!important}
.promo-player__controls input{width:76px!important;accent-color:#B22222!important}
.promo-player__note{margin:9px 4px 2px!important;color:#ddd!important;font-size:.78rem!important}
.promo-player__pip{pointer-events:auto!important;position:fixed!important;right:22px!important;bottom:22px!important;width:min(320px,calc(100vw - 28px))!important;aspect-ratio:9/16!important;max-height:min(420px,65dvh)!important;overflow:hidden!important;border:1px solid #ffffff45!important;border-radius:15px!important;background:#080808!important;box-shadow:0 12px 38px #0005!important}
.promo-player__pip video{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#080808!important}
.promo-player__pip-controls{position:absolute!important;left:8px!important;right:8px!important;bottom:8px!important;display:flex!important;justify-content:flex-end!important;gap:6px!important}
.promo-player__pip-controls button{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:1px solid #ffffff55!important;border-radius:50%!important;background:#171514dd!important;color:#fff!important;font-size:1.1rem!important;cursor:pointer!important}
.promo-player.is-minimized .promo-player__popup{display:none!important}
.promo-player.is-minimized .promo-player__pip{display:block!important}
@media(max-width:600px){
 .coupon-tab{top:calc(var(--header-height,72px) + 8px)!important;right:10px!important;width:min(330px,calc(100vw - 20px))!important}
 .coupon-tab__trigger{min-height:50px!important;padding:7px 10px!important;font-size:.78rem!important}
 .coupon-tab__trigger .coupon-tab__burst{flex-basis:40px!important;width:40px!important;height:40px!important}
 .promo-player__popup{width:min(350px,calc(100vw - 20px))!important;padding:10px!important}
 .promo-player__video-wrap{max-height:48dvh!important}
 .promo-player__pip{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:min(190px,48vw)!important;max-height:40dvh!important}
}


/* V2.3 — clickable EXA sponsor + LOVE TICKET */
.sponsor-exa-trigger{appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;background:transparent;cursor:pointer;border-radius:8px;transition:transform .2s ease,filter .2s ease}
.sponsor-exa-trigger:hover{transform:translateY(-3px) rotate(-1deg);filter:drop-shadow(0 7px 5px #0002)}
.sponsor-exa-trigger img{display:block;max-width:100%;height:auto}
.love-ticket-modal[hidden]{display:none!important}
.love-ticket-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px}
.love-ticket-modal__backdrop{position:absolute;inset:0;background:rgba(17,12,10,.64);backdrop-filter:blur(5px);animation:loveTicketFade .2s ease both}
.love-ticket{position:relative;z-index:1;width:min(680px,calc(100vw - 28px));min-height:270px;display:grid;grid-template-columns:72px 1fr;overflow:hidden;border:2px solid #211612;border-radius:17px 24px 18px 25px;background:#f3e4c6;color:#211612;box-shadow:0 22px 70px #0005;animation:loveTicketEnter .32s cubic-bezier(.2,.8,.2,1) both}
.love-ticket:before{content:"";position:absolute;inset:9px;pointer-events:none;border:1px solid #211612a6;border-radius:10px 17px 12px 18px}
.love-ticket__stub{display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:24px 10px;background:#B22222;color:#fff;font-family:var(--font-heading,"Arial Narrow",sans-serif);font-weight:900;letter-spacing:.1em;font-size:.8rem;writing-mode:vertical-rl;transform:none}
.love-ticket__stub span:last-child{font-size:.7rem}
.love-ticket__content{padding:34px 38px 24px;align-self:center}
.love-ticket__eyebrow{margin:0 0 9px;color:#B22222;font-size:.75rem;font-weight:900;letter-spacing:.16em}
.love-ticket__content h2{margin:0 0 12px;font-family:var(--font-heading,"Arial Narrow",sans-serif);font-size:clamp(2rem,5vw,3.6rem);line-height:.92;letter-spacing:-.035em;text-transform:uppercase}
.love-ticket__content>p:not(.love-ticket__eyebrow):not(.love-ticket__autoclose){max-width:440px;margin:0;font-family:var(--font-body,Georgia,serif);font-size:1.05rem;line-height:1.5}
.love-ticket__footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px;padding-top:12px;border-top:1px dashed #21161280;font-family:var(--font-heading,"Arial Narrow",sans-serif);font-size:.75rem;letter-spacing:.12em}
.love-ticket__autoclose{margin:12px 0 0;font-size:.72rem;opacity:.68}
.love-ticket__close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #21161250;border-radius:50%;background:#f3e4c6;color:#211612;font-size:1.5rem;cursor:pointer}
@keyframes loveTicketFade{from{opacity:0}to{opacity:1}}
@keyframes loveTicketEnter{from{opacity:0;transform:translateY(12px) rotate(-1deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@media(max-width:560px){.love-ticket{grid-template-columns:44px 1fr;min-height:230px}.love-ticket__stub{padding:20px 5px;font-size:.65rem}.love-ticket__content{padding:28px 20px 18px}.love-ticket__content>p:not(.love-ticket__eyebrow):not(.love-ticket__autoclose){font-size:.92rem}.love-ticket__footer{font-size:.62rem}.love-ticket__close{top:8px;right:8px;width:30px;height:30px}}
/* Start with the portrait commercial in compact floating mode. */
.promo-player:not([hidden]) .promo-player__popup{display:none!important}
.promo-player:not([hidden]) .promo-player__pip{display:block!important;right:22px!important;bottom:22px!important;width:min(240px,42vw)!important;aspect-ratio:9/16!important;max-height:min(380px,58dvh)!important}
@media(max-width:600px){.promo-player:not([hidden]) .promo-player__pip{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:min(168px,43vw)!important;max-height:36dvh!important}}


/* V2.4 — usa el arte original del LOVE TICKET Mamma's × EXA */
.love-ticket--artwork{
  display:block!important;
  width:min(1000px,calc(100vw - 32px))!important;
  min-height:0!important;
  overflow:visible!important;
  padding:0!important;
  border:0!important;
  border-radius:clamp(8px,1.6vw,22px)!important;
  background:transparent!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
  animation:loveTicketEnter .28s cubic-bezier(.2,.8,.2,1) both;
}
.love-ticket--artwork:before{display:none!important}
.love-ticket__artwork{
  display:block;
  width:100%;
  height:auto;
  max-height:calc(100dvh - 40px);
  object-fit:contain;
  border-radius:clamp(8px,1.6vw,22px);
}
.love-ticket--artwork .love-ticket__close{
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(20,12,8,.78);
  color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.love-ticket__accessible-copy{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
@media(max-width:600px){
 .love-ticket--artwork{width:calc(100vw - 20px)!important}
 .love-ticket__artwork{max-height:calc(100dvh - 28px)}
 .love-ticket--artwork .love-ticket__close{top:6px;right:6px;width:32px;height:32px}
}


/* V2.5 — mini-player a la izquierda; WhatsApp conserva el lado derecho */
.promo-player:not([hidden]) .promo-player__pip{
  left:22px!important;
  right:auto!important;
  bottom:22px!important;
}
@media(max-width:600px){
  .promo-player:not([hidden]) .promo-player__pip{
    left:12px!important;
    right:auto!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
  }
}

/* V2.5 — el LOVE TICKET es la propia imagen, sin marco HTML detrás */
.love-ticket-modal[hidden]{display:none!important}
.love-ticket-modal{
  position:fixed!important;inset:0!important;z-index:10050!important;
  display:grid!important;place-items:center!important;
  padding:16px!important;background:transparent!important;
}
.love-ticket-modal__backdrop{
  position:absolute!important;inset:0!important;
  background:rgba(15,10,8,.68)!important;
  backdrop-filter:blur(3px)!important;
}
.love-ticket--artwork{
  position:relative!important;z-index:1!important;
  display:block!important;width:min(1000px,calc(100vw - 32px))!important;
  min-height:0!important;margin:0!important;padding:0!important;
  overflow:visible!important;border:0!important;outline:0!important;
  border-radius:0!important;background:transparent!important;
  box-shadow:none!important;
}
.love-ticket--artwork:before,.love-ticket--artwork:after{display:none!important;content:none!important}
.love-ticket__artwork{
  display:block!important;width:100%!important;height:auto!important;
  max-height:calc(100dvh - 32px)!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;
}
.love-ticket--artwork .love-ticket__close{
  position:absolute!important;z-index:5!important;top:8px!important;right:8px!important;
}
