[hidden]{display:none!important}
:root{
  --bg:#0b0712;
  --bg-soft:#120d1d;
  --card:#171122;
  --text:#f7f4ff;
  --muted:#b7adc9;
  --line:rgba(255,255,255,.09);
  --shadow:0 18px 44px rgba(0,0,0,.34);
  --grad:linear-gradient(90deg,#ff4f5e 0%,#ff8e3c 18%,#ffd35a 36%,#4be082 54%,#43c7ff 74%,#9952ff 100%);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(circle at top,#1a1330 0%,#0b0712 42%,#08050f 100%);color:var(--text);font-family:Inter,system-ui,sans-serif;scroll-behavior:smooth}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
img{display:block;max-width:100%}
body{padding-top:86px}
.app-shell{min-height:100vh}
.page{width:min(1280px,calc(100% - 28px));margin:22px auto 0;display:grid;gap:22px}
.screen{display:none;gap:20px}.screen.is-active{display:grid}
.topbar{position:fixed;left:0;right:0;top:0;z-index:160;background:rgba(11,7,18,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;gap:16px}
.topbar::before,.site-footer::before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--grad)}
.topbar::before{top:0}.site-footer::before{top:0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand__logo{width:52px;height:52px;object-fit:contain}.brand__copy{display:grid;gap:2px;min-width:0}.brand__copy strong{font-size:1rem}.brand__copy span{font-size:.88rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topnav{display:flex;gap:8px;flex-wrap:wrap}.topnav button,.mobile-menu__nav button,.footer-links button{border:0;background:transparent;color:var(--muted);padding:10px 12px;border-radius:999px}.topnav button.is-active,.mobile-menu__nav button.is-active,.topnav button:hover,.mobile-menu__nav button:hover,.footer-links button:hover{background:rgba(255,255,255,.08);color:#fff}
.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;border-radius:14px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.menu-btn{display:grid}
.cartola-fab{position:relative;border:0;background:transparent;padding:0;width:46px;height:46px;border-radius:50%;overflow:visible;cursor:pointer}
.cartola-fab img{width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow)}
.cartola-fab__badge{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;border-radius:999px;background:#fff;color:#000;font-size:.74rem;font-weight:800;display:grid;place-items:center;padding:0 4px;border:2px solid #000}
.hero-card{position:relative;overflow:hidden;border-radius:30px;border:1px solid var(--line);box-shadow:var(--shadow);min-height:360px;background:#171122}
.hero-card__bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,6,12,.15),rgba(7,6,12,.8)),url('../img/cartola-oficial.jpg') center/cover no-repeat;opacity:.24}
.hero-card__content{position:relative;padding:26px;display:grid;gap:18px}.hero-card__eyebrow{display:inline-flex;width:max-content;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-size:.82rem;font-weight:700}
.hero-tabs{display:flex;gap:10px;overflow:auto;padding-bottom:6px;scrollbar-width:none}.hero-tabs::-webkit-scrollbar{display:none}.hero-tabs button{flex:0 0 auto;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;padding:11px 14px;border-radius:999px;white-space:nowrap;cursor:pointer}.hero-tabs button.is-active{background:var(--grad);color:#130d1f;font-weight:800;border-color:transparent}
.hero-panel{max-width:620px}.hero-panel h1{font-size:clamp(1.7rem,4vw,3.2rem);line-height:1.05;margin:0 0 10px}.hero-panel p{margin:0;color:#e9e4f7;max-width:52ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.primary-btn,.ghost-btn,.soft-btn{border:0;border-radius:16px;padding:13px 18px;font-weight:700;cursor:pointer}.primary-btn{background:var(--grad);color:#130d1f}.ghost-btn{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line)}.soft-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);color:#fff;border:1px solid var(--line);padding:12px 14px}
.shortcut-grid,.stats-grid,.about-grid,.tile-grid{display:grid;gap:14px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcut-card,.stat-card,.about-card,.tile-card{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:24px;padding:18px;display:grid;gap:8px;box-shadow:var(--shadow)}
.shortcut-card{cursor:pointer;text-align:left}.shortcut-card i,.about-card i{font-size:1.35rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px}.section-kicker{display:inline-flex;color:#ffcf7d;font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.section-head h2,.about-hero h2{margin:.2rem 0 0}
.product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,280px);gap:14px;overflow:auto;padding-bottom:4px;scrollbar-width:none}.product-rail::-webkit-scrollbar{display:none}
.catalog-shell{display:grid;gap:18px}.search-card{position:sticky;top:98px;z-index:30;border:1px solid var(--line);background:rgba(19,13,31,.92);backdrop-filter:blur(10px);border-radius:22px;padding:14px}.search-row{display:grid;gap:10px}.search-row--main{grid-template-columns:minmax(0,1fr) auto auto}.search-row--advanced{margin-top:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.field{position:relative;display:flex;align-items:center;border:1px solid var(--line);border-radius:16px;background:transparent;min-width:0}.field i{position:absolute;left:14px;color:var(--muted);pointer-events:none}.field input,.field select,.field textarea{width:100%;background:transparent;border:0;color:#fff;padding:13px 14px 13px 42px;outline:none}.field textarea{min-height:90px;resize:vertical}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.product-card{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);display:grid;cursor:pointer}.product-card__image{position:relative}.product-card__image img{width:100%;aspect-ratio:1/1;object-fit:cover}.badge-stack{position:absolute;left:10px;top:10px;display:grid;gap:6px;max-width:calc(100% - 64px)}.badge-pill{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(20,15,32,.92);font-size:.78rem;font-weight:700}.badge-pill.is-locacao{color:#9fe9ff}.badge-pill.is-venda{color:#ffd783}.badge-pill.is-misto{color:#f6b8ff}.badge-pill.is-reserved{color:#ffcf9a}.badge-pill.is-out-stock{color:#ff9eaa}.badge-pill.is-theme{color:#c7b6ff}
.quick-cart-btn{position:absolute;right:10px;bottom:10px;border:0;border-radius:16px;min-width:48px;height:48px;padding:0 12px;background:var(--grad);color:#140d20;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.26);cursor:pointer}.quick-cart-btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}.quick-cart-btn__hat{font-size:1.05rem;line-height:1}
.product-card__body{padding:15px 15px 16px;display:grid;gap:10px}.product-card__title{margin:0;font-size:1.02rem;line-height:1.2}.product-card__meta{color:var(--muted);font-size:.9rem}
.price-stack{display:grid;gap:8px}.price-stack__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03);font-size:.92rem}.price-stack__row strong{font-size:.96rem}.price-stack__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--grad);color:#160f24}
.page-loading{position:fixed;inset:0;z-index:250;background:rgba(7,4,12,.12);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.page-loading__box{display:grid;gap:10px;justify-items:center;padding:12px 16px;border-radius:20px;background:rgba(12,8,18,.7);border:1px solid var(--line)}.page-loading__hat{width:56px;height:56px;animation:loaderHop 1.15s ease-in-out infinite}.page-loading span{font-size:.92rem;color:#ece4ff}
.modal-shell,.mobile-menu,.drawer,.magic-overlay{position:fixed;inset:0;z-index:200;background:rgba(7,4,12,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.mobile-menu,.drawer{align-items:start}
.mobile-menu__sheet,.drawer__sheet,.modal-card{width:min(100%,980px);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);background:#120d1d;border-radius:24px;box-shadow:var(--shadow)}
.modal-card--product{max-width:1080px}.modal-card--terms{max-width:900px}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:rgba(18,13,29,.96);border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:18px}
.product-modal-body{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:22px;align-items:start}.product-modal-gallery{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px}.thumb-column{display:grid;gap:10px;align-content:start}.thumb-column button{border:1px solid var(--line);background:#0f0b19;padding:0;border-radius:14px;overflow:hidden;width:90px;height:90px;cursor:pointer;opacity:.72}.thumb-column button.is-active,.thumb-column button:hover{opacity:1;border-color:rgba(255,255,255,.24)}.thumb-column img{width:100%;height:100%;object-fit:cover}.product-main-wrap img{width:100%;aspect-ratio:1/1;border-radius:24px;object-fit:cover}.product-badges,.product-prices{display:flex;gap:8px;flex-wrap:wrap}.product-prices--stack{display:grid;gap:10px}.product-modal-info{display:grid;gap:14px}.product-modal-info p{margin:0;color:#e2dbf0;line-height:1.6}.modal-note{padding:12px 14px;border-radius:16px;background:rgba(255,208,0,.12);border:1px solid rgba(255,208,0,.18);color:#ffe78d}.modal-note.is-danger{background:rgba(255,95,119,.12);border-color:rgba(255,95,119,.22);color:#ffc4cd}.modal-footer--product{padding:0;border:0;display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap}
.drawer{justify-items:end}.drawer__sheet{width:min(100%,560px)}.drawer__body{padding:16px;display:grid;gap:18px;align-content:start}.cart-section h4{display:flex;align-items:center;gap:10px;margin:0 0 10px}.cart-list{display:grid;gap:10px}.cart-list.empty{color:var(--muted)}.cart-item{display:grid;grid-template-columns:68px 1fr auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}.cart-item img{width:68px;height:68px;border-radius:14px;object-fit:cover}.cart-item__content{display:grid;gap:4px}.cart-item small{display:block;color:var(--muted)}.remove-btn{border:0;background:transparent;color:#ff9fa8;font-size:1.2rem;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field--full{grid-column:1/-1}.check-row{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.92rem;padding:10px 4px}.link-btn{border:0;background:transparent;color:#8ad1ff;padding:0;cursor:pointer}.checkout-btn{width:auto;justify-self:start}.terms-body{white-space:pre-line;color:#e5dff6;line-height:1.6}.back-top{position:fixed;right:16px;bottom:18px;z-index:80;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#120d1d;color:#fff;box-shadow:var(--shadow);cursor:pointer}
.site-footer{position:relative;margin-top:32px;padding:28px 0 90px;background:rgba(9,6,15,.9);border-top:1px solid var(--line)}.footer-grid{width:min(1280px,calc(100% - 28px));margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.footer-col{display:grid;gap:10px}.footer-col h4{margin:0}.footer-item,.footer-col a{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}.footer-badges,.social-row,.footer-links{display:flex;gap:8px;flex-wrap:wrap}
.mobile-menu__head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.mobile-menu__nav{display:grid;padding:14px}
.about-hero,.faq-list{display:grid;gap:10px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.about-grid,.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.faq-item{border:1px solid var(--line);background:rgba(255,255,255,.03);padding:18px;border-radius:22px}.faq-item div{color:var(--muted);margin-top:8px;line-height:1.6}
.magic-flyer{position:fixed;z-index:280;pointer-events:none;transition:transform .78s cubic-bezier(.2,.8,.2,1),opacity .78s ease}.magic-flyer img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.34))}
.cartola-fab.is-pulsing{animation:cartolaPulse .76s ease-in-out 1}
@keyframes cartolaPulse{0%,100%{transform:scale(1)}35%{transform:scale(1.12)}70%{transform:scale(.96)}}
@keyframes loaderHop{0%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}55%{transform:translateY(0)}70%{transform:translateY(-4px)}}
@media (max-width:1100px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-modal-body{grid-template-columns:1fr}.product-modal-gallery{grid-template-columns:74px 1fr}.thumb-column button{width:74px;height:74px}}
@media (max-width:767px){body{padding-top:78px}.brand__copy{display:none}.topnav{display:none}.hero-panel h1{max-width:78%}.search-card{top:88px}.search-row--main{grid-template-columns:minmax(0,1fr) auto}.search-row--advanced{grid-template-columns:1fr}.form-grid,.shortcut-grid,.stats-grid,.about-grid,.tile-grid,.footer-grid,.catalog-grid{grid-template-columns:1fr}.cartola-fab,.cartola-fab img{width:40px;height:40px}.topbar{gap:10px;padding:12px 14px}.topbar__actions{gap:8px}.product-rail{grid-auto-columns:78%}.modal-shell,.drawer,.mobile-menu,.magic-overlay{padding:0}.modal-card,.drawer__sheet,.mobile-menu__sheet{width:100%;height:100%;max-height:none;border-radius:0}.site-footer{padding-bottom:82px}.product-modal-gallery{grid-template-columns:1fr}.thumb-column{grid-auto-flow:column;grid-template-columns:repeat(auto-fill,74px);overflow:auto}.thumb-column button{width:74px;height:74px}.page-loading__hat{width:48px;height:48px}}

/* === Refinos etapa 4 === */
.topbar{position:fixed}
.topbar::before,.site-footer::before{height:1px}
.topbar::before{top:auto;bottom:0}
.topnav{margin-left:auto;justify-content:flex-end}
.topbar__actions{margin-left:0}
.rainbow-icon i,.social-btn--rainbow i,.footer-col a i,.footer-item i,.about-card i,.shortcut-card i{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.search-card.is-collapsed .search-row--advanced{display:none}
.tile-card--visual{position:relative;overflow:hidden;min-height:220px;justify-content:end;text-align:left;color:#fff}
.tile-card__media,.tile-card__overlay{position:absolute;inset:0}
.tile-card__media img{width:100%;height:100%;object-fit:cover}
.tile-card__overlay{background:linear-gradient(180deg,rgba(6,4,10,.08),rgba(6,4,10,.88))}
.tile-card--visual strong,.tile-card--visual span{position:relative;z-index:1}
.product-card{grid-template-rows:auto 1fr}
.product-card__body{align-content:start;align-items:start;min-height:152px}
.badge-stack:empty{display:none}
.badge-pill.is-reserved{color:#ffd29a}
.quick-cart-btn{width:50px;height:50px;min-width:50px;padding:0;border-radius:50%;background:rgba(12,8,18,.9);border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.quick-cart-btn::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.quick-cart-btn__hat{display:grid;place-items:center;width:100%;height:100%}
.quick-cart-btn__hat i{font-size:1.05rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.price-stack{display:grid;gap:6px}
.price-stack__row{grid-template-columns:auto 1fr auto;padding:2px 0;border:0;border-radius:0;background:transparent;font-size:.92rem}
.price-stack__row span:nth-child(2){color:var(--muted)}
.price-stack__row strong{font-size:1rem}
.price-stack__icon{width:auto;height:auto;background:none;border-radius:0}
.social-btn--rainbow{background:rgba(255,255,255,.04);border:1px solid var(--line)}
.product-prices .price-stack__row,.product-prices--stack .price-stack__row{padding:4px 0}
.field select.is-invalid,.field.is-invalid,.field input.is-invalid{border-color:#ff6f8f;box-shadow:0 0 0 3px rgba(255,111,143,.14)}
.modal-note.is-warning{background:rgba(255,208,0,.12);border-color:rgba(255,208,0,.18);color:#ffe78d}
.product-modal-info .modal-footer--product{padding-top:4px}
.page-loading{background:rgba(7,4,12,.08);backdrop-filter:blur(1px)}
.page-loading__box{background:rgba(12,8,18,.55)}
.magic-flyer{transition:transform .95s cubic-bezier(.18,.88,.2,1),opacity .95s ease}
.magic-flyer img{filter:drop-shadow(0 12px 28px rgba(0,0,0,.36))}
@media (max-width:767px){
  .product-card__body{min-height:unset}
  .tile-card--visual{min-height:180px}
}

/* === Refinos etapa 5 === */
.page{width:min(1320px,calc(100% - 28px));margin:0 auto;padding-inline:0}
.screen,.hero-screen{width:100%}
.topbar{padding-inline:max(18px,calc((100vw - 1320px)/2 + 14px))}
.topnav{flex:1;justify-content:flex-end;padding-right:4px}
.menu-btn{display:none}
.hero-card{overflow:hidden}
.hero-card__bg{opacity:.34;transition:background-image .45s ease, opacity .3s ease, transform .6s ease;transform:scale(1.02)}
.hero-tabs{position:relative;z-index:2}
.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.shortcut-card{grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:18px 20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}
.shortcut-card__icon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.shortcut-card__icon i{font-size:1.7rem}
.shortcut-card__copy{display:grid;gap:4px}
.shortcut-card__copy span{color:var(--muted)}
.search-card{padding:12px 12px 11px}
.search-row--main{grid-template-columns:minmax(0,1.8fr) minmax(160px,.7fr) auto auto;align-items:stretch}
.search-row--advanced{margin-top:8px;grid-template-columns:repeat(4,minmax(0,1fr))}
.search-card .field,.search-card .soft-btn{min-height:46px}
.search-card .field input,.search-card .field select{font-size:.95rem}
.soft-btn{padding:0 14px}
.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tile-card--compact{position:relative;overflow:hidden;min-height:116px;padding:0;display:grid;grid-template-columns:42% 58%;align-items:stretch;border-radius:22px}
.tile-card--compact .tile-card__media,.tile-card--compact .tile-card__overlay{position:relative;inset:auto}
.tile-card--compact .tile-card__media{height:100%}
.tile-card--compact .tile-card__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.tile-card--compact .tile-card__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,4,10,.14),rgba(6,4,10,.78) 62%,rgba(6,4,10,.88))}
.tile-card--compact .tile-card__content{position:relative;z-index:1;display:grid;align-items:center;padding:16px 16px 16px 12px;text-align:left}
.tile-card--compact strong{font-size:.98rem;line-height:1.22}
.about-hero{max-width:860px}
.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about-card{padding:22px;gap:12px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025))}
.about-card__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12)}
.about-card__icon i{font-size:2rem}
.faq-list{gap:16px}
.faq-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))}
.faq-item__icon{display:grid;place-items:center;width:74px;height:74px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12)}
.faq-item__icon i{font-size:2rem}
.faq-item__copy{display:grid;gap:6px}
.faq-item__copy strong{font-size:1.04rem;line-height:1.3}
.faq-item__copy div{margin-top:0}
.product-modal-info{align-content:start}
.product-modal-info .field.select-field{margin-top:2px}
.product-modal-info .modal-footer--product{margin-top:2px}
.footer-col--socials .social-row{gap:10px}
.social-btn--rainbow{width:46px;height:46px;border-radius:16px;display:grid;place-items:center}
.social-btn--rainbow i{font-size:1.2rem}
.magic-flyer{z-index:320}
.magic-flyer__hat{width:100%;height:100%;background:url('../animacoes/cartola-add.svg') center/contain no-repeat}
.magic-flyer__plus{position:absolute;right:2px;top:0;font-size:1.45rem;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(255,255,255,.18)}
@media (max-width:1100px){
  .topbar{padding-inline:18px}
  .search-row--main{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) auto auto}
  .search-row--advanced{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .page{width:min(100%,calc(100% - 20px))}
  .topbar{padding-inline:14px}
  .menu-btn{display:grid}
  .topnav{display:none}
  .topbar__actions{margin-left:auto;justify-content:flex-end}
  .search-row--main{grid-template-columns:1fr 1fr}
  .search-row--main .soft-btn{min-height:44px}
  .search-row--main #clearFiltersBtn span,.search-row--main #toggleAdvancedBtn span{font-size:.88rem}
  .search-row--advanced{grid-template-columns:1fr 1fr}
  .field--search{grid-column:auto}
  .field--mode{grid-column:auto}
  .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile-card--compact{grid-template-columns:1fr;min-height:148px}
  .tile-card--compact .tile-card__overlay{background:linear-gradient(180deg,rgba(6,4,10,.1),rgba(6,4,10,.84))}
  .tile-card--compact .tile-card__content{padding:14px}
  .shortcut-grid,.about-grid,.stats-grid,.footer-grid{grid-template-columns:1fr}
  .shortcut-card{grid-template-columns:auto 1fr}
  .faq-item{grid-template-columns:1fr;gap:12px}
  .faq-item__icon,.about-card__icon{width:64px;height:64px}
}


/* === Refinos etapa 6 === */
.brand__logo{height:42px;width:auto}
.cartola-fab,.cartola-fab img{width:48px;height:48px}
.topbar{align-items:center}
.topbar__actions{gap:10px}
.menu-btn,.cartola-fab{border-radius:18px}
.hero-card{margin-top:6px}
.hero-card__bg{background-position:right center;background-size:cover}
.hero-tabs{overflow:auto;scrollbar-width:none;padding-bottom:2px}
.hero-tabs::-webkit-scrollbar{display:none}
.hero-tabs button{white-space:nowrap;background:rgba(255,255,255,.03);border:0;position:relative;color:var(--text)}
.hero-tabs button::before,.primary-btn::before,.ghost-btn::before,.soft-btn::before,.icon-btn::before,.quick-cart-btn::before,.social-btn--rainbow::before,.shortcut-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:var(--grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.primary-btn,.ghost-btn,.soft-btn,.icon-btn,.shortcut-card,.social-btn--rainbow,.quick-cart-btn,.hero-tabs button{
  background:rgba(255,255,255,.04)!important;border:0!important;box-shadow:none;color:var(--text);position:relative;overflow:hidden;
}
.primary-btn,.ghost-btn,.soft-btn{backdrop-filter:blur(6px)}
.primary-btn span,.ghost-btn span,.soft-btn span,.icon-btn i,.shortcut-card__icon i,.hero-tabs button,.quick-cart-btn__hat i{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.primary-btn,.ghost-btn,.soft-btn{padding:12px 18px}
.price-stack__row{background:none!important;box-shadow:none!important}
.topbar::before,.site-footer::before{height:1px}
.product-card{height:100%}
.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.product-card__body{display:grid;align-content:start;gap:10px}
.product-card__meta{min-height:38px}
.modal-card--compact{max-width:560px}
.rent-context-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 4px}
.rent-context-modal{display:grid;gap:14px}
.form-grid--compact{grid-template-columns:1fr 1fr}
.mobile-filter-fab{position:fixed;right:14px;bottom:88px;z-index:140}
.mobile-filter-fab .soft-btn{min-height:48px;border-radius:18px;padding:0 14px;box-shadow:0 16px 34px rgba(0,0,0,.28)}
.mobile-filter-fab.is-open .soft-btn{background:rgba(255,255,255,.08)!important}
.search-card{transition:box-shadow .2s ease,transform .2s ease}
.search-card.is-collapsed .search-row--advanced{display:none!important}
.field[hidden]{display:none!important}
.modal-note{line-height:1.45}
.product-modal-info{gap:12px}
.product-modal-body{align-items:start}
.shortcut-card{position:relative}
.shortcut-card__icon{background:rgba(255,255,255,.03)!important}
.footer-col a,.footer-item{gap:10px}
.footer-col a i,.footer-item i{font-size:1rem}
@media (min-width:768px) and (max-width:1100px){
  .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  body{padding-top:88px}
  .brand__logo{height:36px}
  .cartola-fab,.cartola-fab img{width:44px;height:44px}
  .topbar{padding-inline:14px;justify-content:space-between}
  .topbar__actions{margin-left:auto;display:flex;align-items:center;gap:8px}
  .hero-card{margin-top:10px}
  .hero-panel h1{max-width:100%}
  .search-card{top:96px}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-rail{grid-auto-columns:calc(50% - 8px)}
  .rent-context-inline,.form-grid--compact{grid-template-columns:1fr}
  .product-card__body{min-height:138px}
  .product-card__meta{min-height:34px}
}

.primary-btn > span,.ghost-btn > span,.soft-btn > span,.hero-tabs button > span,.topnav button > span,.mobile-menu__nav button > span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}


/* === Refinos etapa atual === */
.topbar::before{top:auto;bottom:0;height:1px}
.brand.is-active{filter:brightness(1.06)}
.topnav button,.mobile-menu__nav button,.footer-links button,.primary-btn,.ghost-btn,.soft-btn,.icon-btn,.hero-tabs button{position:relative;background:rgba(255,255,255,.035)!important;border:0!important;color:var(--text)!important;overflow:hidden}
.topnav button::before,.mobile-menu__nav button::before,.footer-links button::before,.primary-btn::before,.ghost-btn::before,.soft-btn::before,.icon-btn::before,.hero-tabs button::before,.quick-cart-btn::before,.shortcut-card::before,.social-btn--rainbow::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.42;pointer-events:none;transition:opacity .18s ease}
.topnav button:hover::before,.mobile-menu__nav button:hover::before,.footer-links button:hover::before,.topnav button.is-active::before,.mobile-menu__nav button.is-active::before,.footer-links button.is-active::before,.primary-btn:hover::before,.ghost-btn:hover::before,.soft-btn:hover::before,.icon-btn:hover::before,.hero-tabs button:hover::before,.hero-tabs button.is-active::before,.quick-cart-btn:hover::before,.quick-cart-btn:focus-visible::before,.shortcut-card:hover::before,.social-btn--rainbow:hover::before{opacity:1}
.primary-btn span,.ghost-btn span,.soft-btn span,.hero-tabs button span,.topnav button span,.mobile-menu__nav button span,.footer-links button span,.icon-btn i,.quick-cart-btn__hat i,.shortcut-card__icon i{background:none!important;color:var(--text)!important;-webkit-text-fill-color:currentColor}
.topnav button.is-active,.mobile-menu__nav button.is-active,.footer-links button.is-active,.hero-tabs button.is-active{background:rgba(255,255,255,.055)!important}
.hero-tabs button{font-weight:600}
.cartola-fab,.cartola-fab img{width:42px;height:42px}
.quick-cart-btn{top:auto;right:14px;bottom:14px;z-index:3;display:grid;place-items:center;width:46px;height:46px;min-width:46px}
.quick-cart-btn[disabled]{opacity:.38}
.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.tile-card--compact{min-height:132px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.tile-card--compact::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.36;pointer-events:none;transition:opacity .18s ease}
.tile-card--compact:hover{transform:translateY(-2px)}
.tile-card--compact:hover::before{opacity:1}
.tile-card--compact .tile-card__media{height:100%;overflow:hidden}
.tile-card--compact .tile-card__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.tile-card--compact .tile-card__overlay{background:linear-gradient(90deg,rgba(6,4,10,.08),rgba(6,4,10,.58) 42%,rgba(6,4,10,.9) 100%)}
.tile-card--compact .tile-card__content{position:relative;z-index:1;display:grid;place-items:center;padding:14px 16px}
.tile-card--compact .tile-card__label{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;padding:10px 14px;border-radius:999px;background:rgba(8,6,14,.58);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);text-align:center}
.tile-card--compact .tile-card__icon{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.06)}
.tile-card--compact .tile-card__icon i{font-size:1rem}
.tile-card--compact strong{font-size:1rem;line-height:1.22;color:#fff;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.tile-card__media--placeholder{background:linear-gradient(135deg,rgba(255,79,94,.16),rgba(153,82,255,.16))}
.modal-shell,.drawer,.mobile-menu{opacity:0;transition:opacity .2s ease}
.modal-shell .modal-card,.drawer .drawer__sheet,.mobile-menu .mobile-menu__sheet{transform:translateY(18px) scale(.985);opacity:.98;transition:transform .22s ease,opacity .22s ease}
.modal-shell.is-visible,.drawer.is-visible,.mobile-menu.is-visible{opacity:1}
.modal-shell.is-visible .modal-card,.drawer.is-visible .drawer__sheet,.mobile-menu.is-visible .mobile-menu__sheet{transform:translateY(0) scale(1);opacity:1}
.cartola-fab.is-pulsing{animation:cartolaPulse .82s ease-in-out 1}
.cartola-fab.is-celebrating::after,.cartola-fab.is-celebrating::before{content:"✦";position:absolute;inset:auto;font-size:15px;color:#fff;opacity:0;animation:cartolaSpark .82s ease-out 1}
.cartola-fab.is-celebrating::before{left:-8px;top:10px}
.cartola-fab.is-celebrating::after{right:-8px;top:4px;animation-delay:.08s}
@keyframes cartolaSpark{0%{opacity:0;transform:translateY(0) scale(.4) rotate(0)}20%{opacity:1}100%{opacity:0;transform:translateY(-18px) scale(1.1) rotate(18deg)}}
@media (max-width:1100px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.catalog-grid{grid-template-columns:1fr}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-card--compact{grid-template-columns:1fr;min-height:170px}.tile-card--compact .tile-card__overlay{background:linear-gradient(180deg,rgba(6,4,10,.08),rgba(6,4,10,.92))}.tile-card--compact .tile-card__content{padding:12px}.product-rail{grid-auto-columns:78%}}

.shortcut-grid{align-items:stretch}
.shortcut-card{grid-template-columns:auto 1fr;align-items:center;min-height:106px;text-align:left}
.shortcut-card__copy{display:grid;gap:4px}
.shortcut-card__copy strong{line-height:1.2}
.product-card__image{overflow:hidden}
.modal-note .link-btn,[data-open-faq].link-btn{padding:0;border:0;background:none;color:#fff;text-decoration:underline;cursor:pointer;font-weight:700}


.product-code{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}
.checkout-feedback{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:.92rem;line-height:1.4}
.checkout-feedback.is-warning{border-color:rgba(255,193,7,.45);background:rgba(255,193,7,.08);color:#ffe08a}
.checkout-feedback.is-danger{border-color:rgba(255,99,132,.45);background:rgba(255,99,132,.08);color:#ffd3dc}

/* === Loja pública: disponibilidade limpa para cliente === */
.badge-pill.is-unavailable{color:#ffd79a;background:rgba(255,193,7,.12);border-color:rgba(255,193,7,.26)}
.catalog-empty{grid-column:1/-1;display:grid;place-items:center;gap:8px;padding:38px 20px;border:1px dashed rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.035);color:var(--muted);text-align:center;min-height:210px}
.catalog-empty i{font-size:2rem;color:#fff;opacity:.9}
.catalog-empty strong{color:var(--text);font-size:1.04rem}
.catalog-empty span{max-width:520px;line-height:1.45}
.field select option:disabled{color:#888;background:#1b1724}
#rentEventBadge{font-size:.72rem;padding:5px 8px;color:#ffe9a8}

/* === Loja pública: Cartola organizada e mensagens de conversão === */
.modal-note.is-success{background:rgba(25,135,84,.13);border-color:rgba(25,135,84,.28);color:#c9f7d8}
.checkout-group{display:grid;gap:10px;margin:0 0 14px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.025)}
.checkout-group h5{display:flex;align-items:center;gap:9px;margin:0;color:#fff;font-size:.98rem;line-height:1.25}
.checkout-group h5 i{opacity:.92}
.checkout-group--payment-soon{background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-style:dashed}
.checkout-note{margin:0;color:var(--muted);font-size:.92rem;line-height:1.48}
.catalog-empty .link-btn{color:#fff;text-decoration:underline;font-weight:800}
@media (max-width:767px){.checkout-group{padding:12px;border-radius:18px}.checkout-group .form-grid{grid-template-columns:1fr}}

/* v36 — ajustes de contexto de locação, venda sem CEP obrigatório e venda cruzada */
.note-line{display:flex;align-items:flex-start;gap:10px;line-height:1.45}.note-line>i{font-size:1.15rem;line-height:1.35;opacity:.95}.note-line strong{color:inherit}.product-share-btn{display:inline-flex;align-items:center;gap:7px}.product-related{margin-top:4px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.025);display:grid;gap:10px}.product-related__head{display:grid;gap:2px}.product-related__head span{display:flex;align-items:center;gap:8px;color:#fff;font-weight:800}.product-related__head small{color:var(--muted);line-height:1.35}.product-related__rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.related-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);color:#fff;padding:7px;display:grid;gap:7px;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.related-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.07)}.related-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:#fff}.related-card span{font-size:.78rem;font-weight:750;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.context-change-modal{display:grid;gap:14px}.context-change-modal p{margin:0;color:#eadff8;line-height:1.55}.context-change-list{display:grid;gap:9px;max-height:280px;overflow:auto}.context-change-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.context-change-item img{width:58px;height:58px;border-radius:12px;object-fit:cover;background:#fff}.context-change-item strong{display:block;color:#fff}.context-change-item small{display:block;color:var(--muted);margin-top:2px}.context-change-item i{margin-right:4px}.checkout-group--payment-soon{display:none!important}
@media (max-width:767px){.product-related__rail{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-footer--product .product-share-btn{width:100%;justify-content:center}.context-change-list{max-height:42vh}}

/* v37 — quantidade, checkout, frete e home mais estável */
.hero-screen{display:grid;gap:22px}.hero-card{display:grid;align-items:stretch;min-height:360px}.hero-card__content{min-height:360px;align-content:center}.hero-panel{min-height:188px;display:grid;align-content:center}.hero-tabs{max-width:100%;scroll-behavior:auto;overscroll-behavior-x:contain}.home-section,.screen{scroll-margin-top:110px}.product-rail,.tile-grid,.catalog-grid{justify-content:center}.tile-card--compact .tile-card__media img,.product-card__image img{object-position:center center}.hero-card__bg{background-position:center center!important}
.qty-stepper,.cart-qty-stepper{display:inline-grid;grid-template-columns:36px minmax(48px,auto) 36px;align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.045);overflow:hidden;width:max-content}.qty-stepper button,.cart-qty-stepper button{width:36px;height:36px;border:0;background:rgba(255,255,255,.035);color:#fff;display:grid;place-items:center;cursor:pointer}.qty-stepper button:hover:not(:disabled),.cart-qty-stepper button:hover:not(:disabled){background:rgba(255,255,255,.09)}.qty-stepper button:disabled,.cart-qty-stepper button:disabled{opacity:.35;cursor:not-allowed}.qty-stepper input{width:54px;height:36px;border:0;background:transparent;color:#fff;text-align:center;font-weight:900;font-variant-numeric:tabular-nums}.qty-stepper input:focus{outline:none}.quantity-field{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quantity-field__label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;font-weight:750}.cart-qty-stepper{grid-template-columns:30px minmax(38px,auto) 30px;margin-top:7px;border-radius:14px}.cart-qty-stepper button{width:30px;height:30px}.cart-qty-stepper span{min-width:38px;text-align:center;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.field input.is-valid,.field textarea.is-valid,.field select.is-valid{border-color:rgba(25,135,84,.72)!important;box-shadow:0 0 0 3px rgba(25,135,84,.15)!important;background:rgba(25,135,84,.06)!important}.field input.is-invalid,.field textarea.is-invalid,.field select.is-invalid{border-color:rgba(255,99,132,.8)!important;box-shadow:0 0 0 3px rgba(255,99,132,.16)!important;background:rgba(255,99,132,.065)!important}.field input:disabled.is-valid{opacity:.95}.checkout-group__hint{margin:0;color:var(--muted);font-size:.88rem;line-height:1.4}.payment-options{display:grid;gap:9px}.payment-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.032);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.payment-choice:hover{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.055);transform:translateY(-1px)}.payment-choice input{margin-top:4px}.payment-choice strong{display:flex;align-items:center;gap:8px;color:#fff;font-size:.94rem}.payment-choice small{display:block;margin-top:2px;color:var(--muted);line-height:1.35}.payment-choice.is-disabled{opacity:.45;cursor:not-allowed}.payment-choice.is-disabled:hover{transform:none;background:rgba(255,255,255,.032)}.checkout-feedback.is-success{border-color:rgba(25,135,84,.45);background:rgba(25,135,84,.09);color:#c9f7d8}.shipping-quote-card{display:grid;gap:9px;margin-top:8px;padding:12px;border-radius:18px;border:1px dashed rgba(255,255,255,.18);background:rgba(255,255,255,.028)}.shipping-quote-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.shipping-quote-card strong{color:#fff}.shipping-quote-status{color:var(--muted);font-size:.9rem;line-height:1.42}.shipping-quote-status.is-success{color:#c9f7d8}.shipping-quote-status.is-warning{color:#ffe08a}.shipping-quote-status.is-danger{color:#ffd3dc}
@media (min-width:1101px){.hero-card{min-height:390px}.hero-card__content{min-height:390px}.tile-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}.shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:767px){.hero-card,.hero-card__content{min-height:420px}.hero-panel{min-height:auto}.quantity-field{justify-content:space-between}.qty-stepper{grid-template-columns:42px minmax(58px,auto) 42px}.qty-stepper button{width:42px;height:42px}.qty-stepper input{height:42px}.payment-choice{padding:10px}.shipping-quote-card__head{align-items:flex-start}}
.payment-choice-grid{display:grid;gap:9px}.payment-hint{padding:10px 12px;border-radius:15px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:var(--muted);font-size:.9rem;line-height:1.4}.payment-hint.is-success{border-color:rgba(25,135,84,.35);background:rgba(25,135,84,.08);color:#c9f7d8}.payment-hint.is-warning{border-color:rgba(255,193,7,.35);background:rgba(255,193,7,.08);color:#ffe08a}.payment-hint.is-danger{border-color:rgba(255,99,132,.35);background:rgba(255,99,132,.08);color:#ffd3dc}

/* v38 — navegação, home mais alinhada, mensagens curtas e janela de teste */
.topnav button,.mobile-menu__nav button,.footer-links button,[data-screen],[data-filter-category],[data-filter-theme]{cursor:pointer}
.page{width:min(1160px,calc(100% - 32px));justify-items:stretch}.hero-screen{max-width:100%;margin:0 auto}.hero-card,.shortcut-grid,.rail-section,.screen>.section-head,.catalog-shell,.about-hero,.stats-grid,.about-grid,.faq-list{width:100%}.hero-card{min-height:320px;border-radius:28px}.hero-card__content{min-height:320px;padding:28px;align-content:center}.hero-panel{max-width:650px;min-height:0}.hero-tabs{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.hero-tabs button{height:38px;display:inline-flex;align-items:center}.shortcut-grid{grid-template-columns:repeat(2,minmax(240px,1fr));max-width:560px}.rail-section .section-head h2:empty{display:none}.rail-section{display:grid;gap:12px}.section-head{align-items:center}.product-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-auto-flow:initial;grid-auto-columns:initial;overflow:visible;gap:14px}.product-rail .product-card{min-width:0}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.tile-card--compact{min-height:130px}.tile-card--compact .tile-card__media img{object-fit:cover;object-position:center}.field.is-valid{border-color:rgba(25,135,84,.72)!important;box-shadow:0 0 0 3px rgba(25,135,84,.15)!important;background:rgba(25,135,84,.055)!important}.field.is-invalid{border-color:rgba(255,99,132,.82)!important;box-shadow:0 0 0 3px rgba(255,99,132,.16)!important;background:rgba(255,99,132,.06)!important}.modal-note{font-size:.92rem}.note-line{gap:9px;line-height:1.35}.note-line strong{font-size:.94rem}.order-test-modal{display:grid;gap:14px}.order-test-alert{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border-radius:18px;border:1px solid rgba(255,211,90,.28);background:rgba(255,211,90,.08);color:#ffe8a8}.order-test-alert i{font-size:1.4rem}.order-test-alert strong,.order-test-alert span{display:block}.order-test-alert span{color:#f3dfad;font-size:.9rem;margin-top:2px}.order-test-summary{padding:12px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.035);display:grid;gap:5px}.order-test-summary p{margin:0;color:var(--muted);line-height:1.45}.order-test-summary strong{color:#fff}.order-test-list{display:grid;gap:10px}.order-test-list h4{margin:8px 0 0}.order-test-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03)}.order-test-item img{width:54px;height:54px;border-radius:12px;object-fit:cover;background:#fff}.order-test-item strong,.order-test-item small{display:block}.order-test-item small{color:var(--muted);margin-top:2px}.order-test-item b{white-space:nowrap}.checkout-btn{width:100%;justify-content:center}.magic-store-page .magic-field .form-control,.magic-store-page .magic-field .form-select{width:100%;min-width:0;height:auto;min-height:42px;line-height:1.35;padding:.58rem .72rem;white-space:normal}.magic-store-page .magic-field input.form-control{overflow:visible;text-overflow:clip}.magic-store-page textarea.form-control{min-height:96px}.magic-store-page input[name="mp_public_key"],.magic-store-page input[name="mp_access_token"],.magic-store-page input[name="pix_chave"],.magic-store-page input[name="link_pagamento_base"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.magic-store-page .magic-field.col-3{grid-column:span 4}.magic-store-page .magic-field.col-4{grid-column:span 6}.magic-store-page .magic-field.col-6{grid-column:span 6}
@media (min-width:1180px){.magic-store-page input[name="mp_public_key"],.magic-store-page input[name="mp_access_token"],.magic-store-page input[name="link_pagamento_base"]{min-height:46px}.magic-store-page .magic-field:has(input[name="mp_public_key"]),.magic-store-page .magic-field:has(input[name="mp_access_token"]),.magic-store-page .magic-field:has(input[name="link_pagamento_base"]){grid-column:span 12}}
@media (min-width:1101px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-card{min-height:340px}.hero-card__content{min-height:340px}.shortcut-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.page{width:min(100% - 24px,760px)}.product-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcut-grid{max-width:none;grid-template-columns:1fr}.hero-card,.hero-card__content{min-height:360px}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.hero-tabs{flex-wrap:nowrap;overflow:auto}.product-rail{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:initial;overflow:visible}.product-card__body{padding:12px}.price-stack__row{padding:8px 9px}.hero-card,.hero-card__content{min-height:390px}.tile-card--compact{min-height:150px}.order-test-item{grid-template-columns:48px minmax(0,1fr);}.order-test-item b{grid-column:2}.magic-store-page .magic-field.col-3,.magic-store-page .magic-field.col-4,.magic-store-page .magic-field.col-6{grid-column:span 12}}

/* v39 — Cartola com totais, número de endereço e pagamento em modo teste */
.cart-summary{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border-style:solid!important}.cart-total-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0;color:var(--muted);border-bottom:1px dashed rgba(255,255,255,.1)}.cart-total-line:last-child{border-bottom:0}.cart-total-line strong{color:#fff;white-space:nowrap}.cart-total-line--grand{margin-top:2px;padding-top:11px;font-size:1.05rem;color:#fff}.cart-total-line--grand strong{font-size:1.15rem;color:#c9f7d8}.payment-tool{display:grid;gap:9px;padding:13px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.035)}.payment-tool strong{display:flex;align-items:center;gap:8px;color:#fff}.payment-tool p{margin:0;color:var(--muted);line-height:1.42}.payment-tool small{color:var(--muted);word-break:break-all}.payment-tool.is-mp{border-color:rgba(44,123,229,.36);background:rgba(44,123,229,.09)}.payment-tool.is-pix{border-color:rgba(25,135,84,.38);background:rgba(25,135,84,.09)}.payment-tool.is-link{border-color:rgba(255,211,90,.38);background:rgba(255,211,90,.08)}.payment-tool.is-warning{border-color:rgba(255,193,7,.45);background:rgba(255,193,7,.08)}.payment-tool.is-muted{opacity:.9}.payment-copy-area{width:100%;min-height:86px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.22);color:#fff;padding:10px;font-size:.78rem;line-height:1.35;resize:vertical}.soft-btn.is-copied{border-color:rgba(25,135,84,.5)!important;background:rgba(25,135,84,.13)!important}.order-test-summary p:last-child{font-size:1.04rem}.field input#clienteNumero{text-align:left}@media(max-width:767px){.cart-total-line--grand strong{font-size:1.05rem}.payment-tool .primary-btn{width:100%;justify-content:center}}

/* v40 - pagamento e navegação */
.payment-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.pix-qr-box{display:grid;justify-items:center;gap:8px;margin:10px 0;padding:12px;border-radius:18px;background:#fff;color:#18121f;width:max-content;max-width:100%}
.pix-qr-box canvas{display:block;width:180px!important;height:180px!important}
.pix-qr-box small{color:#362e40;font-weight:700;text-align:center}
.qr-fallback{display:block;color:var(--muted);margin:6px 0}
.screen:not(.is-active){display:none!important}
.screen.is-active{display:grid!important}
@media (max-width:767px){.payment-actions{display:grid}.payment-actions .primary-btn,.payment-actions .ghost-btn{width:100%;justify-content:center}.pix-qr-box{width:100%}}

/* v42 — QR Code Pix renderizado pelo gerador PHP do ERP */
.pix-qr-box img{
  width:220px;
  max-width:100%;
  height:auto;
  display:block;
  margin:0 auto;
  border-radius:18px;
  background:#fff;
  padding:10px;
}
.payment-actions .is-copied,
.soft-btn.is-copied,
.ghost-btn.is-copied{
  border-color:rgba(45,212,191,.7)!important;
  box-shadow:0 0 0 3px rgba(45,212,191,.14)!important;
}


/* v43 — Cartola: resumo sem borda branca, frete configurável e pagamentos modulares */
.cart-section.cart-summary{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.026) 58%,rgba(124,77,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 14px 32px rgba(0,0,0,.18);
}
.cart-section.cart-summary::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,#ff385c,#ff8a00,#ffd43b,#30c56b,#20a4ff,#7c4dff,#c73cff);
  opacity:.92;
}
.cart-section.cart-summary h4{padding-top:4px;color:#fff;letter-spacing:.01em}
.cart-total-line{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.12)}
.cart-total-line span{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.68);font-size:.9rem}
.cart-total-line strong{font-size:.97rem}
.cart-total-line--grand{margin-top:4px;padding:13px 0 4px;border-bottom:0;font-size:1.07rem}
.cart-total-line--grand strong{font-size:1.28rem;color:#fff;text-shadow:0 0 18px rgba(48,197,107,.35)}
.payment-choice.payment-choice--module{
  grid-template-columns:auto 48px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:74px;
  padding:12px;
  border-radius:18px;
}
.payment-choice.payment-choice--module .payment-choice__icon{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.045));
  color:#fff;font-size:1.45rem;border:1px solid rgba(255,255,255,.11);
}
.payment-choice.payment-choice--module .payment-choice__copy{min-width:0}
.payment-choice.payment-choice--module .payment-choice__copy strong{font-size:.98rem;line-height:1.1;margin:0 0 4px;color:#fff}
.payment-choice.payment-choice--module .payment-choice__copy small{font-size:.82rem;line-height:1.32;color:var(--muted)}
.payment-choice.payment-choice--module[hidden]{display:none!important}
.pix-qr-box{padding:16px;border-radius:22px;box-shadow:0 12px 26px rgba(0,0,0,.14)}
.pix-qr-box img{width:280px!important;max-width:min(100%,280px);border-radius:20px;padding:12px}
.shipping-quote-card{border-style:solid;background:linear-gradient(135deg,rgba(32,164,255,.075),rgba(255,255,255,.032));border-color:rgba(32,164,255,.22)}
@media(max-width:767px){
  .payment-choice.payment-choice--module{grid-template-columns:auto 44px minmax(0,1fr);min-height:68px;padding:10px}
  .payment-choice.payment-choice--module .payment-choice__icon{width:44px;height:44px;border-radius:14px;font-size:1.28rem}
  .pix-qr-box img{width:250px!important;max-width:100%}
  .cart-total-line--grand strong{font-size:1.14rem}
}

/* v44 — Cartola: endereço completo, resumo no fechamento e estados visuais mais claros */
.field select{
  color-scheme:dark;
}
.field select option{
  color:#f8f4ff;
  background:#191326;
}
.field select option:checked,
.field select option:hover{
  color:#fff;
  background:#251d35;
}
.delivery-selected-info{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  color:var(--muted);
  font-size:.9rem;
  line-height:1.35;
}
.delivery-selected-info i{
  color:#8ad1ff;
  font-size:1.05rem;
  margin-top:1px;
}
.delivery-selected-info strong{color:#fff}
.cart-section.cart-summary{
  position:relative;
  overflow:visible;
  padding:15px;
  margin:2px 0 8px;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(31,25,45,.96),rgba(22,17,34,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
.cart-section.cart-summary::before{display:none!important}
.cart-section.cart-summary h4{
  padding:0;
  margin:0 0 12px;
  color:#fff;
}
.cart-total-line{
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cart-total-line span{
  color:rgba(255,255,255,.72);
  font-size:.93rem;
}
.cart-total-line strong{
  font-size:1rem;
}
.cart-total-line--grand{
  margin-top:5px;
  padding:12px 0 0;
}
.cart-total-line--grand span{
  color:#fff;
  font-weight:800;
}
.cart-total-line--grand strong{
  color:#fff;
  font-size:1.22rem;
  text-shadow:none;
}
.payment-choice.payment-choice--module.is-selected,
.payment-choice.payment-choice--module:has(input:checked){
  border-color:rgba(74,144,226,.72);
  background:linear-gradient(135deg,rgba(37,99,235,.22),rgba(14,116,144,.12));
  box-shadow:0 0 0 3px rgba(74,144,226,.12), inset 0 1px 0 rgba(255,255,255,.06);
}
.payment-choice.payment-choice--module.is-selected .payment-choice__icon,
.payment-choice.payment-choice--module:has(input:checked) .payment-choice__icon{
  border-color:rgba(138,209,255,.45);
  background:linear-gradient(135deg,rgba(74,144,226,.45),rgba(32,164,255,.18));
  color:#fff;
}
.payment-choice.payment-choice--module.is-selected .payment-choice__copy small,
.payment-choice.payment-choice--module:has(input:checked) .payment-choice__copy small{
  color:rgba(233,244,255,.82);
}
.check-row#termsWrap{
  margin:2px 0 4px;
  padding:12px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.028);
}
.check-row#termsWrap.is-invalid{
  border-color:rgba(255,99,132,.75);
  background:rgba(255,99,132,.07);
}
@media(max-width:767px){
  .cart-section.cart-summary{padding:13px;border-radius:18px}
  .delivery-selected-info{font-size:.86rem}
}
.field select{
  background-color:#130e1e;
  color:#fff;
}
.field.select-field{
  background:rgba(255,255,255,.035);
}


/* v45 — Cartola: resumo inteligente, Pix padrão, validação só na borda e ajustes finos */
.cartola-title{
  display:flex;
  align-items:center;
  gap:10px;
}
.cartola-title img{
  width:34px;
  height:34px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 8px 18px rgba(0,0,0,.24);
}
.field--no-icon textarea,
.field--no-icon input,
.field--no-icon select{
  padding-left:14px!important;
}
.field.is-valid,
.field input.is-valid,
.field textarea.is-valid,
.field select.is-valid{
  border-color:rgba(34,197,94,.82)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.13)!important;
  background:transparent!important;
}
.field.is-invalid,
.field input.is-invalid,
.field textarea.is-invalid,
.field select.is-invalid{
  border-color:rgba(255,99,132,.88)!important;
  box-shadow:0 0 0 3px rgba(255,99,132,.14)!important;
  background:transparent!important;
}
.field.is-valid input,
.field.is-valid textarea,
.field.is-valid select,
.field.is-invalid input,
.field.is-invalid textarea,
.field.is-invalid select{
  background:transparent!important;
}
.cart-section.cart-summary{
  border-color:rgba(255,255,255,.105)!important;
  background:linear-gradient(145deg,rgba(27,22,41,.97),rgba(18,14,29,.97));
  box-shadow:none;
}
.cart-summary--preview{
  margin-top:2px;
  margin-bottom:0;
}
.cart-summary--checkout{
  margin-top:2px;
  margin-bottom:10px;
  background:linear-gradient(145deg,rgba(30,25,45,.98),rgba(20,16,31,.98));
}
.cart-summary--preview h4::after{
  content:"prévia";
  margin-left:auto;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.58);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.field select,
.field.select-field select{
  background-color:#130e1e!important;
  color:#fff!important;
}
.field select option{
  color:#fff!important;
  background:#161020!important;
}
.field select option:checked{
  color:#fff!important;
  background:#28324a!important;
}
.payment-choice.payment-choice--module.is-selected,
.payment-choice.payment-choice--module:has(input:checked){
  border-color:rgba(74,144,226,.82)!important;
  background:linear-gradient(135deg,rgba(37,99,235,.29),rgba(14,116,144,.16))!important;
  box-shadow:0 0 0 3px rgba(74,144,226,.14), inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.payment-choice.payment-choice--module.is-selected .payment-choice__icon,
.payment-choice.payment-choice--module:has(input:checked) .payment-choice__icon{
  background:linear-gradient(135deg,rgba(59,130,246,.62),rgba(56,189,248,.22))!important;
}
@media(max-width:767px){
  .cartola-title img{width:30px;height:30px;border-radius:10px}
  .cart-section.cart-summary{padding:13px 14px}
}

/* v46 — validação só na linha da borda, Pix priorizado e descontos no resumo */
.field.is-valid,
.field input.is-valid,
.field textarea.is-valid,
.field select.is-valid{
  border-color:rgba(34,197,94,.9)!important;
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
  outline:none!important;
}
.field.is-invalid,
.field input.is-invalid,
.field textarea.is-invalid,
.field select.is-invalid{
  border-color:rgba(255,99,132,.96)!important;
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
  outline:none!important;
}
.field.is-valid input,
.field.is-valid textarea,
.field.is-valid select,
.field.is-invalid input,
.field.is-invalid textarea,
.field.is-invalid select{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
.payment-choice--pix{order:-10}
.payment-choice__copy em{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(34,197,94,.16);
  border:1px solid rgba(34,197,94,.35);
  color:#c9f7d8;
  font-style:normal;
  font-size:.68rem;
  font-weight:900;
  white-space:nowrap;
}
.cart-total-line--discount strong{color:#c9f7d8!important}
.cart-discount-list{
  display:grid;
  gap:5px;
  margin:-2px 0 6px;
  padding:8px 10px;
  border-radius:13px;
  border:1px solid rgba(34,197,94,.2);
  background:rgba(34,197,94,.07);
}
.cart-discount-list span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:rgba(231,255,239,.86);
  font-size:.82rem;
  line-height:1.3;
}
.cart-discount-list i{color:#86efac;margin-right:6px}
.cart-discount-list b{white-space:nowrap;color:#fff}
@media(max-width:767px){
  .payment-choice__copy em{margin-left:0;margin-top:4px;width:max-content}
  .cart-discount-list span{align-items:flex-start;flex-direction:column;gap:2px}
}

/* v47 — Cartola com checkout rápido para compra e fluxo seguro para locação */
.checkout-mode-intro{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border:1px solid rgba(138,209,255,.18);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(255,255,255,.026));
  color:#fff;
}
.checkout-mode-intro strong{font-size:1rem;line-height:1.25}
.checkout-mode-intro span{color:var(--muted);font-size:.9rem;line-height:1.4}
.checkout-group--rental{
  border-color:rgba(138,209,255,.2);
  background:linear-gradient(135deg,rgba(59,130,246,.075),rgba(255,255,255,.026));
}
.checkout-note--soft{
  padding:9px 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.085);
  background:rgba(255,255,255,.025);
}
.checkout-address-slot{display:grid;gap:10px;margin-top:10px}
.checkout-address-fields{display:grid;gap:10px}
.checkout-address-fields[hidden]{display:none!important}
.cart-summary--checkout{order:-5}
.cart-summary--preview{margin-top:0;margin-bottom:0}
.cart-total-line#cartSaleRow strong,
.cart-total-line#cartRentRow strong{font-size:.92rem;color:#eadff8;white-space:normal;text-align:right}
.payment-choice-grid.is-invalid{
  padding:8px;
  border:1px solid rgba(255,99,132,.9);
  border-radius:20px;
}
.field.is-valid,
.field input.is-valid,
.field textarea.is-valid,
.field select.is-valid{
  border-color:rgba(34,197,94,.9)!important;
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
}
.field.is-invalid,
.field input.is-invalid,
.field textarea.is-invalid,
.field select.is-invalid{
  border-color:rgba(255,99,132,.96)!important;
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
}
.field input[readonly]{opacity:.88;cursor:not-allowed}
@media(max-width:767px){
  .checkout-mode-intro{padding:12px;border-radius:16px}
  .cart-total-line#cartSaleRow,
  .cart-total-line#cartRentRow{align-items:flex-start}
}

/* v48 — Cartola: contexto sincronizado, endereço compacto e navegação visual por seção */
.field.is-valid,
.field.is-invalid,
.field input.is-valid,
.field input.is-invalid,
.field textarea.is-valid,
.field textarea.is-invalid,
.field select.is-valid,
.field select.is-invalid{
  box-shadow:none!important;
  background:transparent!important;
  filter:none!important;
  outline:none!important;
  backdrop-filter:none!important;
}
.field.is-valid,
.field input.is-valid,
.field textarea.is-valid,
.field select.is-valid{border-color:#22c55e!important}
.field.is-invalid,
.field input.is-invalid,
.field textarea.is-invalid,
.field select.is-invalid{border-color:#fb7185!important}
.checkout-address-fields .form-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:stretch;
}
.checkout-address-fields .field--cep{grid-column:span 4}
.checkout-address-fields .field--street{grid-column:span 8}
.checkout-address-fields .field--number{grid-column:span 3}
.checkout-address-fields .field--district{grid-column:span 5}
.checkout-address-fields .field--city{grid-column:span 3}
.checkout-address-fields .field--uf{grid-column:span 1;min-width:74px}
.checkout-address-fields .field--full{grid-column:1/-1}
.checkout-address-fields .field--number input,
.checkout-address-fields .field--uf select{padding-left:38px}
#showCheckoutBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
.product-card__image .quick-cart-btn{
  left:auto!important;
  right:12px!important;
  top:auto!important;
  bottom:12px!important;
  transform:none!important;
  z-index:6;
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:16px;
}
.product-card__image .badge-stack{max-width:calc(100% - 72px)}
.tile-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:stretch}
.tile-card--thumb{
  min-height:82px;
  height:82px;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 14px 10px 10px;
  border-radius:999px;
  text-align:left;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.095);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.tile-card--thumb:hover{transform:translateY(-2px);border-color:rgba(138,209,255,.32);background:linear-gradient(135deg,rgba(74,144,226,.12),rgba(255,255,255,.03))}
.tile-card--thumb::before{display:none!important}
.tile-card--thumb .tile-card__media,
.tile-card--thumb .tile-card__media--round{
  position:relative;
  inset:auto;
  width:62px;
  height:62px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  flex:0 0 62px;
}
.tile-card--thumb .tile-card__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.tile-card--thumb .tile-card__placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--grad);color:#130d1f;font-size:1.25rem}
.tile-card--thumb .tile-card__overlay{display:none!important}
.tile-card--thumb .tile-card__content{
  position:relative;
  z-index:1;
  display:grid;
  gap:2px;
  padding:0;
  place-items:initial;
  text-align:left;
  min-width:0;
}
.tile-card--thumb .tile-card__content small{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.tile-card--thumb .tile-card__content strong{font-size:.98rem;line-height:1.2;color:#fff;text-align:left;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:767px){
  .checkout-address-fields .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .checkout-address-fields .field--cep{grid-column:span 3}
  .checkout-address-fields .field--street{grid-column:1/-1}
  .checkout-address-fields .field--number{grid-column:span 3}
  .checkout-address-fields .field--district{grid-column:1/-1}
  .checkout-address-fields .field--city{grid-column:span 4}
  .checkout-address-fields .field--uf{grid-column:span 2;min-width:0}
  .tile-grid{grid-template-columns:1fr;gap:10px}
  .tile-card--thumb{height:76px;min-height:76px;grid-template-columns:56px minmax(0,1fr)}
  .tile-card--thumb .tile-card__media{width:56px;height:56px;flex-basis:56px}
}

/* v49 — ajustes de layout/validação da Cartola e botões rainbow */
.checkout-address-fields .form-grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
.checkout-address-fields .field--cep{grid-column:1/-1!important;}
.checkout-address-fields .field--street{grid-column:span 9!important;}
.checkout-address-fields .field--number{grid-column:span 3!important;}
.checkout-address-fields .field--district{grid-column:1/-1!important;}
.checkout-address-fields .field--city{grid-column:span 10!important;}
.checkout-address-fields .field--uf{grid-column:span 2!important;min-width:0!important;}
.checkout-address-fields .field--full{grid-column:1/-1!important;}
.field.is-valid,
.field.is-invalid,
.field input.is-valid,
.field input.is-invalid,
.field textarea.is-valid,
.field textarea.is-invalid,
.field select.is-valid,
.field select.is-invalid{
  box-shadow:none!important;
  text-shadow:none!important;
  filter:none!important;
  outline:none!important;
  backdrop-filter:none!important;
  background:transparent!important;
}
.field.is-valid,
.field input.is-valid,
.field textarea.is-valid,
.field select.is-valid{border-color:#22c55e!important;}
.field.is-invalid,
.field input.is-invalid,
.field textarea.is-invalid,
.field select.is-invalid{border-color:#fb7185!important;}
.product-card__image .quick-cart-btn{
  top:10px!important;
  right:10px!important;
  bottom:auto!important;
  left:auto!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border-radius:14px!important;
  z-index:7!important;
}
.product-card__image .badge-stack{
  left:10px!important;
  top:10px!important;
  right:58px!important;
  max-width:calc(100% - 72px)!important;
}
.product-card__image .quick-cart-btn[disabled]{opacity:.34!important;}
.topnav button:hover,
.mobile-menu__nav button:hover,
.footer-links button:hover,
.primary-btn:hover,
.ghost-btn:hover,
.soft-btn:hover,
.icon-btn:hover,
.hero-tabs button:hover,
.quick-cart-btn:hover,
.shortcut-card:hover,
.social-btn--rainbow:hover{
  background:#05030a!important;
  color:var(--text)!important;
}
.cart-summary--checkout{
  margin-top:4px;
}
@media(max-width:767px){
  .checkout-address-fields .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .checkout-address-fields .field--cep{grid-column:1/-1!important;}
  .checkout-address-fields .field--street{grid-column:span 4!important;}
  .checkout-address-fields .field--number{grid-column:span 2!important;}
  .checkout-address-fields .field--district{grid-column:1/-1!important;}
  .checkout-address-fields .field--city{grid-column:span 4!important;}
  .checkout-address-fields .field--uf{grid-column:span 2!important;}
  .product-card__image .quick-cart-btn{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    top:8px!important;
    right:8px!important;
  }
}


/* =========================================================
   v50 — Ajustes Cartola/Loja Magic
   - disponibilidade visual mais rígida
   - botão rápido reposicionado fora da imagem
   - resumo/checkout mais compacto
   - rodapé com cards responsivos
   ========================================================= */
.hero-card__content{align-content:flex-start!important;padding-top:24px!important;}
.hero-panel{align-content:start!important;}
.checkout-mode-intro{display:none!important;}
.mobile-filter-fab{display:none!important;}
#deliveryCheckoutNote,#selectedDeliveryInfo{display:none!important;}

.price-stack{gap:6px!important;min-width:0;}
.price-stack__row{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;padding:7px 8px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:14px!important;background:rgba(255,255,255,.025)!important;white-space:nowrap!important;min-width:0!important;font-size:.86rem!important;}
.price-stack__row span:not(.price-stack__icon){overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--muted)!important;}
.price-stack__row strong{white-space:nowrap!important;font-size:.88rem!important;color:#fff!important;}
.price-stack__icon{width:24px!important;height:24px!important;min-width:24px!important;font-size:.78rem!important;}

.product-card__image .quick-cart-btn{display:none!important;}
.product-card__quick-action{margin-top:4px;}
.product-card__quick-action .quick-cart-btn{position:relative!important;inset:auto!important;z-index:1!important;width:100%!important;height:40px!important;min-width:0!important;padding:0 12px!important;border-radius:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important;font-size:.82rem!important;line-height:1!important;overflow:hidden!important;}
.product-card__quick-action .quick-cart-btn::before{border-radius:14px!important;opacity:.65!important;}
.product-card__quick-action .quick-cart-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.075)!important;}
.product-card__quick-action .quick-cart-btn[disabled]{opacity:.42!important;filter:grayscale(.35);cursor:not-allowed!important;}
.product-card__quick-action .quick-cart-btn__hat{width:22px!important;height:22px!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;}
.product-card__quick-action .quick-cart-btn>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.delivery-hidden-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;}
.delivery-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:4px;}
.delivery-choice{position:relative;display:block;cursor:pointer;min-width:0;}
.delivery-choice input{position:absolute;opacity:0;pointer-events:none;}
.delivery-choice__card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:48px;padding:8px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);transition:border-color .18s ease,background .18s ease,transform .18s ease;}
.delivery-choice:hover .delivery-choice__card{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.055);transform:translateY(-1px);}
.delivery-choice__box{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff;}
.delivery-choice input:checked + .delivery-choice__card{border-color:rgba(34,197,94,.62);background:rgba(34,197,94,.12);}
.delivery-choice input:checked + .delivery-choice__card .delivery-choice__box{background:#22c55e;border-color:#22c55e;color:#07110b;}
.delivery-choice__copy{min-width:0;}
.delivery-choice__copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;color:#fff;line-height:1.15;}

.checkout-group .form-grid{gap:10px!important;}
.checkout-group .field{min-height:46px;}
.checkout-address-fields .form-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:9px!important;}
.checkout-address-fields .field{min-width:0!important;}
.checkout-address-fields .field--cep{grid-column:span 3!important;}
.checkout-address-fields .field--street{grid-column:span 7!important;}
.checkout-address-fields .field--number{grid-column:span 2!important;}
.checkout-address-fields .field--district{grid-column:span 4!important;}
.checkout-address-fields .field--city{grid-column:span 6!important;}
.checkout-address-fields .field--uf{grid-column:span 2!important;min-width:0!important;}
.checkout-address-fields .field--full{grid-column:1/-1!important;}

.cart-discount-list{display:grid!important;gap:6px!important;margin-top:6px!important;}
.cart-discount-list[hidden]{display:none!important;}
.cart-discount-list span{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:7px!important;padding:7px 9px!important;border-radius:13px!important;background:rgba(34,197,94,.09)!important;border:1px solid rgba(34,197,94,.2)!important;color:#d6ffe4!important;min-width:0!important;}
.cart-discount-list i{margin:0!important;color:#86efac!important;}
.cart-discount-list em{font-style:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;}
.cart-discount-list b{white-space:nowrap!important;color:#c9f7d8!important;}

.payment-choice.payment-choice--module{grid-template-columns:auto 48px minmax(0,1fr)!important;align-items:center!important;min-width:0!important;padding:10px 12px!important;}
.payment-choice.payment-choice--module .payment-choice__copy{min-width:0!important;}
.payment-choice.payment-choice--module .payment-choice__copy strong{display:flex!important;align-items:center!important;gap:7px!important;margin:0 0 2px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.15!important;font-size:.92rem!important;}
.payment-choice.payment-choice--module .payment-choice__copy small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.25!important;font-size:.78rem!important;}
.payment-choice__copy em{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;flex:0 0 auto!important;margin:0!important;padding:2px 6px!important;border-radius:999px!important;}

.site-footer{position:relative!important;margin-top:34px!important;padding:26px 0 92px!important;background:linear-gradient(180deg,rgba(14,9,23,.96),rgba(8,5,13,.98))!important;border-top:1px solid rgba(255,255,255,.1)!important;}
.site-footer::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 18%,rgba(255,56,92,.13),transparent 32%),radial-gradient(circle at 88% 12%,rgba(32,164,255,.12),transparent 34%),radial-gradient(circle at 50% 100%,rgba(199,60,255,.10),transparent 34%);}
.footer-grid{position:relative;z-index:1;width:min(1280px,calc(100% - 28px))!important;margin:0 auto!important;display:grid!important;grid-template-columns:1.18fr 1fr .95fr .9fr!important;gap:14px!important;align-items:stretch!important;}
.footer-col{display:grid!important;align-content:start!important;gap:10px!important;padding:15px!important;border-radius:20px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.035)!important;box-shadow:0 16px 34px rgba(0,0,0,.16)!important;min-width:0!important;}
.footer-col h4{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;font-size:.92rem!important;color:#fff!important;}
.footer-col h4::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--grad);box-shadow:0 0 18px rgba(255,255,255,.22);}
.footer-item,.footer-col a{display:flex!important;align-items:center!important;gap:9px!important;color:var(--muted)!important;text-decoration:none!important;font-size:.86rem!important;line-height:1.35!important;min-width:0!important;}
.footer-item i,.footer-col a i{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#fff;flex:0 0 auto;}
.footer-links{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.footer-links button{position:relative!important;width:100%!important;justify-content:flex-start!important;border-radius:13px!important;padding:9px 10px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.09)!important;color:#fff!important;}
.footer-badges,.social-row{display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
.footer-badges span,.footer-badge{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:7px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;font-size:.78rem!important;}
.social-row a{display:inline-grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;text-decoration:none!important;}
.social-row a:hover{transform:translateY(-1px);background:rgba(255,255,255,.09)!important;}

@media (max-width:980px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .checkout-address-fields .field--cep{grid-column:span 4!important;}
  .checkout-address-fields .field--street{grid-column:span 8!important;}
  .checkout-address-fields .field--number{grid-column:span 4!important;}
  .checkout-address-fields .field--district{grid-column:span 8!important;}
  .checkout-address-fields .field--city{grid-column:span 9!important;}
  .checkout-address-fields .field--uf{grid-column:span 3!important;}
}
@media (max-width:767px){
  .hero-card__content{padding-top:18px!important;}
  .price-stack__row{grid-template-columns:22px minmax(0,1fr) auto!important;padding:6px 7px!important;font-size:.79rem!important;gap:6px!important;}
  .price-stack__row strong{font-size:.8rem!important;}
  .price-stack__icon{width:22px!important;height:22px!important;min-width:22px!important;}
  .product-card__quick-action .quick-cart-btn{height:38px!important;font-size:.78rem!important;border-radius:13px!important;padding:0 8px!important;}
  .delivery-choice-grid{grid-template-columns:1fr!important;}
  .payment-choice.payment-choice--module{grid-template-columns:42px minmax(0,1fr)!important;min-height:62px!important;}
  .payment-choice.payment-choice--module input{display:none!important;}
  .payment-choice.payment-choice--module .payment-choice__icon{width:42px!important;height:42px!important;}
  .payment-choice.payment-choice--module .payment-choice__copy strong{font-size:.86rem!important;}
  .payment-choice.payment-choice--module .payment-choice__copy small{font-size:.74rem!important;}
  .cart-discount-list span{grid-template-columns:auto minmax(0,1fr)!important;}
  .cart-discount-list b{grid-column:2;justify-self:start;}
  .checkout-address-fields .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .checkout-address-fields .field--cep{grid-column:span 3!important;}
  .checkout-address-fields .field--street{grid-column:1/-1!important;}
  .checkout-address-fields .field--number{grid-column:span 3!important;}
  .checkout-address-fields .field--district{grid-column:1/-1!important;}
  .checkout-address-fields .field--city{grid-column:span 4!important;}
  .checkout-address-fields .field--uf{grid-column:span 2!important;}
  .footer-grid{grid-template-columns:1fr!important;width:min(100% - 20px,520px)!important;gap:10px!important;}
  .site-footer{padding:18px 0 82px!important;}
  .footer-col{padding:13px!important;border-radius:18px!important;}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .footer-links button{font-size:.8rem!important;justify-content:center!important;text-align:center!important;}
}

/* v51 — preço como ação, descontos compactos e confirmação lúdica */
.price-stack{gap:7px!important;min-width:0!important;}
.price-stack__row,
button.price-stack__row{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
  color:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 9px!important;
  white-space:nowrap!important;
  min-width:0!important;
  line-height:1.1!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
button.price-stack__row:hover,
button.price-stack__row:focus-visible{
  transform:translateY(-1px)!important;
  border-color:rgba(138,209,255,.32)!important;
  background:rgba(255,255,255,.065)!important;
  outline:none!important;
}
.price-stack__row.is-disabled,
button.price-stack__row:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  transform:none!important;
  filter:grayscale(.25)!important;
}
.price-stack__row span:not(.price-stack__icon){
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--muted)!important;
}
.price-stack__row strong{
  white-space:nowrap!important;
  justify-self:end!important;
  color:#fff!important;
  font-size:.9rem!important;
  line-height:1!important;
}
.price-stack__icon{width:24px!important;height:24px!important;min-width:24px!important;font-size:.78rem!important;}
.product-card__quick-action,.quick-cart-btn{display:none!important;}
.product-prices .price-stack__row,
.product-prices--stack .price-stack__row{cursor:default!important;transform:none!important;}
.product-prices .price-stack__row:hover,
.product-prices--stack .price-stack__row:hover{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.10)!important;}

.cart-discount-list{
  display:grid!important;
  gap:4px!important;
  margin:6px 0 8px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  border:1px solid rgba(34,197,94,.22)!important;
  background:rgba(34,197,94,.075)!important;
  min-width:0!important;
}
.cart-discount-list[hidden]{display:none!important;}
.cart-discount-list span{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d6ffe4!important;
  min-width:0!important;
  font-size:.82rem!important;
  line-height:1.15!important;
}
.cart-discount-list i{margin:0!important;color:#86efac!important;font-size:.82rem!important;}
.cart-discount-list em{font-style:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;}
.cart-discount-list b{white-space:nowrap!important;color:#c9f7d8!important;font-size:.84rem!important;}
.payment-hint{display:none!important;}

.page-loading.is-magic-success{background:rgba(7,4,12,.30)!important;backdrop-filter:blur(7px)!important;}
.page-loading.is-magic-success .page-loading__box{
  min-width:min(330px,calc(100vw - 34px));
  padding:18px 20px!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(24,18,36,.95),rgba(12,8,18,.92))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.42)!important;
  position:relative;
  overflow:hidden;
}
.page-loading.is-magic-success .page-loading__box::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--grad);
}
.page-loading.is-magic-success .page-loading__hat{width:70px!important;height:70px!important;animation:loaderHop .82s ease-in-out infinite, magicGlow 1.15s ease-in-out infinite!important;}
.page-loading.is-magic-success span{max-width:250px;text-align:center;font-weight:800;color:#fff!important;line-height:1.35;}
@keyframes magicGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(199,60,255,0));transform:translateY(0) rotate(-3deg)}50%{filter:drop-shadow(0 0 18px rgba(199,60,255,.55));transform:translateY(-8px) rotate(4deg)}}
.order-test-alert--success{border-color:rgba(34,197,94,.38)!important;background:rgba(34,197,94,.10)!important;}
.order-test-alert--success i{color:#86efac!important;}

@media(max-width:767px){
  .price-stack{gap:5px!important;}
  .price-stack__row,
  button.price-stack__row{grid-template-columns:21px minmax(0,1fr) auto!important;gap:6px!important;padding:7px 7px!important;font-size:.78rem!important;border-radius:12px!important;}
  .price-stack__icon{width:21px!important;height:21px!important;min-width:21px!important;font-size:.72rem!important;}
  .price-stack__row strong{font-size:.76rem!important;}
  .cart-discount-list{padding:7px 8px!important;}
  .cart-discount-list span{grid-template-columns:auto minmax(0,1fr) auto!important;gap:5px!important;font-size:.76rem!important;}
  .cart-discount-list b{grid-column:auto!important;justify-self:end!important;font-size:.77rem!important;}
}


/* v52 — ações rainbow, endereço mais legível e animação de envio da Cartola */
button.price-stack__row{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border-color:transparent!important;
  background:linear-gradient(#15101f,#15101f) padding-box,var(--grad) border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
button.price-stack__row::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:var(--grad);
  opacity:0;
  transition:opacity .18s ease;
}
button.price-stack__row:hover::after,button.price-stack__row:focus-visible::after{opacity:.16;}
button.price-stack__row:hover,button.price-stack__row:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.28),0 0 0 3px rgba(153,82,255,.14)!important;
}
button.price-stack__row .price-stack__icon{
  background:var(--grad)!important;
  color:#130d1f!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
}
.tile-card--thumb{
  position:relative!important;
  overflow:hidden!important;
  border-color:transparent!important;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025)) padding-box,var(--grad) border-box!important;
  border:1px solid transparent!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.tile-card--thumb::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:var(--grad);
  opacity:.9;
}
.tile-card--thumb:hover,.tile-card--thumb:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.34),0 0 0 3px rgba(255,255,255,.06)!important;
  outline:none!important;
}
.tile-card--thumb .tile-card__media--round{box-shadow:0 0 0 2px rgba(255,255,255,.10),0 0 0 4px rgba(153,82,255,.10)!important;}
.checkout-address-fields .form-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:9px!important;}
.checkout-address-fields .field--cep{grid-column:span 3!important;}
.checkout-address-fields .field--street{grid-column:span 6!important;}
.checkout-address-fields .field--number{grid-column:span 3!important;min-width:112px!important;}
.checkout-address-fields .field--district{grid-column:span 4!important;}
.checkout-address-fields .field--city{grid-column:span 5!important;}
.checkout-address-fields .field--uf{grid-column:span 3!important;min-width:96px!important;}
.checkout-address-fields .field--full{grid-column:1/-1!important;}
.checkout-address-fields .field--number input,.checkout-address-fields .field--uf select{padding-left:40px!important;}
.page-loading.is-magic-success{background:radial-gradient(circle at center,rgba(153,82,255,.24),rgba(7,4,12,.62) 62%,rgba(7,4,12,.82))!important;backdrop-filter:blur(9px)!important;}
.page-loading.is-magic-success .page-loading__box{
  min-width:min(390px,calc(100vw - 30px))!important;
  min-height:220px!important;
  padding:24px 24px 22px!important;
  border-radius:30px!important;
  display:grid!important;
  place-items:center!important;
  gap:12px!important;
  background:linear-gradient(145deg,rgba(24,18,36,.96),rgba(11,7,18,.96)) padding-box,var(--grad) border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 44px rgba(153,82,255,.20)!important;
}
.page-loading.is-magic-success .page-loading__hat{width:92px!important;height:92px!important;animation:magicHatPop 1.05s cubic-bezier(.18,.9,.25,1.25) infinite!important;filter:drop-shadow(0 16px 28px rgba(0,0,0,.42)) drop-shadow(0 0 18px rgba(199,60,255,.45))!important;}
.page-loading.is-magic-success span#pageLoadingLabel{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:0!important;max-width:310px!important;text-align:center!important;font-size:1.02rem!important;line-height:1.28!important;font-weight:900!important;letter-spacing:.01em!important;color:#fff!important;}
.page-loading.is-magic-success span#pageLoadingLabel b{display:inline-block;animation:magicLetter .72s ease both;animation-delay:calc(var(--i) * .018s);}
.magic-success-visual{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.magic-wand{position:absolute;right:56px;top:55px;font-size:2.1rem;animation:magicWandSweep 1.35s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(255,211,90,.52));}
.magic-star{position:absolute;font-size:1.45rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;animation:magicStarFloat 1.25s ease-in-out infinite;}
.magic-star--1{left:48px;top:54px;animation-delay:.02s}.magic-star--2{right:84px;bottom:48px;animation-delay:.18s}.magic-star--3{left:82px;bottom:60px;animation-delay:.34s}.magic-star--4{right:44px;top:108px;animation-delay:.48s}
@keyframes magicHatPop{0%,100%{transform:translateY(0) rotate(-4deg) scale(1)}38%{transform:translateY(-13px) rotate(4deg) scale(1.08)}62%{transform:translateY(2px) rotate(-2deg) scale(.98)}}
@keyframes magicLetter{0%{opacity:0;transform:translateY(12px) rotate(-5deg) scale(.86)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes magicWandSweep{0%,100%{transform:translate(0,0) rotate(-22deg)}50%{transform:translate(-25px,18px) rotate(14deg)}}
@keyframes magicStarFloat{0%,100%{opacity:.45;transform:translateY(0) scale(.82) rotate(0)}50%{opacity:1;transform:translateY(-12px) scale(1.1) rotate(18deg)}}
@media(max-width:767px){
  .checkout-address-fields .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;}
  .checkout-address-fields .field--cep{grid-column:1/-1!important;}
  .checkout-address-fields .field--street{grid-column:span 4!important;}
  .checkout-address-fields .field--number{grid-column:span 2!important;min-width:0!important;}
  .checkout-address-fields .field--district{grid-column:1/-1!important;}
  .checkout-address-fields .field--city{grid-column:span 4!important;}
  .checkout-address-fields .field--uf{grid-column:span 2!important;min-width:0!important;}
  .checkout-address-fields .field--full{grid-column:1/-1!important;}
  .page-loading.is-magic-success .page-loading__box{min-height:205px!important;padding:22px 18px!important;}
  .page-loading.is-magic-success .page-loading__hat{width:82px!important;height:82px!important;}
  .magic-wand{right:42px;top:48px;font-size:1.85rem;}
}

/* v53 — botões rainbow esmaecidos, frete compacto, CEP legível e animação mais marcante */
button.price-stack__row,
.price-stack__row--action{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#100b19!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.20)!important;
}
button.price-stack__row::before,
.price-stack__row--action::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:var(--grad)!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:.36!important;
  pointer-events:none!important;
  transition:opacity .18s ease,filter .18s ease!important;
}
button.price-stack__row::after,
.price-stack__row--action::after{opacity:0!important;}
button.price-stack__row:hover,
button.price-stack__row:focus-visible,
.price-stack__row--action:hover,
.price-stack__row--action:focus-visible{
  background:#07040d!important;
  border-color:rgba(255,255,255,.18)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.34),0 0 0 3px rgba(153,82,255,.10)!important;
}
button.price-stack__row:hover::before,
button.price-stack__row:focus-visible::before,
.price-stack__row--action:hover::before,
.price-stack__row--action:focus-visible::before{opacity:1!important;filter:saturate(1.2)!important;}
button.price-stack__row .price-stack__icon{background:rgba(255,255,255,.055)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;}
button.price-stack__row .price-stack__icon i{background:var(--grad)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.tile-card--thumb{
  background:#100b19!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}
.tile-card--thumb::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:var(--grad)!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:.38!important;
  pointer-events:none!important;
  transition:opacity .18s ease!important;
}
.tile-card--thumb::after{opacity:.45!important;}
.tile-card--thumb:hover,.tile-card--thumb:focus-visible{background:#07040d!important;}
.tile-card--thumb:hover::before,.tile-card--thumb:focus-visible::before{opacity:1!important;}
.checkout-address-fields .field--cep{grid-column:span 4!important;min-width:154px!important;}
.checkout-address-fields .field--street{grid-column:span 5!important;}
.checkout-address-fields .field--number{grid-column:span 3!important;min-width:120px!important;}
.checkout-address-fields .field--cep input{letter-spacing:.02em!important;min-width:0!important;}
.shipping-quote-card{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;}
.shipping-quote-card > div{min-width:0!important;}
.shipping-quote-card #freteCorreiosStatus{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
.page-loading.is-magic-success .page-loading__box{min-width:min(520px,calc(100vw - 28px))!important;min-height:280px!important;}
.page-loading.is-magic-success .page-loading__hat{width:118px!important;height:118px!important;}
.page-loading.is-magic-success span#pageLoadingLabel{max-width:460px!important;font-size:1.48rem!important;line-height:1.22!important;letter-spacing:.025em!important;text-transform:none!important;text-shadow:0 2px 22px rgba(199,60,255,.35)!important;}
.page-loading.is-magic-success span#pageLoadingLabel b{animation:magicLetterBig .82s cubic-bezier(.18,.9,.25,1.25) both!important;animation-delay:calc(var(--i) * .026s)!important;}
.magic-wand{right:76px!important;top:64px!important;font-size:2.65rem!important;animation:magicWandSweepBig 1.48s ease-in-out infinite!important;}
.magic-star{font-size:1.85rem!important;}
.magic-star--1{left:60px!important;top:66px!important}.magic-star--2{right:100px!important;bottom:58px!important}.magic-star--3{left:110px!important;bottom:74px!important}.magic-star--4{right:58px!important;top:132px!important}
@keyframes magicLetterBig{0%{opacity:0;transform:translateY(22px) rotate(-8deg) scale(.72)}55%{opacity:1;transform:translateY(-8px) rotate(3deg) scale(1.12)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes magicWandSweepBig{0%,100%{transform:translate(0,0) rotate(-24deg)}45%{transform:translate(-42px,26px) rotate(18deg)}70%{transform:translate(-18px,-8px) rotate(-8deg)}}
@media(max-width:767px){
  .checkout-address-fields .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;}
  .checkout-address-fields .field--cep{grid-column:1/-1!important;min-width:0!important;}
  .checkout-address-fields .field--street{grid-column:span 4!important;}
  .checkout-address-fields .field--number{grid-column:span 2!important;min-width:0!important;}
  .checkout-address-fields .field--district{grid-column:1/-1!important;}
  .checkout-address-fields .field--city{grid-column:span 4!important;}
  .checkout-address-fields .field--uf{grid-column:span 2!important;min-width:0!important;}
  .shipping-quote-card{grid-template-columns:1fr!important;gap:10px!important;}
  .shipping-quote-card #freteCorreiosStatus{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;}
  .page-loading.is-magic-success .page-loading__box{min-height:245px!important;min-width:min(430px,calc(100vw - 24px))!important;}
  .page-loading.is-magic-success .page-loading__hat{width:92px!important;height:92px!important;}
  .page-loading.is-magic-success span#pageLoadingLabel{font-size:1.18rem!important;max-width:340px!important;}
  .magic-wand{right:42px!important;top:54px!important;font-size:2rem!important;}
}


/* v54 — refinamentos modal, botões rainbow e animação livre da Cartola */
.product-modal-title-wrap{display:grid;gap:2px;min-width:0;}
.product-modal-title-wrap h3{margin:0!important;}
.product-modal-code{display:block;color:var(--muted)!important;font-size:.78rem;font-weight:800;letter-spacing:.03em;}
.modal-footer--product{justify-content:flex-end!important;align-items:center!important;gap:10px!important;}
.product-share-btn{margin-right:auto!important;width:46px!important;height:46px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:16px!important;}
.product-share-btn i{font-size:1.15rem!important;}

button.price-stack__row,
.price-stack__row--action,
.tile-card--thumb{
  background:#100b19!important;
  border:1px solid rgba(255,255,255,.10)!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
button.price-stack__row::before,
.price-stack__row--action::before,
.tile-card--thumb::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:var(--grad)!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:.42!important;
  pointer-events:none!important;
  transition:opacity .18s ease,filter .18s ease!important;
}
button.price-stack__row:hover,
button.price-stack__row:focus-visible,
.price-stack__row--action:hover,
.price-stack__row--action:focus-visible,
.tile-card--thumb:hover,
.tile-card--thumb:focus-visible{
  background:#07040d!important;
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.34),0 0 0 3px rgba(153,82,255,.10)!important;
}
button.price-stack__row:hover::before,
button.price-stack__row:focus-visible::before,
.price-stack__row--action:hover::before,
.price-stack__row--action:focus-visible::before,
.tile-card--thumb:hover::before,
.tile-card--thumb:focus-visible::before{opacity:1!important;filter:saturate(1.25)!important;}
.tile-card--thumb::after{opacity:0!important;}

.shipping-quote-card .soft-btn span{white-space:nowrap!important;}
.shipping-quote-card #freteCorreiosStatus{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}

.page-loading.is-magic-success{background:radial-gradient(circle at center,rgba(153,82,255,.28),rgba(7,4,12,.70) 58%,rgba(7,4,12,.88))!important;backdrop-filter:blur(12px)!important;}
.page-loading.is-magic-success .page-loading__box{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  min-height:0!important;
  width:min(920px,calc(100vw - 28px))!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
  gap:22px!important;
}
.page-loading.is-magic-success .page-loading__box::before{display:none!important;}
.page-loading.is-magic-success .page-loading__hat{width:142px!important;height:142px!important;animation:magicHatPop 1.12s cubic-bezier(.18,.9,.25,1.25) infinite!important;filter:drop-shadow(0 18px 34px rgba(0,0,0,.50)) drop-shadow(0 0 24px rgba(199,60,255,.58))!important;}
.page-loading.is-magic-success span#pageLoadingLabel{display:grid!important;gap:.02em!important;max-width:900px!important;text-align:center!important;font-size:clamp(2.2rem,6.4vw,6rem)!important;line-height:.95!important;font-weight:950!important;letter-spacing:.015em!important;color:#fff!important;text-shadow:0 4px 32px rgba(199,60,255,.45),0 2px 10px rgba(0,0,0,.55)!important;}
.magic-success-line{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;}
.page-loading.is-magic-success span#pageLoadingLabel b{display:inline-block!important;animation:magicLetterHero .92s cubic-bezier(.18,.9,.25,1.25) both!important;animation-delay:calc(var(--i) * .032s + var(--line) * .10s)!important;}
.magic-success-visual{position:fixed!important;inset:0!important;z-index:1!important;pointer-events:none!important;overflow:hidden!important;}
.magic-wand{position:absolute!important;right:18vw!important;top:20vh!important;font-size:clamp(2.7rem,5vw,5rem)!important;animation:magicWandHero 1.95s ease-in-out infinite!important;filter:drop-shadow(0 0 20px rgba(255,211,90,.75))!important;}
.magic-star{position:absolute!important;font-size:clamp(1.6rem,3.2vw,3.3rem)!important;background:var(--grad)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:magicStarHero 1.7s ease-in-out infinite!important;}
.magic-star--1{left:17vw!important;top:22vh!important;animation-delay:.02s!important;}.magic-star--2{right:21vw!important;bottom:20vh!important;animation-delay:.18s!important;}.magic-star--3{left:25vw!important;bottom:18vh!important;animation-delay:.34s!important;}.magic-star--4{right:12vw!important;top:42vh!important;animation-delay:.48s!important;}.magic-star--5{left:12vw!important;top:48vh!important;animation-delay:.62s!important;}
@keyframes magicLetterHero{0%{opacity:0;transform:translateY(42px) rotate(-10deg) scale(.62)}58%{opacity:1;transform:translateY(-12px) rotate(4deg) scale(1.13)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes magicWandHero{0%,100%{transform:translate(0,0) rotate(-25deg)}45%{transform:translate(-8vw,5vh) rotate(18deg)}72%{transform:translate(-3vw,-2vh) rotate(-7deg)}}
@keyframes magicStarHero{0%,100%{opacity:.35;transform:translateY(0) scale(.8) rotate(0)}50%{opacity:1;transform:translateY(-22px) scale(1.2) rotate(22deg)}}

@media(max-width:767px){
  .modal-footer--product{gap:8px!important;}
  .product-share-btn{width:42px!important;height:42px!important;border-radius:14px!important;}
  .shipping-quote-card #freteCorreiosStatus{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;}
  .page-loading.is-magic-success .page-loading__hat{width:100px!important;height:100px!important;}
  .page-loading.is-magic-success span#pageLoadingLabel{font-size:clamp(2rem,12vw,3.6rem)!important;line-height:.96!important;}
  .magic-wand{right:10vw!important;top:18vh!important;}
}

/* v54.1 — ordem do rodapé do modal: compartilhar à esquerda, ações à direita */
.modal-footer--product .product-share-btn{order:0!important;margin-right:auto!important;}
.modal-footer--product #productRentBtn,.modal-footer--product #productSaleBtn{order:2!important;}

/* v55 — botões de categorias/temas no mesmo padrão rainbow e texto mágico maior */
.tile-card.tile-card--thumb,
button.tile-card--thumb[data-filter-category],
button.tile-card--thumb[data-filter-theme]{
  background:#100b19!important;
  border:1px solid rgba(255,255,255,.10)!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  box-shadow:0 14px 34px rgba(0,0,0,.24)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.tile-card.tile-card--thumb::before,
button.tile-card--thumb[data-filter-category]::before,
button.tile-card--thumb[data-filter-theme]::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:var(--grad)!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:.42!important;
  pointer-events:none!important;
  transition:opacity .18s ease,filter .18s ease!important;
}
.tile-card.tile-card--thumb::after,
button.tile-card--thumb[data-filter-category]::after,
button.tile-card--thumb[data-filter-theme]::after{opacity:0!important;display:none!important;}
.tile-card.tile-card--thumb:hover,
.tile-card.tile-card--thumb:focus-visible,
button.tile-card--thumb[data-filter-category]:hover,
button.tile-card--thumb[data-filter-category]:focus-visible,
button.tile-card--thumb[data-filter-theme]:hover,
button.tile-card--thumb[data-filter-theme]:focus-visible{
  background:#07040d!important;
  border-color:rgba(255,255,255,.18)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.36),0 0 0 3px rgba(153,82,255,.10)!important;
  outline:none!important;
}
.tile-card.tile-card--thumb:hover::before,
.tile-card.tile-card--thumb:focus-visible::before,
button.tile-card--thumb[data-filter-category]:hover::before,
button.tile-card--thumb[data-filter-category]:focus-visible::before,
button.tile-card--thumb[data-filter-theme]:hover::before,
button.tile-card--thumb[data-filter-theme]:focus-visible::before{opacity:1!important;filter:saturate(1.28)!important;}
.tile-card--thumb .tile-card__placeholder{background:rgba(255,255,255,.055)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;}
.tile-card--thumb .tile-card__placeholder i{background:var(--grad)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}

.page-loading.is-magic-success span#pageLoadingLabel{
  font-size:clamp(5.4rem,18vw,17rem)!important;
  line-height:.82!important;
  max-width:min(1500px,96vw)!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}
.page-loading.is-magic-success .magic-success-line{min-height:.84em!important;align-items:center!important;}
.page-loading.is-magic-success .page-loading__hat{width:clamp(150px,18vw,250px)!important;height:clamp(150px,18vw,250px)!important;}
@media(max-width:767px){
  .page-loading.is-magic-success span#pageLoadingLabel{font-size:clamp(3.1rem,17vw,6.5rem)!important;line-height:.86!important;}
  .page-loading.is-magic-success .page-loading__hat{width:clamp(112px,30vw,160px)!important;height:clamp(112px,30vw,160px)!important;}
}

/* Pacote 12 - busca na home e compartilhamento da Cartola */
.hero-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:18px;max-width:680px;padding:9px 10px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 40px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.hero-search i{color:#fff;font-size:1.08rem;opacity:.92;margin-left:4px}.hero-search input{min-width:0;width:100%;border:0;background:transparent;color:#fff;outline:0;font-weight:700}.hero-search input::placeholder{color:rgba(255,255,255,.72);font-weight:600}.hero-search button{border:0;border-radius:14px;padding:10px 14px;font-weight:900;background:var(--grad);color:#160d20;cursor:pointer}.cart-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important}
@media(max-width:767px){.hero-search{grid-template-columns:auto minmax(0,1fr);padding:10px}.hero-search button{grid-column:1/-1;width:100%}.hero-search input{font-size:.92rem}}

/* Pacote 14 — aviso de CEP fora da rota no catálogo */
.cep-route-notice{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  margin:.65rem 0 0;
  padding:.72rem .85rem;
  border:1px solid rgba(245,158,11,.26);
  background:linear-gradient(180deg,#fffaf0,#fff7e6);
  color:#6b3f00;
  border-radius:16px;
  font-size:.86rem;
  line-height:1.25;
  box-shadow:0 .25rem .75rem rgba(120,70,0,.06);
}
.cep-route-notice[hidden]{display:none!important}
.cep-route-notice i{margin-top:.08rem;color:#d97706;font-size:1rem;flex:0 0 auto}
.cep-route-notice span{font-weight:750}

/* v56 — Cartola: compartilhar sempre visível no topo, em modo ícone */
.modal-head__actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.modal-head .cart-share-btn{width:42px!important;height:42px!important;margin-top:0!important;border-radius:14px!important;padding:0!important;gap:0!important;flex:0 0 auto!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
.modal-head .cart-share-btn span{display:none!important}
.modal-head .cart-share-btn i{font-size:1.05rem!important}

/* === Pacote 28: modo quiosque / autoatendimento assistido === */
.cartola-code-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
.cartola-code-card div{display:grid;gap:3px}
.cartola-code-card span{font-size:.78rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.cartola-code-card strong{font-size:1.28rem;letter-spacing:.08em;color:#fff}
.cartola-code-card small{color:#d7cdeb;text-align:right;max-width:320px}
.kiosk-dock{
  position:fixed;
  left:50%;
  bottom:max(14px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  z-index:155;
  width:min(980px,calc(100% - 28px));
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:rgba(14,9,23,.92);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 44px rgba(0,0,0,.38);
}
.kiosk-dock::before{content:"";position:absolute;left:12px;right:12px;top:0;height:2px;background:var(--grad);border-radius:999px}
.kiosk-dock__code{display:grid;gap:2px;min-width:128px;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.kiosk-dock__code span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.kiosk-dock__code strong{font-size:1.18rem;letter-spacing:.08em;color:#fff}
.kiosk-dock__summary{display:grid;gap:2px;min-width:0}
.kiosk-dock__summary strong{font-size:1rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk-dock__summary span{font-size:.84rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kiosk-dock__actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.kiosk-dock__actions .primary-btn,.kiosk-dock__actions .soft-btn{min-height:46px;border-radius:16px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.kiosk-dock__actions .primary-btn.is-done{background:#16a34a;color:#fff}
body.is-kiosk{padding-bottom:98px}
body.is-kiosk .topbar{padding-block:16px}
body.is-kiosk .brand__copy span::after{content:" • autoatendimento";color:#ffe68f}
body.is-kiosk .topnav button[data-screen="sobre"],
body.is-kiosk .topnav button[data-screen="faq"],
body.is-kiosk .mobile-menu__nav button[data-screen="sobre"],
body.is-kiosk .mobile-menu__nav button[data-screen="faq"]{display:none}
body.is-kiosk .search-card{top:104px}
body.is-kiosk .product-card,body.is-kiosk .tile-card,body.is-kiosk .shortcut-card{border-radius:28px}
body.is-kiosk .quick-cart-btn{width:58px;height:58px;min-width:58px}
body.is-kiosk .primary-btn,body.is-kiosk .ghost-btn,body.is-kiosk .soft-btn{font-size:1rem}
@media (max-width:767px){
  body.is-kiosk{padding-bottom:154px}
  .kiosk-dock{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));transform:none;width:auto;grid-template-columns:1fr;gap:10px;border-radius:22px}
  .kiosk-dock__code{grid-template-columns:auto auto;align-items:center;justify-content:space-between;min-width:0}
  .kiosk-dock__summary span{white-space:normal;line-height:1.35}
  .kiosk-dock__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .kiosk-dock__actions .primary-btn,.kiosk-dock__actions .soft-btn{justify-content:center;padding-inline:10px}
  .cartola-code-card{display:grid;align-items:start}
  .cartola-code-card small{text-align:left;max-width:none}
}

/* === Pacote 29: Quiosque focado + fila de atendimento === */
body.is-kiosk .brand__copy strong{
  font-size:1.16rem;
  letter-spacing:.01em;
}
body.is-kiosk .brand__copy span{
  display:none;
}
body.is-kiosk .topnav{
  display:none;
}
body.is-kiosk .menu-btn{
  display:none;
}
body.is-kiosk .topbar{
  min-height:76px;
}
body.is-kiosk .page{
  padding-top:18px;
}
body.is-kiosk #screen-inicio,
body.is-kiosk #screen-sobre,
body.is-kiosk #screen-faq{
  display:none !important;
}
body.is-kiosk .section-head.compact{
  display:none;
}
body.is-kiosk .catalog-shell{
  max-width:760px;
  margin-inline:auto;
}
body.is-kiosk .search-card{
  position:sticky;
  top:86px;
  z-index:20;
  border-radius:24px;
}
body.is-kiosk .catalog-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
body.is-kiosk .product-card{
  min-height:0;
}
body.is-kiosk .product-card__media,
body.is-kiosk .product-card__image{
  aspect-ratio:1/1.08;
}
body.is-kiosk .floating-whatsapp,
body.is-kiosk .footer,
body.is-kiosk .home-search-box{
  display:none !important;
}
.kiosk-send-modal-card{
  max-width:540px;
}
.kiosk-send-modal{
  display:grid;
  gap:14px;
}
.kiosk-send-code{
  padding:14px 16px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,215,0,.18),rgba(126,58,242,.12));
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  gap:2px;
}
.kiosk-send-code span{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  font-weight:800;
}
.kiosk-send-code strong{
  font-size:1.65rem;
  letter-spacing:.08em;
}
.kiosk-send-note{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}
.kiosk-send-summary{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(15,23,42,.06);
  border:1px solid rgba(15,23,42,.08);
  font-weight:800;
}
body.is-kiosk .kiosk-dock__actions .primary-btn.is-done{
  background:#16a34a;
  color:#fff;
}
@media (max-width: 560px){
  body.is-kiosk .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.is-kiosk .search-card{top:78px;border-radius:18px}
  body.is-kiosk .brand__copy strong{font-size:1rem}
}


/* === Pacote 30: Quiosque v2 — mais limpo, contexto claro e rolagem === */
body.is-kiosk .site-footer{display:none!important}
body.is-kiosk .kiosk-dock{border-top-color:transparent}
body.is-kiosk .kiosk-dock::before{display:none!important}
body.is-kiosk .topbar__actions{margin-left:auto!important;justify-content:flex-end!important}
body.is-kiosk .cartola-fab{margin-left:auto}
body.is-kiosk .brand{flex:1 1 auto}
body.is-kiosk .brand__copy{display:block!important;min-width:0}
body.is-kiosk .brand__copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-context-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:10px 2px 0;
}
.catalog-context-bar[hidden]{display:none!important}
.catalog-context-bar__label{
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.catalog-context-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  color:var(--text);
  font-size:.86rem;
  font-weight:750;
  line-height:1.1;
}
.catalog-context-chip i{font-size:.92rem;color:#ffe68f}
.catalog-context-chip button{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:var(--muted);
  cursor:pointer;
}
.catalog-context-chip button:hover{color:#fff;background:rgba(255,255,255,.2)}
.catalog-load-more{
  grid-column:1/-1;
  display:grid;
  gap:8px;
  justify-items:center;
  padding:18px 0 8px;
  color:var(--muted);
}
.catalog-load-more button{
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}
body.is-kiosk .search-row--main{
  grid-template-columns:minmax(0,1fr) minmax(146px,auto) auto auto;
}
body.is-kiosk .catalog-context-bar{
  padding-top:12px;
}
body.is-kiosk .catalog-context-chip{
  min-height:34px;
  padding:8px 12px;
  font-size:.9rem;
}
@media (max-width:767px){
  body.is-kiosk .brand__logo{width:44px;height:44px}
  body.is-kiosk .brand__copy strong{font-size:1.05rem}
  body.is-kiosk .search-row--main{grid-template-columns:minmax(0,1fr) auto}
  body.is-kiosk .field--mode{grid-column:1/2}
  body.is-kiosk .catalog-context-bar{gap:6px}
  .catalog-context-bar__label{width:100%}
  .catalog-context-chip{font-size:.82rem;max-width:100%}
}

/* === Pacote 31: quiosque v3 — loja física, FAQ rápido e proteção de tela === */
.kiosk-only{display:none}
body.is-kiosk .kiosk-only{display:grid}
body.is-kiosk .cart-share-btn,
body.is-kiosk .product-share-btn{display:none!important}
body.is-kiosk .field--zip,
body.is-kiosk .rent-context-inline .field--zip{display:none!important}
body.is-kiosk .catalog-context-bar{display:none!important}
body.is-kiosk .search-row--advanced{display:grid!important}
body.is-kiosk .search-card.is-collapsed .search-row--advanced{display:grid!important}
body.is-kiosk #toggleAdvancedBtn{display:none!important}
body.is-kiosk .search-row--main{grid-template-columns:minmax(0,1fr) minmax(150px,auto) auto!important}
body.is-kiosk .kiosk-dock{border-top:0!important}
.kiosk-hero-panel{grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 14px;padding:18px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(126,58,242,.1));box-shadow:0 18px 45px rgba(0,0,0,.18)}
.kiosk-hero-panel h1{margin:4px 0 6px;color:#fff;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.08;letter-spacing:-.04em}
.kiosk-hero-panel p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.45;max-width:60ch}
.kiosk-hero-panel__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kiosk-hero-panel__steps span{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-weight:850;color:#fff}
.kiosk-hero-panel__steps i{color:#ffe68f;font-size:1.1rem}
.kiosk-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 18px}
.kiosk-guide-card{padding:16px;border-radius:24px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);display:grid;gap:10px;color:var(--text)}
.kiosk-guide-card__icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:var(--grad);color:#170c22;font-size:1.25rem}
.kiosk-guide-card h3{margin:0;color:#fff;font-size:1.03rem}.kiosk-guide-card p,.kiosk-guide-card ol{margin:0;color:var(--muted);line-height:1.45}.kiosk-guide-card ol{padding-left:18px}.kiosk-guide-card li+li{margin-top:4px}
.kiosk-screensaver{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;overflow:hidden;background:#0f0718;color:#fff;cursor:pointer;touch-action:manipulation}
.kiosk-screensaver[hidden]{display:none!important}.kiosk-screensaver__bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,0,128,.32),transparent 32%),radial-gradient(circle at 80% 22%,rgba(0,210,255,.24),transparent 32%),radial-gradient(circle at 50% 90%,rgba(255,215,0,.22),transparent 30%),linear-gradient(135deg,#100719,#25103a 60%,#0b0612);filter:saturate(1.15)}
.kiosk-screensaver__card{position:relative;z-index:2;width:min(76vw,620px);max-height:82vh;display:grid;gap:16px;justify-items:center;text-align:center;padding:22px;border-radius:38px;background:rgba(10,7,18,.55);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 90px rgba(0,0,0,.45);backdrop-filter:blur(18px)}
.kiosk-screensaver__card img{width:min(58vh,420px);aspect-ratio:1/1.15;object-fit:cover;border-radius:30px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.kiosk-screensaver__badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-weight:900;color:#ffe68f;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.kiosk-screensaver__copy{display:grid;gap:5px}.kiosk-screensaver__copy strong{font-size:clamp(1.4rem,3.6vw,2.45rem);line-height:1.05;letter-spacing:-.04em}.kiosk-screensaver__copy span{color:#eadff8;font-weight:750}.kiosk-screensaver__hint{position:absolute;z-index:3;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.25)}
@media(max-width:767px){body.is-kiosk .search-row--main{grid-template-columns:minmax(0,1fr) auto!important}.kiosk-hero-panel__steps,.kiosk-guide-grid{grid-template-columns:1fr}.kiosk-screensaver__card{width:calc(100vw - 28px);border-radius:28px}.kiosk-screensaver__card img{width:min(70vw,360px)}}

/* ========================================================================== 
   Quiosque v2 — home orientada, filtros antes do catálogo e screensaver vitrine
   ========================================================================== */
body.is-kiosk .catalog-shell{
  position:relative;
}
body.is-kiosk .catalog-shell::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(135deg,rgba(13,8,24,.90),rgba(28,13,48,.86)),
    var(--kiosk-home-bg, radial-gradient(circle at 20% 10%,rgba(255,0,128,.20),transparent 34%), radial-gradient(circle at 80% 20%,rgba(0,200,255,.17),transparent 30%), linear-gradient(135deg,#120719,#241039));
  background-size:cover;
  background-position:center;
}
body.is-kiosk .kiosk-hero-panel{
  min-height:clamp(220px,28vh,340px);
  align-content:end;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(135deg,rgba(10,7,18,.72),rgba(10,7,18,.48)),
    radial-gradient(circle at 12% 15%,rgba(255,230,143,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(126,58,242,.12));
}
body.is-kiosk .kiosk-hero-panel::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:3px;
  background:var(--grad);
  opacity:.95;
}
body.is-kiosk .kiosk-hero-panel__copy,
body.is-kiosk .kiosk-hero-panel__steps{position:relative;z-index:1}
body.is-kiosk .kiosk-hero-panel h1{font-size:clamp(1.9rem,4vw,3.3rem)}
body.is-kiosk .kiosk-hero-panel p{font-size:clamp(1.02rem,1.5vw,1.22rem);max-width:74ch}
body.is-kiosk .kiosk-hero-panel__steps{
  grid-template-columns:minmax(130px,1fr) 42px minmax(160px,1fr) 42px minmax(170px,1fr);
  align-items:center;
}
body.is-kiosk .kiosk-step-arrow{
  justify-content:center!important;
  padding:0!important;
  min-height:42px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.045)!important;
}
body.is-kiosk .kiosk-step-arrow i{
  animation:kioskArrowPulse 1.15s ease-in-out infinite;
}
@keyframes kioskArrowPulse{
  0%,100%{transform:translateX(-2px);opacity:.55}
  50%{transform:translateX(4px);opacity:1}
}
body.is-kiosk .kiosk-guide-grid{margin:0 0 4px;grid-template-columns:1fr 1.15fr 1fr}
body.is-kiosk .kiosk-guide-card{
  min-height:182px;
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
}
.kiosk-info-link{
  justify-self:start;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  color:#fff;
  border-radius:999px;
  padding:8px 11px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
}
.kiosk-payment-buttons{display:flex;flex-wrap:wrap;gap:8px}
.kiosk-payment-buttons span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
  font-weight:900;
  font-size:.86rem;
}
.kiosk-payment-buttons i{color:#ffe68f}
body.is-kiosk .search-card{
  position:relative;
  top:auto;
  display:grid;
  gap:12px;
  border-radius:28px;
  padding:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
body.is-kiosk .search-card::before{
  content:"Encontre sua fantasia";
  display:block;
  color:#ffe68f;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
}
body.is-kiosk .search-row--main{
  grid-template-columns:minmax(320px,1.3fr) auto auto!important;
  align-items:center;
}
body.is-kiosk .field--mode{display:none!important}
.kiosk-mode-actions{
  display:flex!important;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}
.kiosk-mode-actions button{
  min-height:48px;
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  background:rgba(255,255,255,.07);
  border-radius:16px;
  padding:0 15px;
  font-weight:950;
  cursor:pointer;
}
.kiosk-mode-actions button:hover,
.kiosk-mode-actions button.is-active{
  background:var(--grad);
  color:#160b22;
  border-color:transparent;
}
body.is-kiosk .search-row--advanced{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.is-kiosk .catalog-grid{margin-top:4px}
.kiosk-catalog-start{
  grid-column:1/-1;
  min-height:158px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:7px;
  padding:26px;
  border-radius:28px;
  border:1px dashed rgba(255,255,255,.18);
  background:rgba(255,255,255,.055);
  color:#eadff8;
}
.kiosk-catalog-start i{font-size:2rem;color:#ffe68f}
.kiosk-catalog-start strong{font-size:1.18rem;color:#fff}
.kiosk-catalog-start span{max-width:62ch;line-height:1.45}
body.is-kiosk .kiosk-screensaver__card{
  width:min(92vw,1120px);
  height:min(88vh,760px);
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:center;
  text-align:left;
  padding:24px;
}
body.is-kiosk .kiosk-screensaver__card img{
  width:100%;
  height:100%;
  max-height:calc(88vh - 48px);
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:34px;
  animation:kioskKenBurns 6.5s ease-in-out infinite alternate;
}
body.is-kiosk .kiosk-screensaver__badge{justify-self:start}
body.is-kiosk .kiosk-screensaver__copy{align-self:end;gap:10px}
body.is-kiosk .kiosk-screensaver__copy strong{font-size:clamp(2rem,4.8vw,4.8rem)}
body.is-kiosk .kiosk-screensaver__copy span{font-size:clamp(1rem,1.8vw,1.35rem)}
@keyframes kioskKenBurns{
  from{transform:scale(1.01)}
  to{transform:scale(1.08)}
}
@media(max-width:900px){
  body.is-kiosk .kiosk-hero-panel__steps,
  body.is-kiosk .kiosk-guide-grid,
  body.is-kiosk .search-row--advanced{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-step-arrow{display:none!important}
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important}
  .kiosk-mode-actions{justify-content:stretch;display:grid!important;grid-template-columns:repeat(3,1fr)}
  .kiosk-mode-actions button{padding-inline:8px}
  body.is-kiosk .kiosk-screensaver__card{grid-template-columns:1fr;width:calc(100vw - 24px);height:calc(100vh - 42px);text-align:center}
  body.is-kiosk .kiosk-screensaver__badge{justify-self:center}
  body.is-kiosk .kiosk-screensaver__card img{height:min(62vh,560px)}
}

/* ========================================================================== 
   Quiosque v4 — ajustes finos do home, filtros em botões e screensaver full
   ========================================================================== */
body.is-kiosk .kiosk-guide-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:4px 0 8px;
}
body.is-kiosk .kiosk-guide-card{
  grid-template-columns:auto 1fr;
  align-items:flex-start;
  gap:16px;
  padding:22px;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 56px rgba(0,0,0,.18);
}
body.is-kiosk .kiosk-guide-card__icon{
  width:68px;
  height:68px;
  border-radius:22px;
  font-size:1.8rem;
  flex:none;
}
body.is-kiosk .kiosk-guide-card__body{display:grid;gap:8px}
body.is-kiosk .kiosk-guide-card__body small{
  color:#ffe68f;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
body.is-kiosk .kiosk-guide-card h3{
  font-size:1.16rem;
  line-height:1.15;
}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol{
  color:#d5cce3;
  line-height:1.5;
}
body.is-kiosk .kiosk-guide-card ol{padding-left:18px}
body.is-kiosk .kiosk-guide-card li+li{margin-top:5px}
body.is-kiosk .kiosk-guide-card--payments{grid-template-columns:1fr}
body.is-kiosk .kiosk-guide-card--payments .kiosk-guide-card__icon{margin-bottom:2px}
body.is-kiosk .kiosk-payment-buttons{gap:10px}
body.is-kiosk .kiosk-payment-buttons span{
  min-height:42px;
  padding:9px 12px;
  font-size:.92rem;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.06));
}
body.is-kiosk .kiosk-info-link{
  min-height:42px;
  padding:9px 14px;
  background:rgba(255,255,255,.05);
}

body.is-kiosk .kiosk-hero-panel{
  padding:24px;
  min-height:clamp(250px,32vh,360px);
}
body.is-kiosk .kiosk-hero-panel__copy{display:grid;gap:6px}
body.is-kiosk .kiosk-hero-panel__steps{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
body.is-kiosk .kiosk-step-node,
body.is-kiosk .kiosk-step-bullet{
  opacity:0;
  transform:translateY(8px) scale(.98);
  animation:kioskSequence 8.8s infinite;
}
body.is-kiosk .kiosk-step-node{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:52px;
  padding:0 16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
body.is-kiosk .kiosk-step-node b{color:#ffe68f}
body.is-kiosk .kiosk-step-node i{font-size:1.08rem;color:#ffe68f}
body.is-kiosk .kiosk-step-bullet{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#ffe68f;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}
body.is-kiosk .kiosk-step-bullet i{animation:kioskArrowFloat 1.2s ease-in-out infinite}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(1){animation-delay:.15s}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(2){animation-delay:.55s}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(3){animation-delay:1s}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(4){animation-delay:1.45s}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(5){animation-delay:1.9s}
@keyframes kioskSequence{
  0%,6%{opacity:0;transform:translateY(8px) scale(.98)}
  10%,72%{opacity:1;transform:translateY(0) scale(1)}
  82%,100%{opacity:0;transform:translateY(8px) scale(.98)}
}
@keyframes kioskArrowFloat{
  0%,100%{transform:translateX(-1px);opacity:.55}
  50%{transform:translateX(4px);opacity:1}
}

body.is-kiosk .search-card::before{content:"Encontre sua fantasia"}
body.is-kiosk .search-row--main{
  grid-template-columns:minmax(280px,1fr) auto auto!important;
  gap:10px;
}
body.is-kiosk .search-row--advanced{
  grid-template-columns:1.15fr 1.15fr minmax(220px,.7fr)!important;
  align-items:start;
}
body.is-kiosk .kiosk-filters-legacy{display:none!important}
body.is-kiosk #clearFiltersBtn{justify-content:center}
body.is-kiosk .field--date{min-height:100%}
body.is-kiosk .field--date input{font-weight:800}
body.is-kiosk .kiosk-filter-block{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.04);
}
body.is-kiosk .kiosk-filter-block__head{
  display:flex;
  align-items:center;
  gap:8px;
  color:#ffe68f;
  font-weight:900;
  letter-spacing:.02em;
}
body.is-kiosk .kiosk-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.is-kiosk .kiosk-filter-chip{
  min-height:40px;
  padding:9px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:850;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.is-kiosk .kiosk-filter-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.11);
}
body.is-kiosk .kiosk-filter-chip.is-active{
  background:var(--grad);
  color:#160b22;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
body.is-kiosk .kiosk-filter-chip--placeholder{
  opacity:.72;
  cursor:default;
}
body.is-kiosk .kiosk-filter-chip i{font-size:.95rem}

body.is-kiosk .kiosk-screensaver{
  background:#09050f;
}
body.is-kiosk .kiosk-screensaver__bg{
  background:linear-gradient(135deg,#0a0510,#12081b 45%,#09050f);
  opacity:.9;
}
body.is-kiosk .kiosk-screensaver__media{
  position:relative;
  width:100vw;
  height:100vh;
  overflow:hidden;
}
body.is-kiosk .kiosk-screensaver__media img{
  width:100vw;
  height:100vh;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  background:#fff;
  animation:kioskKenBurns 7s ease-in-out infinite alternate;
}
body.is-kiosk .kiosk-screensaver__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,5,14,.18) 0%,rgba(8,5,14,.1) 26%,rgba(8,5,14,.35) 56%,rgba(8,5,14,.9) 100%),
    linear-gradient(90deg,rgba(8,5,14,.74) 0%,rgba(8,5,14,.26) 42%,rgba(8,5,14,.1) 100%);
}
body.is-kiosk .kiosk-screensaver__content{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  align-content:end;
  gap:14px;
  padding:clamp(18px,3vw,34px);
}
body.is-kiosk .kiosk-screensaver__badge{
  justify-self:start;
  margin-bottom:auto;
}
body.is-kiosk .kiosk-screensaver__copy{
  max-width:min(52vw,620px);
  display:grid;
  gap:8px;
}
body.is-kiosk .kiosk-screensaver__copy strong{
  font-size:clamp(2.3rem,5.6vw,5.4rem);
  line-height:.96;
  text-shadow:0 10px 28px rgba(0,0,0,.42);
}
body.is-kiosk .kiosk-screensaver__copy span{
  font-size:clamp(1rem,1.8vw,1.3rem);
  color:#f2eafd;
  text-shadow:0 8px 20px rgba(0,0,0,.36);
}
body.is-kiosk .kiosk-screensaver__hint{
  position:static;
  transform:none;
  justify-self:start;
  width:fit-content;
  margin-top:4px;
}

@media(max-width:1100px){
  body.is-kiosk .kiosk-guide-grid,
  body.is-kiosk .search-row--advanced{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-guide-card{grid-template-columns:1fr}
  body.is-kiosk .kiosk-guide-card__icon{width:60px;height:60px;border-radius:20px}
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-hero-panel__steps{gap:8px}
  body.is-kiosk .kiosk-step-bullet{display:none}
  body.is-kiosk .kiosk-step-node{width:100%;justify-content:flex-start}
  body.is-kiosk .kiosk-screensaver__copy{max-width:min(100%,560px)}
  body.is-kiosk .kiosk-screensaver__hint{width:auto}
}
@media(max-width:640px){
  body.is-kiosk .kiosk-hero-panel{padding:18px}
  body.is-kiosk .kiosk-screensaver__content{padding:16px}
  body.is-kiosk .kiosk-screensaver__copy strong{font-size:clamp(1.8rem,8vw,3rem)}
}


/* ========================================================================== 
   Quiosque v4.1 — vertical-first, navegação por páginas e screensaver íntegro
   ========================================================================== */
body.is-kiosk .page{
  width:min(1280px,calc(100% - 44px));
}
body.is-kiosk .catalog-shell{
  width:100%;
  max-width:min(100%,1040px);
  margin-inline:auto;
}
@media (orientation:portrait){
  body.is-kiosk .page{width:min(100% - 36px,980px)}
  body.is-kiosk .catalog-shell{max-width:980px}
}
@media (orientation:landscape) and (min-width:1180px){
  body.is-kiosk .catalog-shell{max-width:1120px}
}

/* As páginas de Categorias/Temas do quiosque usam o mesmo raciocínio visual da loja online. */
body.is-kiosk #screen-categorias,
body.is-kiosk #screen-temas{
  width:min(100%,1180px);
  margin-inline:auto;
  gap:22px;
}
body.is-kiosk #screen-categorias .section-head.compact,
body.is-kiosk #screen-temas .section-head.compact{
  display:flex!important;
  align-items:end;
  justify-content:space-between;
  padding-top:10px;
}
body.is-kiosk #screen-categorias .section-head h2,
body.is-kiosk #screen-temas .section-head h2{
  font-size:clamp(1.75rem,3vw,2.45rem);
}
body.is-kiosk #screen-categorias .tile-grid,
body.is-kiosk #screen-temas .tile-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;
}
body.is-kiosk #screen-categorias .tile-card--thumb,
body.is-kiosk #screen-temas .tile-card--thumb{
  min-height:96px;
  height:auto;
  border-radius:28px;
  padding:12px 18px 12px 12px;
  background:rgba(255,255,255,.035);
}
body.is-kiosk #screen-categorias .tile-card--thumb .tile-card__media,
body.is-kiosk #screen-temas .tile-card--thumb .tile-card__media{
  width:72px;
  height:72px;
  flex-basis:72px;
}
body.is-kiosk #screen-categorias .tile-card--thumb .tile-card__content strong,
body.is-kiosk #screen-temas .tile-card--thumb .tile-card__content strong{
  font-size:1.05rem;
}

/* Na home do quiosque: Categorias e Temas viram botões de navegação, não lista de chips. */
body.is-kiosk .search-row--advanced{
  grid-template-columns:minmax(0,1fr) minmax(220px,.45fr)!important;
  align-items:stretch;
}
body.is-kiosk .kiosk-filter-nav{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.is-kiosk .kiosk-filter-nav__btn{
  min-height:78px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  color:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 18px 40px rgba(0,0,0,.16);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
body.is-kiosk .kiosk-filter-nav__btn:hover,
body.is-kiosk .kiosk-filter-nav__btn:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
  outline:none;
}
body.is-kiosk .kiosk-filter-nav__icon{
  width:48px;
  height:48px;
  border-radius:17px;
  font-size:1.25rem;
}
body.is-kiosk .kiosk-filter-nav__copy{
  min-width:0;
  display:grid;
  gap:2px;
}
body.is-kiosk .kiosk-filter-nav__copy strong{
  font-weight:950;
  letter-spacing:.01em;
}
body.is-kiosk .kiosk-filter-nav__copy small{
  color:#bfb4ce;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.is-kiosk .kiosk-filter-nav__btn > .bi-arrow-right-short{
  font-size:1.55rem;
  color:#ffe68f;
}
body.is-kiosk .kiosk-filter-block,
body.is-kiosk .kiosk-filter-chips{
  display:none!important;
}
body.is-kiosk .field--date{
  align-self:stretch;
  min-height:78px;
}

/* Proteção de tela: produto 1:1 íntegro no topo, informações embaixo, sem overlay sobre a imagem. */
body.is-kiosk .kiosk-screensaver{
  display:block;
  background:#08050d;
}
body.is-kiosk .kiosk-screensaver[hidden]{display:none!important}
body.is-kiosk .kiosk-screensaver__bg{
  display:none!important;
}
body.is-kiosk .kiosk-screensaver__media{
  position:relative;
  width:100vw;
  height:100vh;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
  background:#08050d;
}
body.is-kiosk .kiosk-screensaver__media img{
  grid-row:1;
  align-self:start;
  justify-self:center;
  width:100%;
  height:100%;
  max-width:100vw;
  max-height:100%;
  object-fit:contain;
  object-position:top center;
  background:#fff;
  border-radius:0;
  box-shadow:none;
  animation:kioskImageBreathing 7s ease-in-out infinite alternate;
  transform-origin:center top;
}
body.is-kiosk .kiosk-screensaver__overlay{
  display:none!important;
}
body.is-kiosk .kiosk-screensaver__content{
  position:relative;
  inset:auto;
  z-index:2;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:16px;
  padding:clamp(18px,2.8vw,34px);
  background:linear-gradient(135deg,rgba(12,7,19,.98),rgba(24,12,35,.96));
  border-top:1px solid rgba(255,255,255,.13);
  box-shadow:0 -18px 44px rgba(0,0,0,.22);
}
body.is-kiosk .kiosk-screensaver__badge{
  grid-column:1/-1;
  justify-self:start;
  margin:0;
  background:rgba(255,255,255,.07);
}
body.is-kiosk .kiosk-screensaver__copy{
  max-width:780px;
  display:grid;
  gap:6px;
}
body.is-kiosk .kiosk-screensaver__copy strong{
  font-size:clamp(1.75rem,3.8vw,4rem);
  line-height:1;
  text-shadow:none;
}
body.is-kiosk .kiosk-screensaver__copy span{
  font-size:clamp(.98rem,1.45vw,1.2rem);
  color:#ded3ec;
  text-shadow:none;
}
body.is-kiosk .kiosk-screensaver__hint{
  position:relative;
  transform:none;
  justify-self:end;
  align-self:end;
  width:max-content;
  margin:0;
  background:rgba(255,255,255,.08);
  box-shadow:none;
}
@keyframes kioskImageBreathing{
  from{transform:scale(.985);filter:saturate(1.02)}
  to{transform:scale(1);filter:saturate(1.12)}
}

@media(max-width:900px){
  body.is-kiosk .search-row--advanced{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-filter-nav{grid-template-columns:1fr}
  body.is-kiosk .field--date{min-height:58px}
  body.is-kiosk .kiosk-screensaver__content{
    grid-template-columns:1fr;
    align-items:start;
    gap:10px;
  }
  body.is-kiosk .kiosk-screensaver__hint{
    justify-self:start;
  }
}
@media(max-width:680px){
  body.is-kiosk .page{width:min(100% - 24px,760px)}
  body.is-kiosk .kiosk-filter-nav__copy small{white-space:normal}
  body.is-kiosk #screen-categorias .tile-grid,
  body.is-kiosk #screen-temas .tile-grid{grid-template-columns:1fr}
}


/* ========================================================================== 
   Quiosque v5 — responsivo vertical-first, sem ilhas e dock só com Cartola
   ========================================================================== */
body.is-kiosk{
  padding-bottom:24px!important;
}
body.is-kiosk.has-kiosk-dock{
  padding-bottom:118px!important;
}
@media(max-width:767px){
  body.is-kiosk{padding-bottom:22px!important;}
  body.is-kiosk.has-kiosk-dock{padding-bottom:164px!important;}
}
body.is-kiosk .catalog-shell{
  width:min(100% - 32px, 980px)!important;
  max-width:980px!important;
  margin-inline:auto!important;
  gap:14px!important;
}
@media(min-width:1180px) and (orientation:landscape){
  body.is-kiosk .catalog-shell{width:min(100% - 56px, 1120px)!important;}
}
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;
  padding:clamp(18px,2.4vw,28px)!important;
  align-content:start!important;
  gap:16px!important;
  margin-bottom:14px!important;
}
body.is-kiosk .kiosk-hero-panel h1{
  max-width:13ch;
  font-size:clamp(1.9rem,4.4vw,3.2rem)!important;
  line-height:1.02!important;
}
body.is-kiosk .kiosk-hero-panel p{
  max-width:56ch!important;
  font-size:clamp(.98rem,1.7vw,1.15rem)!important;
}
body.is-kiosk .kiosk-hero-panel__steps{
  display:grid!important;
  grid-template-columns:repeat(5,auto)!important;
  justify-content:start!important;
  align-items:center!important;
  gap:8px!important;
  min-height:0!important;
}
body.is-kiosk .kiosk-step-node,
body.is-kiosk .kiosk-step-bullet{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
body.is-kiosk .kiosk-step-node{
  min-height:42px!important;
  padding:8px 14px!important;
  border-radius:16px!important;
  animation:kioskStepPulse 9s ease-in-out infinite!important;
}
body.is-kiosk .kiosk-hero-panel__steps > .kiosk-step-node:nth-of-type(1){animation-delay:0s!important;}
body.is-kiosk .kiosk-hero-panel__steps > .kiosk-step-node:nth-of-type(2){animation-delay:3s!important;}
body.is-kiosk .kiosk-hero-panel__steps > .kiosk-step-node:nth-of-type(3){animation-delay:6s!important;}
@keyframes kioskStepPulse{
  0%,22%,100%{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);box-shadow:none;}
  8%,16%{background:linear-gradient(135deg,rgba(255,215,0,.22),rgba(126,58,242,.18));border-color:rgba(255,255,255,.24);box-shadow:0 12px 34px rgba(0,0,0,.22);}
}
body.is-kiosk .kiosk-guide-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:14px 0!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height:0!important;
  padding:16px!important;
  border-radius:24px!important;
  align-content:start!important;
}
body.is-kiosk .kiosk-guide-card__icon{
  width:52px!important;
  height:52px!important;
  border-radius:18px!important;
}
body.is-kiosk .kiosk-guide-card ol{
  max-height:5.9em;
  overflow:hidden;
}
body.is-kiosk .kiosk-guide-card p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.is-kiosk .search-card{
  position:sticky!important;
  top:78px!important;
  z-index:80!important;
  padding:14px!important;
  border-radius:26px!important;
}
body.is-kiosk .search-row--main{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:10px!important;
}
body.is-kiosk .kiosk-mode-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(92px,1fr))!important;
  gap:8px!important;
}
body.is-kiosk .search-row--advanced{
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
}
body.is-kiosk .kiosk-filter-nav{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body.is-kiosk .field--date{
  min-height:52px!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  min-height:76px!important;
  text-align:left!important;
}
body.is-kiosk .kiosk-catalog-start{
  min-height:128px!important;
}
body.is-kiosk .kiosk-picker-panel{
  grid-column:1/-1;
  display:grid;
  gap:16px;
  padding:18px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.052);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
body.is-kiosk .kiosk-picker-panel__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
body.is-kiosk .kiosk-picker-panel__head h2{
  margin:4px 0 4px;
  font-size:clamp(1.35rem,3vw,2rem);
  color:#fff;
}
body.is-kiosk .kiosk-picker-panel__head p{
  margin:0;
  color:var(--muted);
}
body.is-kiosk .kiosk-picker-panel__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
body.is-kiosk .kiosk-picker-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.is-kiosk .kiosk-picker-grid .tile-card{
  min-height:104px!important;
}
body.is-kiosk .kiosk-picker-faq{
  display:grid;
  gap:10px;
}
body.is-kiosk .kiosk-section-toolbar{
  display:flex!important;
  justify-content:space-between;
  gap:10px;
  margin:0 0 14px;
}
body.is-kiosk .kiosk-screensaver{
  display:block!important;
  background:#0a0510!important;
}
body.is-kiosk .kiosk-screensaver[hidden]{display:none!important;}
body.is-kiosk .kiosk-screensaver__media{
  width:100vw!important;
  height:100vh!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  background:#0a0510!important;
}
body.is-kiosk .kiosk-screensaver__media img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  background:#fff!important;
  border-radius:0!important;
  animation:kioskContainFloat 7s ease-in-out infinite alternate!important;
}
body.is-kiosk .kiosk-screensaver__overlay{display:none!important;}
body.is-kiosk .kiosk-screensaver__content{
  position:static!important;
  z-index:2!important;
  display:grid!important;
  align-content:start!important;
  gap:8px!important;
  padding:14px clamp(16px,3vw,32px) calc(16px + env(safe-area-inset-bottom))!important;
  background:#0e0718!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
body.is-kiosk .kiosk-screensaver__badge{
  margin:0!important;
  justify-self:start!important;
}
body.is-kiosk .kiosk-screensaver__copy{
  max-width:none!important;
}
body.is-kiosk .kiosk-screensaver__copy strong{
  font-size:clamp(1.55rem,3.8vw,3rem)!important;
  line-height:1.05!important;
  text-shadow:none!important;
}
body.is-kiosk .kiosk-screensaver__copy span{
  font-size:clamp(.95rem,1.5vw,1.15rem)!important;
  text-shadow:none!important;
}
body.is-kiosk .kiosk-screensaver__hint{
  justify-self:start!important;
  position:static!important;
  transform:none!important;
  margin:4px 0 0!important;
}
@keyframes kioskContainFloat{
  from{transform:scale(1)}
  to{transform:scale(1.035)}
}
@media(max-width:820px){
  body.is-kiosk .catalog-shell{width:min(100% - 24px,760px)!important;}
  body.is-kiosk .kiosk-hero-panel h1{max-width:none!important;font-size:clamp(1.65rem,6vw,2.35rem)!important;}
  body.is-kiosk .kiosk-hero-panel__steps{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-step-bullet{display:none!important;}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-guide-card{padding:16px 18px!important;}
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-mode-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.is-kiosk .kiosk-filter-nav{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-picker-panel__head{display:grid;align-items:start;}
  body.is-kiosk .kiosk-picker-panel__actions{justify-content:start;}
  body.is-kiosk .kiosk-picker-grid{grid-template-columns:1fr!important;}
}
@media(min-width:821px) and (max-width:1050px) and (orientation:portrait){
  body.is-kiosk .catalog-shell{width:min(100% - 40px,920px)!important;}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.is-kiosk .search-row--main{grid-template-columns:minmax(0,1fr)!important;}
  body.is-kiosk .kiosk-mode-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.is-kiosk .kiosk-filter-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

.kiosk-dock[hidden]{display:none!important;}

/* ========================================================================== 
   Quiosque v6 — fluxo por telas, filtro em linha e vertical 3K-first
   ========================================================================== */
body.is-kiosk{
  --kiosk-max: min(100% - 56px, 1240px);
  padding-bottom:26px!important;
}
body.is-kiosk.has-kiosk-dock{padding-bottom:132px!important;}
body.is-kiosk .page,
body.is-kiosk .catalog-shell,
body.is-kiosk #screen-categorias,
body.is-kiosk #screen-temas,
body.is-kiosk #screen-faq,
body.is-kiosk #screen-como-alugar,
body.is-kiosk #screen-pagamentos,
body.is-kiosk #screen-sobre{
  width:var(--kiosk-max)!important;
  max-width:1240px!important;
  margin-inline:auto!important;
}
body.is-kiosk .catalog-shell{gap:clamp(14px,1.5vh,24px)!important;}

/* Capa mais firme em tela vertical */
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:clamp(12px,1.35vh,20px)!important;
  padding:clamp(20px,2.3vw,34px)!important;
  border-radius:30px!important;
}
body.is-kiosk .kiosk-hero-panel h1{
  max-width:min(18ch,100%)!important;
  font-size:clamp(2rem,4.2vw,4.1rem)!important;
  line-height:1.01!important;
}
body.is-kiosk .kiosk-hero-panel p{
  max-width:58ch!important;
  font-size:clamp(1rem,1.45vw,1.25rem)!important;
}

/* Passos: um por vez, na ordem 1 -> 2 -> 3 */
body.is-kiosk .kiosk-hero-panel__steps{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:10px!important;
  min-height:54px!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-step-node,
body.is-kiosk .kiosk-step-bullet{
  opacity:0!important;
  transform:translateY(8px) scale(.985)!important;
  animation-duration:10.5s!important;
  animation-timing-function:ease-in-out!important;
  animation-iteration-count:infinite!important;
}
body.is-kiosk .kiosk-step-node{
  min-height:48px!important;
  padding:9px 16px!important;
  border-radius:18px!important;
  white-space:nowrap!important;
  box-shadow:0 14px 32px rgba(0,0,0,.18)!important;
}
body.is-kiosk .kiosk-step-bullet{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(1){animation-name:kioskStep1!important;}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(2){animation-name:kioskArrow1!important;}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(3){animation-name:kioskStep2!important;}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(4){animation-name:kioskArrow2!important;}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(5){animation-name:kioskStep3!important;}
@keyframes kioskStep1{0%,3%{opacity:0;transform:translateY(8px) scale(.985)}7%,24%{opacity:1;transform:translateY(0) scale(1)}29%,100%{opacity:0;transform:translateY(-4px) scale(.99)}}
@keyframes kioskArrow1{0%,21%{opacity:0;transform:translateX(-8px)}24%,29%{opacity:1;transform:translateX(0)}33%,100%{opacity:0;transform:translateX(8px)}}
@keyframes kioskStep2{0%,29%{opacity:0;transform:translateY(8px) scale(.985)}34%,51%{opacity:1;transform:translateY(0) scale(1)}56%,100%{opacity:0;transform:translateY(-4px) scale(.99)}}
@keyframes kioskArrow2{0%,49%{opacity:0;transform:translateX(-8px)}52%,57%{opacity:1;transform:translateX(0)}61%,100%{opacity:0;transform:translateX(8px)}}
@keyframes kioskStep3{0%,56%{opacity:0;transform:translateY(8px) scale(.985)}61%,83%{opacity:1;transform:translateY(0) scale(1)}91%,100%{opacity:0;transform:translateY(8px) scale(.985)}}

/* Cards da capa: responsivos sem virar torre espremida */
body.is-kiosk .kiosk-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(12px,1.4vw,20px)!important;
  margin:clamp(12px,1.4vh,22px) 0!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height:0!important;
  padding:clamp(16px,1.7vw,24px)!important;
  cursor:pointer;
}
body.is-kiosk .kiosk-guide-card__body{min-width:0!important;}
body.is-kiosk .kiosk-guide-card h3{font-size:clamp(1.05rem,1.4vw,1.35rem)!important;}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card li{font-size:clamp(.92rem,1.15vw,1.04rem)!important;}
body.is-kiosk .kiosk-guide-card ol{
  max-height:4.8em!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-guide-card p{
  -webkit-line-clamp:3!important;
}

/* Filtro da capa em uma única linha, com rolagem horizontal quando faltar largura */
body.is-kiosk .search-card{
  top:78px!important;
  padding:clamp(12px,1.4vw,18px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
body.is-kiosk .search-row--main{
  display:flex!important;
  align-items:stretch!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:2px!important;
  scrollbar-width:thin;
}
body.is-kiosk .search-row--main > *{flex:0 0 auto!important;}
body.is-kiosk .search-row--main .field--search{
  flex:1 1 340px!important;
  min-width:min(360px,70vw)!important;
}
body.is-kiosk .kiosk-mode-actions{
  display:flex!important;
  flex:0 0 auto!important;
  gap:8px!important;
}
body.is-kiosk .kiosk-mode-actions button{
  min-width:106px!important;
  min-height:52px!important;
  padding-inline:14px!important;
}
body.is-kiosk .kiosk-filter-nav{
  display:flex!important;
  flex:0 0 auto!important;
  gap:8px!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  min-width:154px!important;
  min-height:52px!important;
  padding:7px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
body.is-kiosk .kiosk-filter-nav__icon{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  font-size:1rem!important;
}
body.is-kiosk .kiosk-filter-nav__copy small{display:none!important;}
body.is-kiosk .field--date{
  min-width:188px!important;
  min-height:52px!important;
}
body.is-kiosk #clearFiltersBtn{
  min-width:118px!important;
  min-height:52px!important;
}
body.is-kiosk #toggleAdvancedBtn{display:none!important;}
body.is-kiosk .search-row--advanced{
  display:none!important;
}
body.is-kiosk .field--mode,
body.is-kiosk .kiosk-filters-legacy,
body.is-kiosk .field--zip{display:none!important;}

/* Telas internas: navegação sempre disponível, sem ruas sem saída */
body.is-kiosk .kiosk-page-nav,
body.is-kiosk .kiosk-section-toolbar{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  padding:2px 0 10px!important;
  margin:0 0 12px!important;
}
body.is-kiosk .kiosk-page-nav .soft-btn,
body.is-kiosk .kiosk-section-toolbar .soft-btn{
  min-height:48px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
body.is-kiosk #screen-categorias .section-head,
body.is-kiosk #screen-temas .section-head,
body.is-kiosk #screen-faq .section-head{margin-top:4px!important;}
body.is-kiosk #screen-categorias .tile-grid,
body.is-kiosk #screen-temas .tile-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
body.is-kiosk #screen-categorias .tile-card,
body.is-kiosk #screen-temas .tile-card{
  min-height:112px!important;
  border-radius:999px!important;
}
body.is-kiosk .kiosk-info-screen .about-hero,
body.is-kiosk .kiosk-rich-hero{
  margin-bottom:18px!important;
}
body.is-kiosk .kiosk-rich-grid,
body.is-kiosk .kiosk-payment-page-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}

/* Dock: nunca aparece vazio na capa; JS controla com item real */
body.is-kiosk .kiosk-dock[hidden]{display:none!important;}
body.is-kiosk .kiosk-dock{
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  width:min(100% - 36px,980px)!important;
  transform:translateX(-50%)!important;
  border-radius:24px!important;
  padding:14px!important;
}

/* Modais centralizados no quiosque, incluindo Cartola */
body.is-kiosk .modal-shell,
body.is-kiosk .drawer,
body.is-kiosk .mobile-menu{
  padding:clamp(18px,2.5vw,34px)!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
}
body.is-kiosk .drawer__sheet{
  width:min(94vw,760px)!important;
  max-height:min(88vh,980px)!important;
  height:auto!important;
  border-radius:30px!important;
}
body.is-kiosk .modal-card{
  max-height:min(88vh,980px)!important;
  border-radius:30px!important;
}
body.is-kiosk .modal-card--product{width:min(94vw,1120px)!important;}

/* Screensaver: foto preenche pela altura, pan horizontal revela a imagem e troca com fade */
body.is-kiosk .kiosk-screensaver__media{
  width:100vw!important;
  height:100vh!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
  background:#08040d!important;
}
body.is-kiosk .kiosk-screensaver__media img{
  justify-self:center!important;
  align-self:stretch!important;
  width:auto!important;
  min-width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  background:#fff!important;
  transform-origin:center center!important;
  animation:kioskImagePanReveal 8.5s ease-in-out infinite!important;
  transition:opacity .36s ease!important;
}
body.is-kiosk .kiosk-screensaver__media img.is-changing{opacity:0!important;}
body.is-kiosk .kiosk-screensaver__content{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:14px!important;
  padding:clamp(16px,2.1vw,30px)!important;
  background:#100719!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
body.is-kiosk .kiosk-screensaver__badge{grid-column:1/-1!important;}
body.is-kiosk .kiosk-screensaver__hint{justify-self:end!important;}
@keyframes kioskImagePanReveal{
  0%{transform:translateX(0) scale(1.01)}
  18%{transform:translateX(0) scale(1.01)}
  42%{transform:translateX(calc((100vw - 100%) / 2)) scale(1.01)}
  72%{transform:translateX(calc((100% - 100vw) / 2)) scale(1.01)}
  100%{transform:translateX(0) scale(1.01)}
}

@media(orientation:portrait) and (min-width:900px){
  body.is-kiosk{--kiosk-max:min(100% - 72px,1180px);}
  body.is-kiosk .kiosk-hero-panel{padding:clamp(26px,3vw,42px)!important;}
  body.is-kiosk .search-card{top:86px!important;}
}
@media(max-width:940px){
  body.is-kiosk{--kiosk-max:min(100% - 28px,900px);}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-guide-card{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:start!important;
  }
  body.is-kiosk .kiosk-hero-panel h1{max-width:none!important;}
  body.is-kiosk #screen-categorias .tile-grid,
  body.is-kiosk #screen-temas .tile-grid,
  body.is-kiosk .kiosk-rich-grid,
  body.is-kiosk .kiosk-payment-page-grid{grid-template-columns:1fr!important;}
  body.is-kiosk #screen-categorias .tile-card,
  body.is-kiosk #screen-temas .tile-card{border-radius:32px!important;}
  body.is-kiosk .kiosk-screensaver__content{grid-template-columns:1fr!important;align-items:start!important;}
  body.is-kiosk .kiosk-screensaver__hint{justify-self:start!important;}
}
@media(max-width:620px){
  body.is-kiosk{--kiosk-max:min(100% - 20px,620px);}
  body.is-kiosk .kiosk-hero-panel__steps{flex-wrap:wrap!important;}
  body.is-kiosk .kiosk-step-bullet{display:none!important;}
  body.is-kiosk .kiosk-step-node{width:100%!important;}
}

/* Capa x catálogo: quando existe intenção, a tela vira filtro + listagem */
body.is-kiosk.kiosk-catalog-active #kioskHeroPanel,
body.is-kiosk.kiosk-catalog-active #kioskGuideGrid{
  display:none!important;
}
body.is-kiosk.kiosk-catalog-active .search-card{
  margin-top:0!important;
}


/* ========================================================================== 
   Quiosque v7 — compacto, vertical-first e filtros sem rolagem inicial
   ========================================================================== */
body.is-kiosk{
  --kiosk-btn-line: linear-gradient(90deg,rgba(255,94,98,.50),rgba(255,196,0,.48),rgba(107,255,148,.48),rgba(67,203,255,.48),rgba(167,86,255,.52));
  --kiosk-btn-line-strong: linear-gradient(90deg,#ff5e62,#ffc400,#6bff94,#43cbff,#a756ff);
}
body.is-kiosk .catalog-shell{gap:12px!important;min-height:calc(100vh - 100px)!important;align-content:start!important}
body.is-kiosk .kiosk-hero-panel{
  padding:20px 22px!important;
  min-height:clamp(180px,20vh,250px)!important;
  border-radius:30px!important;
}
body.is-kiosk .kiosk-hero-panel h1{
  font-size:clamp(1.75rem,3.2vw,2.95rem)!important;
  line-height:1.02!important;
  max-width:14ch!important;
}
body.is-kiosk .kiosk-hero-panel p{
  font-size:clamp(.98rem,1.35vw,1.12rem)!important;
  max-width:56ch!important;
}
body.is-kiosk .kiosk-hero-panel__copy{gap:4px!important}
body.is-kiosk .kiosk-hero-panel__steps{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:8px!important;
}
body.is-kiosk .kiosk-step-node,
body.is-kiosk .kiosk-step-bullet{
  opacity:0;
  transform:translateY(8px) scale(.98);
}
body.is-kiosk .kiosk-step-node{
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:16px!important;
  font-size:1rem!important;
  white-space:nowrap!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035)) padding-box,var(--kiosk-btn-line) border-box!important;
  border:1px solid transparent!important;
}
body.is-kiosk .kiosk-step-bullet{
  width:26px!important;height:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02)) padding-box,var(--kiosk-btn-line) border-box!important;
  border:1px solid transparent!important;
}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(1){animation:kioskSeq1 8s infinite}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(2){animation:kioskSeq2 8s infinite}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(3){animation:kioskSeq3 8s infinite}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(4){animation:kioskSeq4 8s infinite}
body.is-kiosk .kiosk-hero-panel__steps > :nth-child(5){animation:kioskSeq5 8s infinite}
@keyframes kioskSeq1{0%,6%{opacity:0;transform:translateY(8px) scale(.98)}10%,100%{opacity:1;transform:none}}
@keyframes kioskSeq2{0%,18%{opacity:0;transform:translateY(8px) scale(.98)}22%,100%{opacity:1;transform:none}}
@keyframes kioskSeq3{0%,34%{opacity:0;transform:translateY(8px) scale(.98)}38%,100%{opacity:1;transform:none}}
@keyframes kioskSeq4{0%,52%{opacity:0;transform:translateY(8px) scale(.98)}56%,100%{opacity:1;transform:none}}
@keyframes kioskSeq5{0%,70%{opacity:0;transform:translateY(8px) scale(.98)}74%,100%{opacity:1;transform:none}}

body.is-kiosk .kiosk-guide-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height:148px!important;
  padding:18px!important;
  gap:14px!important;
  border-radius:26px!important;
  grid-template-columns:auto 1fr!important;
}
body.is-kiosk .kiosk-guide-card__icon,
body.is-kiosk .kiosk-filter-nav__icon{
  width:56px!important;
  height:56px!important;
  border-radius:18px!important;
  border:1px solid transparent!important;
  background:linear-gradient(180deg,rgba(13,8,22,.85),rgba(13,8,22,.70)) padding-box,var(--kiosk-btn-line) border-box!important;
  box-shadow:none!important;
}
body.is-kiosk .kiosk-guide-card__icon i,
body.is-kiosk .kiosk-filter-nav__icon i{
  background:var(--kiosk-btn-line-strong);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
}
body.is-kiosk .kiosk-guide-card__body{gap:6px!important}
body.is-kiosk .kiosk-guide-card__body small{font-size:.78rem!important}
body.is-kiosk .kiosk-guide-card h3{font-size:1rem!important;line-height:1.1!important}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol{font-size:.94rem!important;line-height:1.42!important}
body.is-kiosk .kiosk-guide-card ol{padding-left:16px!important}
body.is-kiosk .kiosk-payment-buttons{gap:8px!important}
body.is-kiosk .kiosk-payment-buttons span,
body.is-kiosk .kiosk-info-link,
body.is-kiosk .primary-btn,
body.is-kiosk .ghost-btn,
body.is-kiosk .soft-btn,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .topnav button,
body.is-kiosk .mobile-menu__nav button{
  border:1px solid transparent!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03)) padding-box,var(--kiosk-btn-line) border-box!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.is-kiosk .primary-btn:hover,
body.is-kiosk .ghost-btn:hover,
body.is-kiosk .soft-btn:hover,
body.is-kiosk .kiosk-mode-actions button:hover,
body.is-kiosk .kiosk-mode-actions button.is-active,
body.is-kiosk .kiosk-filter-nav__btn:hover,
body.is-kiosk .kiosk-payment-buttons span:hover,
body.is-kiosk .kiosk-info-link:hover,
body.is-kiosk .topnav button:hover,
body.is-kiosk .mobile-menu__nav button:hover,
body.is-kiosk .primary-btn:active,
body.is-kiosk .ghost-btn:active,
body.is-kiosk .soft-btn:active{
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.06)) padding-box,var(--kiosk-btn-line-strong) border-box!important;
  transform:translateY(-1px);
  box-shadow:0 12px 32px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.05)!important;
}
body.is-kiosk .kiosk-payment-buttons span{min-height:38px!important;border-radius:14px!important;padding:8px 12px!important}
body.is-kiosk .kiosk-info-link,
body.is-kiosk .primary-btn,
body.is-kiosk .ghost-btn,
body.is-kiosk .soft-btn,
body.is-kiosk .kiosk-mode-actions button{min-height:44px!important;border-radius:16px!important}

body.is-kiosk .search-card{
  padding:14px!important;
  border-radius:28px!important;
  gap:10px!important;
}
body.is-kiosk .search-card::before{font-size:.74rem!important;margin-bottom:0!important}
body.is-kiosk .search-row--advanced{display:none!important}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(0,1.8fr) minmax(330px,1.15fr) minmax(300px,1fr) minmax(178px,.8fr) auto!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date{min-height:50px!important}
body.is-kiosk .kiosk-mode-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
body.is-kiosk .kiosk-filter-nav{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  min-height:50px!important;
  padding:0 14px!important;
  border-radius:18px!important;
  grid-template-columns:auto 1fr auto!important;
}
body.is-kiosk .kiosk-filter-nav__copy strong{font-size:.98rem!important}
body.is-kiosk .field--date input{font-size:1rem!important}
body.is-kiosk #clearFiltersBtn{padding-inline:18px!important;white-space:nowrap!important}
body.is-kiosk .kiosk-catalog-start{
  min-height:104px!important;
  padding:18px!important;
  border-radius:24px!important;
}
body.is-kiosk .catalog-grid{margin-top:0!important}

/* Em telas médias, ainda tudo visível: reorganiza em duas linhas sem rolagem */
@media(max-width:1260px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  }
  body.is-kiosk .field--search{grid-column:1 / -1!important}
  body.is-kiosk .kiosk-mode-actions{grid-column:1 / 2!important}
  body.is-kiosk .kiosk-filter-nav{grid-column:2 / 3!important}
  body.is-kiosk .field--date{grid-column:1 / 2!important}
  body.is-kiosk #clearFiltersBtn{grid-column:2 / 4!important}
}
@media(max-width:980px){
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-guide-card{min-height:auto!important}
  body.is-kiosk .kiosk-hero-panel__steps{flex-wrap:wrap!important}
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important}
  body.is-kiosk .field--search,
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn{grid-column:auto!important}
}

/* Dock mais obediente */
body.is-kiosk .kiosk-dock[hidden]{display:none!important}
body.is-kiosk:not(.has-kiosk-dock){padding-bottom:28px!important}

/* Screensaver: imagem entra já em movimento lateral, sai em fade e a próxima vem no sentido oposto */
body.is-kiosk .kiosk-screensaver__media img{
  animation:none!important;
  opacity:1;
  transition:opacity .42s ease!important;
}
body.is-kiosk .kiosk-screensaver__media img.is-changing{opacity:0!important}
body.is-kiosk .kiosk-screensaver__media img.is-pan-left{animation:kioskPanLeft 5.6s linear both!important}
body.is-kiosk .kiosk-screensaver__media img.is-pan-right{animation:kioskPanRight 5.6s linear both!important}
@keyframes kioskPanLeft{
  0%{transform:translateX(10%) scale(1.035);opacity:0}
  10%{opacity:1}
  100%{transform:translateX(-10%) scale(1.035);opacity:1}
}
@keyframes kioskPanRight{
  0%{transform:translateX(-10%) scale(1.035);opacity:0}
  10%{opacity:1}
  100%{transform:translateX(10%) scale(1.035);opacity:1}
}

@media(orientation:portrait) and (min-width:900px){
  body.is-kiosk .catalog-shell{padding-top:6px!important}
  body.is-kiosk .kiosk-hero-panel h1{max-width:12ch!important}
  body.is-kiosk .kiosk-guide-card h3{font-size:1.05rem!important}
}


/* ========================================================================== 
   Quiosque v8 — páginas informativas compactas para touch vertical
   ========================================================================== */
body.is-kiosk .kiosk-info-screen{
  width:var(--kiosk-max, min(100% - 64px, 1180px))!important;
  margin-inline:auto!important;
  padding-top:clamp(18px,2.2vh,34px)!important;
  padding-bottom:clamp(18px,2.2vh,34px)!important;
}
body.is-kiosk .kiosk-page-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0 0 18px!important;
}
body.is-kiosk .kiosk-page-nav .soft-btn{
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:18px!important;
  font-size:.98rem!important;
}
body.is-kiosk .kiosk-info-screen .about-hero,
body.is-kiosk .kiosk-rich-hero{
  padding:0!important;
  margin:0 0 22px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.is-kiosk .kiosk-info-screen .about-hero h2,
body.is-kiosk .kiosk-rich-hero h2{
  font-size:clamp(1.65rem,3.1vw,3rem)!important;
  line-height:1.07!important;
  max-width:19ch!important;
  margin:8px 0 0!important;
}
body.is-kiosk .kiosk-info-screen .about-hero p,
body.is-kiosk .kiosk-rich-hero p{
  max-width:70ch!important;
  font-size:clamp(1rem,1.45vw,1.22rem)!important;
  line-height:1.42!important;
  margin-top:14px!important;
}

/* Grid informativo: no quiosque vertical, conteúdo deve caber como painel de consulta */
body.is-kiosk .kiosk-rich-grid,
body.is-kiosk .kiosk-payment-page-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body.is-kiosk .kiosk-rich-grid .about-card,
body.is-kiosk .kiosk-payment-page-grid .about-card,
body.is-kiosk #screen-faq .faq-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  gap:16px!important;
  min-height:128px!important;
  padding:18px!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.026))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.16)!important;
}
body.is-kiosk .kiosk-rich-grid .about-card__icon,
body.is-kiosk .kiosk-payment-page-grid .about-card__icon,
body.is-kiosk #screen-faq .faq-item__icon{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  margin:0!important;
  border:1px solid transparent!important;
  background:linear-gradient(180deg,rgba(12,7,20,.9),rgba(12,7,20,.72)) padding-box,var(--kiosk-btn-line, linear-gradient(90deg,rgba(255,94,98,.5),rgba(255,196,0,.48),rgba(67,203,255,.48),rgba(167,86,255,.52))) border-box!important;
  box-shadow:none!important;
}
body.is-kiosk .kiosk-rich-grid .about-card__icon i,
body.is-kiosk .kiosk-payment-page-grid .about-card__icon i,
body.is-kiosk #screen-faq .faq-item__icon i{
  background:var(--kiosk-btn-line-strong, linear-gradient(90deg,#ff5e62,#ffc400,#6bff94,#43cbff,#a756ff));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  font-size:1.45rem!important;
}
body.is-kiosk .kiosk-rich-grid .about-card h3,
body.is-kiosk .kiosk-payment-page-grid .about-card h3,
body.is-kiosk #screen-faq .faq-item strong{
  font-size:1.08rem!important;
  line-height:1.14!important;
  margin:2px 0 8px!important;
}
body.is-kiosk .kiosk-rich-grid .about-card p,
body.is-kiosk .kiosk-payment-page-grid .about-card p,
body.is-kiosk #screen-faq .faq-item div{
  font-size:.96rem!important;
  line-height:1.38!important;
  color:#ded6ea!important;
  margin:0!important;
}

/* FAQ deixa de virar lista infinita em tablet vertical */
body.is-kiosk #screen-faq .faq-list,
body.is-kiosk .kiosk-picker-faq{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}

/* Categorias/temas: mais densidade sem perder toque */
body.is-kiosk #screen-categorias .tile-grid,
body.is-kiosk #screen-temas .tile-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
body.is-kiosk #screen-categorias .tile-card,
body.is-kiosk #screen-temas .tile-card{
  min-height:92px!important;
  padding:14px 18px!important;
  border-radius:28px!important;
}

@media(min-width:980px){
  body.is-kiosk .kiosk-payment-page-grid,
  body.is-kiosk .kiosk-rich-grid,
  body.is-kiosk #screen-faq .faq-list,
  body.is-kiosk .kiosk-picker-faq{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(min-width:1320px){
  body.is-kiosk .kiosk-payment-page-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  body.is-kiosk .kiosk-payment-page-grid .about-card{
    grid-template-columns:1fr!important;
    min-height:190px!important;
  }
}
@media(max-width:720px){
  body.is-kiosk .kiosk-rich-grid,
  body.is-kiosk .kiosk-payment-page-grid,
  body.is-kiosk #screen-faq .faq-list,
  body.is-kiosk .kiosk-picker-faq,
  body.is-kiosk #screen-categorias .tile-grid,
  body.is-kiosk #screen-temas .tile-grid{
    grid-template-columns:1fr!important;
  }
  body.is-kiosk .kiosk-rich-grid .about-card,
  body.is-kiosk .kiosk-payment-page-grid .about-card,
  body.is-kiosk #screen-faq .faq-item{
    min-height:auto!important;
  }
}


/* ========================================================================== 
   Quiosque v9 — hero estilo loja, layout vertical-first e filtros densos
   ========================================================================== */
body.is-kiosk{
  --kiosk-menu-btn-bg: rgba(255,255,255,.035);
  --kiosk-menu-btn-bg-hover: rgba(255,255,255,.07);
  --kiosk-touch-min: 48px;
}

/* Hero mais próximo da loja externa: card visual, fundo sutil, borda Magic e conteúdo compacto */
body.is-kiosk .kiosk-hero-panel{
  min-height:clamp(210px,24vh,310px)!important;
  padding:clamp(22px,2.35vw,34px)!important;
  border-radius:32px!important;
  display:grid!important;
  align-content:center!important;
  gap:16px!important;
  background:
    linear-gradient(180deg,rgba(7,6,12,.22),rgba(7,6,12,.78)),
    radial-gradient(circle at 82% 18%,rgba(126,58,242,.24),transparent 36%),
    radial-gradient(circle at 18% 8%,rgba(255,211,90,.14),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(126,58,242,.105))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.28)!important;
}
body.is-kiosk .kiosk-hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.06),transparent 36%,rgba(255,255,255,.04));
  opacity:.38;
  pointer-events:none;
}
body.is-kiosk .kiosk-hero-panel::after{height:2px!important;opacity:1!important}
body.is-kiosk .kiosk-hero-panel h1{
  max-width:17ch!important;
  font-size:clamp(2rem,3.55vw,3.35rem)!important;
  line-height:1.01!important;
  letter-spacing:-.045em!important;
}
body.is-kiosk .kiosk-hero-panel p{
  max-width:62ch!important;
  font-size:clamp(1rem,1.35vw,1.18rem)!important;
  line-height:1.42!important;
  color:#d8d0e6!important;
}
body.is-kiosk .kiosk-hero-panel__steps{margin-top:4px!important}

/* Três blocos abaixo do hero: lado a lado em tablet vertical e telas maiores */
body.is-kiosk .kiosk-guide-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body.is-kiosk .kiosk-guide-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-content:start!important;
  min-height:132px!important;
  padding:16px!important;
  border-radius:26px!important;
}
body.is-kiosk .kiosk-guide-card__icon{
  width:50px!important;
  height:50px!important;
  border-radius:16px!important;
}
body.is-kiosk .kiosk-guide-card h3{font-size:1rem!important;line-height:1.12!important}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol{font-size:.9rem!important;line-height:1.34!important}
body.is-kiosk .kiosk-guide-card__body{gap:5px!important;min-width:0!important}
body.is-kiosk .kiosk-payment-buttons{gap:6px!important}
body.is-kiosk .kiosk-payment-buttons span{min-height:34px!important;padding:6px 9px!important;font-size:.82rem!important}
body.is-kiosk .kiosk-info-link{min-height:38px!important;padding:7px 10px!important;font-size:.88rem!important}

/* Botões do quiosque seguem o padrão dos botões do menu da loja externa */
body.is-kiosk .primary-btn,
body.is-kiosk .ghost-btn,
body.is-kiosk .soft-btn,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-info-link,
body.is-kiosk .kiosk-payment-buttons span,
body.is-kiosk .topnav button,
body.is-kiosk .mobile-menu__nav button{
  min-height:var(--kiosk-touch-min)!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  background:linear-gradient(180deg,var(--kiosk-menu-btn-bg),rgba(255,255,255,.02)) padding-box,var(--kiosk-btn-line,linear-gradient(90deg,rgba(255,94,98,.50),rgba(255,196,0,.48),rgba(107,255,148,.48),rgba(67,203,255,.48),rgba(167,86,255,.52))) border-box!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.is-kiosk .primary-btn:hover,
body.is-kiosk .ghost-btn:hover,
body.is-kiosk .soft-btn:hover,
body.is-kiosk .kiosk-mode-actions button:hover,
body.is-kiosk .kiosk-mode-actions button.is-active,
body.is-kiosk .kiosk-filter-nav__btn:hover,
body.is-kiosk .kiosk-info-link:hover,
body.is-kiosk .kiosk-payment-buttons span:hover,
body.is-kiosk .topnav button:hover,
body.is-kiosk .topnav button.is-active,
body.is-kiosk .mobile-menu__nav button:hover,
body.is-kiosk .mobile-menu__nav button.is-active{
  background:linear-gradient(180deg,var(--kiosk-menu-btn-bg-hover),rgba(255,255,255,.04)) padding-box,var(--kiosk-btn-line-strong,linear-gradient(90deg,#ff5e62,#ffc400,#6bff94,#43cbff,#a756ff)) border-box!important;
  color:#fff!important;
  transform:translateY(-1px);
}
body.is-kiosk .primary-btn:active,
body.is-kiosk .ghost-btn:active,
body.is-kiosk .soft-btn:active,
body.is-kiosk .kiosk-mode-actions button:active,
body.is-kiosk .kiosk-filter-nav__btn:active{
  transform:translateY(0) scale(.985)!important;
}

/* Filtros: menor número de linhas possível, mas sem esconder ação em rolagem */
body.is-kiosk .search-card{
  padding:12px!important;
  gap:8px!important;
  border-radius:26px!important;
}
body.is-kiosk .search-card::before{display:none!important}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(250px,1.55fr) minmax(270px,1.05fr) minmax(250px,.95fr) minmax(170px,.7fr) minmax(104px,.42fr)!important;
  gap:8px!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height:46px!important;
}
body.is-kiosk .field--search input{font-size:.98rem!important}
body.is-kiosk .kiosk-mode-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
body.is-kiosk .kiosk-filter-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.is-kiosk .kiosk-filter-nav__btn{padding:0 12px!important}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important}
body.is-kiosk #clearFiltersBtn{padding-inline:14px!important;justify-content:center!important}

/* Vertical grande: tudo na primeira dobra com cards lado a lado */
@media(orientation:portrait) and (min-width:720px){
  body.is-kiosk{--kiosk-max:min(100% - 48px,1120px)!important}
  body.is-kiosk .page{padding-top:22px!important}
  body.is-kiosk .catalog-shell{gap:12px!important}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.is-kiosk .kiosk-guide-card{grid-template-columns:1fr!important;min-height:178px!important}
  body.is-kiosk .kiosk-guide-card__icon{margin-bottom:2px!important}
}

/* Largura intermediária: filtros viram duas linhas inteligentes, sem scroll */
@media(max-width:1180px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.95fr) minmax(200px,.75fr)!important;
  }
  body.is-kiosk .field--search{grid-column:1 / -1!important}
  body.is-kiosk .kiosk-mode-actions{grid-column:1 / 2!important}
  body.is-kiosk .kiosk-filter-nav{grid-column:2 / 3!important}
  body.is-kiosk .field--date{grid-column:3 / 4!important}
  body.is-kiosk #clearFiltersBtn{grid-column:1 / -1!important}
}

/* Mobile/telas pequenas: empilha e muda cards para ícone à esquerda + conteúdo à direita */
@media(max-width:719px){
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-guide-card{
    grid-template-columns:auto minmax(0,1fr)!important;
    min-height:auto!important;
  }
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important}
  body.is-kiosk .field--search,
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn{grid-column:auto!important}
}

/* Clique no logo: visualmente deixa claro que é retorno para o início do quiosque */
body.is-kiosk .brand{cursor:pointer!important}
body.is-kiosk .brand:hover .brand__logo{transform:scale(1.04)}


/* ========================================================================== 
   Quiosque v10 — correção: loja externa intacta + quiosque 1280x1920
   ========================================================================== */
/* Segurança: tudo que é do quiosque fica invisível na loja externa. */
body:not(.is-kiosk) .kiosk-only,
body:not(.is-kiosk) .kiosk-dock,
body:not(.is-kiosk) .kiosk-screensaver,
body:not(.is-kiosk) .kiosk-page-nav{display:none!important;}
body:not(.is-kiosk) .field--zip{display:flex;}

/* No quiosque, o menu segue o estilo da loja externa, sem contaminar a loja normal. */
body.is-kiosk .topnav .kiosk-only,
body.is-kiosk .mobile-menu__nav .kiosk-only{display:inline-flex!important;}
body.is-kiosk .topnav button,
body.is-kiosk .mobile-menu__nav button,
body.is-kiosk .kiosk-page-nav .soft-btn,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-info-link{
  min-height:42px!important;
  border-radius:999px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.is-kiosk .topnav button:hover,
body.is-kiosk .mobile-menu__nav button:hover,
body.is-kiosk .topnav button.is-active,
body.is-kiosk .mobile-menu__nav button.is-active,
body.is-kiosk .kiosk-mode-actions button:hover,
body.is-kiosk .kiosk-mode-actions button.is-active,
body.is-kiosk .kiosk-filter-nav__btn:hover,
body.is-kiosk .kiosk-info-link:hover{
  background:rgba(255,255,255,.08)!important;
}
body.is-kiosk .topnav button::before,
body.is-kiosk .mobile-menu__nav button::before,
body.is-kiosk .kiosk-page-nav .soft-btn::before,
body.is-kiosk .kiosk-mode-actions button::before,
body.is-kiosk .kiosk-filter-nav__btn::before,
body.is-kiosk .kiosk-info-link::before{
  opacity:.48!important;
}
body.is-kiosk .topnav button:hover::before,
body.is-kiosk .mobile-menu__nav button:hover::before,
body.is-kiosk .topnav button.is-active::before,
body.is-kiosk .mobile-menu__nav button.is-active::before,
body.is-kiosk .kiosk-page-nav .soft-btn:hover::before,
body.is-kiosk .kiosk-mode-actions button:hover::before,
body.is-kiosk .kiosk-mode-actions button.is-active::before,
body.is-kiosk .kiosk-filter-nav__btn:hover::before,
body.is-kiosk .kiosk-info-link:hover::before{
  opacity:1!important;
}

/* Corpo do quiosque otimizado para 1280x1920 vertical. */
body.is-kiosk .page{width:min(100% - 96px,1160px)!important;}
body.is-kiosk .catalog-shell{gap:14px!important;align-content:start!important;}
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;
  height:auto!important;
  padding:clamp(22px,2.4vw,32px)!important;
  border-radius:30px!important;
  align-content:start!important;
}
body.is-kiosk .kiosk-hero-panel::after{display:none!important;}
body.is-kiosk .kiosk-hero-panel h1{
  max-width:16ch!important;
  font-size:clamp(2rem,3.15vw,3.1rem)!important;
  line-height:1.02!important;
}
body.is-kiosk .kiosk-hero-panel p{max-width:62ch!important;line-height:1.38!important;}
body.is-kiosk .kiosk-hero-panel__steps{margin-top:12px!important;}

/* Cards abaixo do hero: lado a lado no tablet vertical, empilhados só em telas menores. */
@media (min-width:760px){
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
  body.is-kiosk .kiosk-guide-card{min-height:160px!important;grid-template-columns:auto 1fr!important;padding:18px!important;}
}
@media (max-width:759px){
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-guide-card{grid-template-columns:auto 1fr!important;min-height:auto!important;}
}
body.is-kiosk .kiosk-guide-card__icon{width:52px!important;height:52px!important;border-radius:18px!important;}
body.is-kiosk .kiosk-guide-card h3{font-size:1.02rem!important;}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol{font-size:.94rem!important;line-height:1.36!important;}

/* Filtros do quiosque: adaptam à largura real; CEP continua exclusivo da loja externa. */
body.is-kiosk .search-card{padding:12px!important;border-radius:24px!important;}
body.is-kiosk .search-row--advanced{display:none!important;}
body.is-kiosk #toggleAdvancedBtn{display:none!important;}
body.is-kiosk .field--zip{display:none!important;}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(250px,.9fr) minmax(220px,.75fr) minmax(168px,.55fr) auto!important;
  gap:8px!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{min-height:48px!important;}
body.is-kiosk .kiosk-mode-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
body.is-kiosk .kiosk-filter-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important;}
body.is-kiosk .kiosk-filter-nav__btn{grid-template-columns:1fr auto!important;justify-content:center!important;}
body.is-kiosk #clearFiltersBtn{white-space:nowrap!important;padding-inline:14px!important;}
@media (max-width:1120px){
  body.is-kiosk .page{width:min(100% - 48px,1060px)!important;}
  body.is-kiosk .search-row--main{grid-template-columns:minmax(0,1fr) minmax(248px,.65fr) minmax(220px,.62fr)!important;}
  body.is-kiosk .field--search{grid-column:1 / -1!important;}
  body.is-kiosk .field--date{grid-column:1 / 2!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:2 / 4!important;}
}
@media (max-width:760px){
  body.is-kiosk .page{width:min(100% - 24px,720px)!important;}
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important;}
  body.is-kiosk .field--search,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn{grid-column:auto!important;}
}

/* Screensaver: remove redundância e centraliza o texto inferior. */
body.is-kiosk .kiosk-screensaver__badge{display:none!important;}
body.is-kiosk .kiosk-screensaver__content{
  grid-template-columns:1fr!important;
  text-align:center!important;
  justify-items:center!important;
  align-items:center!important;
  gap:10px!important;
}
body.is-kiosk .kiosk-screensaver__copy{justify-items:center!important;text-align:center!important;}
body.is-kiosk .kiosk-screensaver__hint{justify-self:center!important;margin-inline:auto!important;}


/* ========================================================================== 
   Quiosque v11 — escala fluida touch + padrão único rainbow
   Escopo isolado: somente modo quiosque. Não interfere na loja externa.
   ========================================================================== */
body.is-kiosk{
  --kiosk-scale-font: clamp(.94rem, .42vw + .82rem, 1.12rem);
  --kiosk-gap-fluid: clamp(10px, .9vw, 20px);
  --kiosk-pad-fluid: clamp(14px, 1.28vw, 26px);
  --kiosk-radius-fluid: clamp(18px, 1.25vw, 32px);
  --kiosk-touch-fluid: clamp(50px, 3.15vw, 66px);
  --kiosk-icon-fluid: clamp(42px, 3vw, 62px);
  --kiosk-rainbow-bg: linear-gradient(90deg,rgba(255,88,96,.48),rgba(255,184,61,.46),rgba(79,214,137,.44),rgba(63,190,244,.46),rgba(146,93,255,.50));
  --kiosk-rainbow-bg-hover: linear-gradient(90deg,rgba(255,88,96,.78),rgba(255,184,61,.76),rgba(79,214,137,.72),rgba(63,190,244,.76),rgba(146,93,255,.80));
  --kiosk-rainbow-border: linear-gradient(90deg,#ff5860,#ffb83d,#4fd689,#3fbef4,#925dff);
  font-size:var(--kiosk-scale-font)!important;
}

/* Área útil calibrada para 1280 x 1920 vertical, sem contaminar /loja normal. */
body.is-kiosk .page,
body.is-kiosk .catalog-shell,
body.is-kiosk #screen-catalogo,
body.is-kiosk #screen-categorias,
body.is-kiosk #screen-temas,
body.is-kiosk #screen-faq,
body.is-kiosk #screen-como-alugar,
body.is-kiosk #screen-pagamentos{
  width:min(100% - clamp(32px,5.2vw,96px),1280px)!important;
  margin-inline:auto!important;
}
body.is-kiosk .catalog-shell{
  display:grid!important;
  gap:var(--kiosk-gap-fluid)!important;
  align-content:start!important;
}

/* Hero com altura determinada pelo conteúdo e escala fluida. */
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;
  height:auto!important;
  padding:clamp(18px,2vw,34px)!important;
  border-radius:var(--kiosk-radius-fluid)!important;
  align-content:start!important;
}
body.is-kiosk .kiosk-hero-panel::after{display:none!important;}
body.is-kiosk .kiosk-hero-panel h1{
  font-size:clamp(2.05rem,3.55vw,4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  max-width:14.5ch!important;
}
body.is-kiosk .kiosk-hero-panel p{
  font-size:clamp(1rem,1.15vw,1.28rem)!important;
  line-height:1.38!important;
  max-width:60ch!important;
}
body.is-kiosk .kiosk-hero-panel__steps{gap:clamp(8px,.8vw,14px)!important;}
body.is-kiosk .kiosk-step-node,
body.is-kiosk .kiosk-step-bullet{
  min-height:clamp(42px,2.9vw,56px)!important;
}

/* Cards abaixo do hero: sempre lado a lado no tablet vertical; mobile vira ícone+conteúdo. */
body.is-kiosk .kiosk-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--kiosk-gap-fluid)!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height:clamp(138px,10vw,188px)!important;
  padding:var(--kiosk-pad-fluid)!important;
  border-radius:var(--kiosk-radius-fluid)!important;
  gap:clamp(10px,1vw,16px)!important;
  grid-template-columns:auto 1fr!important;
}
body.is-kiosk .kiosk-guide-card__icon,
body.is-kiosk .about-card__icon,
body.is-kiosk .faq-item__icon{
  width:var(--kiosk-icon-fluid)!important;
  height:var(--kiosk-icon-fluid)!important;
  min-width:var(--kiosk-icon-fluid)!important;
  border-radius:clamp(14px,1vw,20px)!important;
}
body.is-kiosk .kiosk-guide-card h3,
body.is-kiosk .about-card h3,
body.is-kiosk .faq-item strong{
  font-size:clamp(1rem,1.05vw,1.22rem)!important;
  line-height:1.12!important;
}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol,
body.is-kiosk .about-card p,
body.is-kiosk .faq-item__copy div{
  font-size:clamp(.88rem,.84vw,1.05rem)!important;
  line-height:1.36!important;
}

/* Padrão oficial dos botões rainbow do quiosque. */
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
){
  min-height:var(--kiosk-touch-fluid)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  color:#fff!important;
  background:var(--kiosk-rainbow-bg)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 26px rgba(0,0,0,.18)!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease!important;
  touch-action:manipulation!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button
){
  padding-inline:clamp(14px,1.25vw,24px)!important;
  font-size:clamp(.9rem,.82vw,1.06rem)!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
):is(:hover,:focus-visible,.is-active){
  background:var(--kiosk-rainbow-bg-hover)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 38px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.08)!important;
  filter:saturate(1.12) brightness(1.04)!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
):active{
  transform:scale(.985)!important;
  filter:saturate(1.2) brightness(.98)!important;
}

/* Filtros: menor número de linhas possível, mas sem sacrificar toque. */
body.is-kiosk .search-card{
  padding:clamp(10px,1vw,16px)!important;
  border-radius:var(--kiosk-radius-fluid)!important;
}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(300px,1.45fr) minmax(300px,.9fr) minmax(260px,.82fr) minmax(178px,.56fr) auto!important;
  gap:clamp(7px,.7vw,12px)!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date{
  min-height:var(--kiosk-touch-fluid)!important;
  border-radius:999px!important;
}
body.is-kiosk .field input,
body.is-kiosk .field select{
  font-size:clamp(.94rem,.82vw,1.08rem)!important;
}
body.is-kiosk .kiosk-mode-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(6px,.6vw,10px)!important;
}
body.is-kiosk .kiosk-filter-nav{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(6px,.6vw,10px)!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  justify-items:center!important;
}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important;}
body.is-kiosk #clearFiltersBtn{padding-inline:clamp(14px,1.15vw,22px)!important;}

/* Produtos e imagens: melhor aproveitamento visual em tela touch. */
body.is-kiosk .catalog-grid{
  gap:clamp(14px,1.2vw,24px)!important;
}
body.is-kiosk .product-card{
  border-radius:var(--kiosk-radius-fluid)!important;
}
body.is-kiosk .product-card__media,
body.is-kiosk .product-card__image{
  min-height:clamp(280px,28vw,460px)!important;
}
body.is-kiosk .product-card__title,
body.is-kiosk .product-card h3{
  font-size:clamp(1.04rem,1vw,1.28rem)!important;
}
body.is-kiosk .quick-cart-btn{
  width:clamp(48px,3.6vw,68px)!important;
  height:clamp(48px,3.6vw,68px)!important;
  min-width:clamp(48px,3.6vw,68px)!important;
}

/* Telas informativas e listas: escala proporcional ao 1280x1920. */
body.is-kiosk .kiosk-rich-grid,
body.is-kiosk .kiosk-payment-page-grid,
body.is-kiosk #screen-faq .faq-list{
  gap:var(--kiosk-gap-fluid)!important;
}
body.is-kiosk .about-card,
body.is-kiosk .faq-item{
  padding:var(--kiosk-pad-fluid)!important;
  border-radius:var(--kiosk-radius-fluid)!important;
}
body.is-kiosk #screen-categorias .tile-grid,
body.is-kiosk #screen-temas .tile-grid{
  gap:var(--kiosk-gap-fluid)!important;
}
body.is-kiosk #screen-categorias .tile-card,
body.is-kiosk #screen-temas .tile-card{
  min-height:clamp(96px,7.2vw,136px)!important;
}

/* Ajustes por largura: em 1280px vertical tende a ficar denso; abaixo disso quebra sem esconder. */
@media (max-width:1220px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(270px,.88fr) minmax(240px,.78fr)!important;
  }
  body.is-kiosk .field--search{grid-column:1 / -1!important;}
  body.is-kiosk .kiosk-mode-actions{grid-column:1 / 2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:2 / 3!important;}
  body.is-kiosk .field--date{grid-column:3 / 4!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:1 / -1!important;}
}
@media (max-width:820px){
  body.is-kiosk .page,
  body.is-kiosk .catalog-shell,
  body.is-kiosk #screen-catalogo,
  body.is-kiosk #screen-categorias,
  body.is-kiosk #screen-temas,
  body.is-kiosk #screen-faq,
  body.is-kiosk #screen-como-alugar,
  body.is-kiosk #screen-pagamentos{
    width:min(100% - 24px,760px)!important;
  }
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-guide-card{
    min-height:0!important;
    grid-template-columns:auto 1fr!important;
  }
  body.is-kiosk .search-row--main{grid-template-columns:1fr!important;}
  body.is-kiosk .field--search,
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn{grid-column:auto!important;}
}


/* ========================================================================== 
   Quiosque v12 — layout responsivo real, filtros sem encavalar e FAQ visível
   Escopo isolado: somente body.is-kiosk. Loja externa preservada.
   ========================================================================== */
body.is-kiosk{
  --kiosk-page-w: min(calc(100vw - clamp(28px, 5vw, 96px)), 1500px);
  --kiosk-gap: clamp(10px, 1.05vw, 22px);
  --kiosk-pad: clamp(14px, 1.15vw, 24px);
  --kiosk-touch: clamp(44px, 3vw, 58px);
  --kiosk-card-bg: rgba(255,255,255,.042);
  --kiosk-card-bg-hover: rgba(255,255,255,.075);
  --kiosk-line: rgba(255,255,255,.13);
  --kiosk-line-strong: rgba(255,255,255,.24);
  --kiosk-grad-line: linear-gradient(90deg,#ff5f62,#ffbe3d,#55dd91,#42c9f5,#9a63ff);
}

body.is-kiosk .page,
body.is-kiosk .catalog-shell,
body.is-kiosk #screen-catalogo,
body.is-kiosk #screen-categorias,
body.is-kiosk #screen-temas,
body.is-kiosk #screen-faq,
body.is-kiosk #screen-como-alugar,
body.is-kiosk #screen-pagamentos{
  width:var(--kiosk-page-w)!important;
  max-width:var(--kiosk-page-w)!important;
  margin-inline:auto!important;
}
body.is-kiosk .page{padding-bottom:clamp(24px,4vh,72px)!important}
body.is-kiosk .catalog-shell{gap:var(--kiosk-gap)!important}

/* Padrão oficial: botões do quiosque no estilo dos botões Comprar/Alugar dos produtos. */
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
){
  position:relative!important;
  min-height:var(--kiosk-touch)!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028)) padding-box,var(--kiosk-grad-line) border-box!important;
  color:#fff!important;
  box-shadow:none!important;
  filter:none!important;
  transition:background .16s ease, transform .16s ease, border-color .16s ease, box-shadow .16s ease!important;
  touch-action:manipulation!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .topnav button,
  .mobile-menu__nav button
){
  padding-inline:clamp(12px,1.1vw,20px)!important;
  font-size:clamp(.82rem,.72vw,.98rem)!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
)::before{opacity:.58!important}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
):is(:hover,:focus-visible,.is-active){
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045)) padding-box,var(--kiosk-grad-line) border-box!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  transform:translateY(-1px)!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card
):active{transform:scale(.985)!important}

/* Home: menos espaço morto, mais conteúdo útil na primeira dobra. */
body.is-kiosk .kiosk-hero-panel{
  padding:clamp(18px,2vw,30px)!important;
  min-height:0!important;
  height:auto!important;
  border-radius:clamp(22px,1.8vw,34px)!important;
}
body.is-kiosk .kiosk-hero-panel::after{display:none!important}
body.is-kiosk .kiosk-hero-panel h1{
  font-size:clamp(2.05rem,3.35vw,3.65rem)!important;
  line-height:1.02!important;
  max-width:15ch!important;
}
body.is-kiosk .kiosk-hero-panel p{
  font-size:clamp(.96rem,1.03vw,1.18rem)!important;
  line-height:1.38!important;
  max-width:62ch!important;
}
body.is-kiosk .kiosk-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--kiosk-gap)!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height:clamp(132px,10.5vw,178px)!important;
  padding:clamp(14px,1.15vw,22px)!important;
  border-radius:clamp(20px,1.5vw,30px)!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-guide-card__icon{
  width:clamp(42px,3.2vw,58px)!important;
  height:clamp(42px,3.2vw,58px)!important;
  min-width:clamp(42px,3.2vw,58px)!important;
}
body.is-kiosk .kiosk-guide-card h3{font-size:clamp(.98rem,.94vw,1.14rem)!important;line-height:1.1!important}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol{font-size:clamp(.82rem,.74vw,.96rem)!important;line-height:1.32!important}
body.is-kiosk .kiosk-payment-buttons{gap:6px!important}
body.is-kiosk .kiosk-payment-buttons span{min-height:34px!important;padding:6px 10px!important;font-size:.78rem!important;border-radius:999px!important}

/* Filtros: flex-wrap controlado. Nada de rolagem, nada de elemento encavalado. */
body.is-kiosk .search-card{
  padding:clamp(8px,.9vw,14px)!important;
  border-radius:clamp(18px,1.35vw,26px)!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:clamp(6px,.58vw,10px)!important;
  min-width:0!important;
}
body.is-kiosk .field--search{
  flex:999 1 320px!important;
  min-width:min(100%,320px)!important;
}
body.is-kiosk .kiosk-mode-actions{
  flex:1 1 256px!important;
  min-width:246px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(5px,.45vw,8px)!important;
}
body.is-kiosk .kiosk-filter-nav{
  flex:1 1 226px!important;
  min-width:216px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(5px,.45vw,8px)!important;
}
body.is-kiosk .field--date{
  flex:1 1 174px!important;
  min-width:168px!important;
}
body.is-kiosk #clearFiltersBtn{
  flex:0 0 auto!important;
  min-width:96px!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  height:clamp(42px,2.75vw,54px)!important;
  min-height:clamp(42px,2.75vw,54px)!important;
}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important}
body.is-kiosk .kiosk-filter-nav__copy{min-width:0!important}
body.is-kiosk .kiosk-filter-nav__copy strong,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk #clearFiltersBtn span{
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}

/* Catálogo: grid responsivo por largura, ocupando o layout todo. */
body.is-kiosk .catalog-grid{
  width:100%!important;
  display:grid!important;
  gap:clamp(12px,1vw,22px)!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
}
@media (min-width:760px){body.is-kiosk .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:1020px){body.is-kiosk .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (min-width:1400px){body.is-kiosk .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:1760px){body.is-kiosk .catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
body.is-kiosk .product-card{width:100%!important;min-width:0!important;border-radius:clamp(16px,1.25vw,24px)!important}
body.is-kiosk .product-card__media,
body.is-kiosk .product-card__image{min-height:auto!important;aspect-ratio:1/1!important}
body.is-kiosk .product-card__image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
body.is-kiosk .product-card__body{padding:clamp(10px,.85vw,16px)!important;gap:8px!important}
body.is-kiosk .product-card__title,
body.is-kiosk .product-card h3{font-size:clamp(.92rem,.78vw,1.08rem)!important;line-height:1.22!important}
body.is-kiosk .product-card__meta{font-size:clamp(.76rem,.62vw,.9rem)!important}
body.is-kiosk .product-card__quick-action .quick-cart-btn{height:clamp(34px,2.25vw,42px)!important;min-height:0!important;font-size:clamp(.72rem,.55vw,.84rem)!important}
body.is-kiosk .catalog-load-more{grid-column:1 / -1!important;text-align:center!important}

/* Categorias/Temas: sem fundo rainbow sólido; cartões no padrão de ação dos produtos. */
body.is-kiosk #screen-categorias .tile-grid,
body.is-kiosk #screen-temas .tile-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--kiosk-gap)!important;
  align-items:start!important;
}
@media (min-width:1180px){body.is-kiosk #screen-categorias .tile-grid,body.is-kiosk #screen-temas .tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
body.is-kiosk #screen-categorias .tile-card,
body.is-kiosk #screen-temas .tile-card,
body.is-kiosk .tile-card--thumb{
  min-height:clamp(86px,6.5vw,122px)!important;
  height:auto!important;
  border-radius:clamp(18px,1.3vw,26px)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028)) padding-box,var(--kiosk-grad-line) border-box!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}
body.is-kiosk .tile-card--thumb:hover{background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045)) padding-box,var(--kiosk-grad-line) border-box!important}
body.is-kiosk .tile-card--thumb .tile-card__media{width:clamp(58px,4.8vw,82px)!important;height:clamp(58px,4.8vw,82px)!important;flex-basis:auto!important}

/* Páginas FAQ / Como alugar / Pagamentos: conteúdo visível e sem página fantasma. */
body.is-kiosk #screen-faq,
body.is-kiosk #screen-como-alugar,
body.is-kiosk #screen-pagamentos{
  display:none;
  gap:var(--kiosk-gap)!important;
  align-content:start!important;
  padding-top:clamp(16px,2vh,34px)!important;
}
body.is-kiosk #screen-faq.is-active,
body.is-kiosk #screen-como-alugar.is-active,
body.is-kiosk #screen-pagamentos.is-active{display:grid!important}
body.is-kiosk .kiosk-page-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 clamp(10px,1vw,18px)!important;
  position:relative!important;
  z-index:2!important;
}
body.is-kiosk .kiosk-rich-hero,
body.is-kiosk .about-hero{
  margin:0!important;
  padding:0!important;
  max-width:760px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.is-kiosk .kiosk-rich-hero h2,
body.is-kiosk #screen-faq .section-head h2{
  font-size:clamp(2rem,3.1vw,3.55rem)!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
}
body.is-kiosk .kiosk-rich-hero p{font-size:clamp(.98rem,1vw,1.18rem)!important;line-height:1.42!important}
body.is-kiosk .kiosk-rich-grid,
body.is-kiosk .kiosk-payment-page-grid,
body.is-kiosk #screen-faq .faq-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--kiosk-gap)!important;
  width:100%!important;
}
body.is-kiosk .kiosk-rich-grid .about-card,
body.is-kiosk .kiosk-payment-page-grid .about-card,
body.is-kiosk #screen-faq .faq-item{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:clamp(10px,1vw,16px)!important;
  min-height:clamp(110px,8.5vw,150px)!important;
  padding:clamp(14px,1.15vw,22px)!important;
  border-radius:clamp(18px,1.3vw,26px)!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.is-kiosk .kiosk-rich-grid .about-card h3,
body.is-kiosk .kiosk-payment-page-grid .about-card h3,
body.is-kiosk #screen-faq .faq-item strong{font-size:clamp(.98rem,.9vw,1.16rem)!important;line-height:1.14!important;margin:0!important}
body.is-kiosk .kiosk-rich-grid .about-card p,
body.is-kiosk .kiosk-payment-page-grid .about-card p,
body.is-kiosk #screen-faq .faq-item__copy div{font-size:clamp(.86rem,.74vw,.98rem)!important;line-height:1.34!important;margin:0!important;color:#d8d0e4!important}
body.is-kiosk #screen-faq .section-head.compact{margin:0!important}
body.is-kiosk #screen-faq .faq-list:empty::before{
  content:'Carregando dúvidas rápidas...';
  grid-column:1/-1;
  padding:22px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:22px;
  color:#d8d0e4;
  text-align:center;
}

@media (max-width:900px){
  body.is-kiosk .kiosk-guide-grid,
  body.is-kiosk .kiosk-rich-grid,
  body.is-kiosk .kiosk-payment-page-grid,
  body.is-kiosk #screen-faq .faq-list{grid-template-columns:1fr!important}
  body.is-kiosk #screen-categorias .tile-grid,
  body.is-kiosk #screen-temas .tile-grid{grid-template-columns:1fr!important}
  body.is-kiosk .kiosk-guide-card{grid-template-columns:auto minmax(0,1fr)!important;min-height:auto!important}
}


/* ========================================================================== 
   Quiosque v13 — correções pontuais: botões, filtros, cards e ocupação vertical
   ========================================================================== */
body.is-kiosk{
  --kiosk-surface-btn: rgba(255,255,255,.045);
  --kiosk-surface-btn-hover: rgba(255,255,255,.075);
  --kiosk-surface-btn-active: rgba(255,255,255,.095);
  --kiosk-border-soft: rgba(255,255,255,.13);
  --kiosk-line-alpha: .62;
}

/* 1) Ocupação vertical mais eficiente sem virar aperto visual */
body.is-kiosk .page,
body.is-kiosk .catalog-shell,
body.is-kiosk .screen{
  row-gap: clamp(10px, 1.05vh, 22px)!important;
}
body.is-kiosk .catalog-shell{
  padding-top: clamp(8px, 1.1vh, 20px)!important;
  max-width: min(100% - 56px, 1680px)!important;
  width: min(100% - 56px, 1680px)!important;
}
body.is-kiosk .kiosk-hero-panel{
  padding: clamp(18px, 1.7vw, 34px)!important;
  min-height: 0!important;
  height: auto!important;
  align-content: start!important;
}
body.is-kiosk .kiosk-hero-panel h1{
  font-size: clamp(2rem, 3.15vw, 3.6rem)!important;
  line-height: 1.02!important;
  margin: 0!important;
}
body.is-kiosk .kiosk-hero-panel p{
  margin: 0!important;
  max-width: 64ch!important;
}
body.is-kiosk .kiosk-guide-grid{
  margin-top: 0!important;
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
  align-items: stretch!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height: clamp(128px, 9.8vw, 170px)!important;
}
body.is-kiosk .kiosk-catalog-start{
  min-height: clamp(88px, 6.6vw, 126px)!important;
}

/* 2/3/4) Padrão oficial: botões do quiosque = estilo Comprar/Alugar dos produtos. Nada de fundo rainbow sólido. */
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
){
  position: relative!important;
  overflow: hidden!important;
  background: var(--kiosk-surface-btn)!important;
  background-image: none!important;
  border: 1px solid var(--kiosk-border-soft)!important;
  color: #fff!important;
  box-shadow: none!important;
  -webkit-text-fill-color: currentColor!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
)::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:var(--grad)!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:var(--kiosk-line-alpha)!important;
  pointer-events:none!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
):is(:hover,:focus-visible,.is-active){
  background: var(--kiosk-surface-btn-hover)!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20)!important;
  transform:translateY(-1px)!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
):is(:hover,:focus-visible,.is-active)::before{opacity:.98!important;}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
):active{
  background: var(--kiosk-surface-btn-active)!important;
  transform:scale(.985)!important;
}
body.is-kiosk :is(.primary-btn span,.ghost-btn span,.soft-btn span,.kiosk-mode-actions button span,.kiosk-filter-nav__btn span,.kiosk-page-nav button span,.kiosk-section-toolbar button span,.topnav button span){
  background:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* 3) Filtros: distribuem em múltiplas linhas quando necessário, sem rolagem e sem encavalar. */
body.is-kiosk .search-card{
  overflow: visible!important;
  padding: clamp(10px, .85vw, 16px)!important;
}
body.is-kiosk .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap: clamp(7px, .62vw, 11px)!important;
  width:100%!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main > *{min-width:0!important;}
body.is-kiosk .field--search{
  flex: 2 1 clamp(300px, 32vw, 560px)!important;
  min-width: min(100%, 300px)!important;
}
body.is-kiosk .kiosk-mode-actions{
  flex: 1 1 clamp(240px, 21vw, 360px)!important;
  min-width: min(100%, 240px)!important;
  display:grid!important;
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
  gap: clamp(6px, .48vw, 9px)!important;
}
body.is-kiosk .kiosk-filter-nav{
  flex: 1 1 clamp(200px, 17vw, 320px)!important;
  min-width: min(100%, 200px)!important;
  display:grid!important;
  grid-template-columns: repeat(2,minmax(0,1fr))!important;
  gap: clamp(6px, .48vw, 9px)!important;
}
body.is-kiosk .field--date{
  flex: .75 1 clamp(164px, 14vw, 230px)!important;
  min-width: min(100%, 164px)!important;
}
body.is-kiosk #clearFiltersBtn{
  flex: 0 1 clamp(92px, 8vw, 128px)!important;
  min-width: 92px!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height: clamp(42px, 2.55vw, 54px)!important;
  height: clamp(42px, 2.55vw, 54px)!important;
}
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  padding-inline: clamp(9px, .75vw, 14px)!important;
  white-space:nowrap!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
body.is-kiosk .kiosk-filter-nav__copy,
body.is-kiosk .kiosk-filter-nav__copy strong{min-width:0!important;}

/* 5) Cards de pagamentos / como alugar / FAQ: títulos e textos sempre à esquerda, grid estável. */
body.is-kiosk .kiosk-rich-grid .about-card,
body.is-kiosk .kiosk-payment-page-grid .about-card,
body.is-kiosk #screen-faq .faq-item,
body.is-kiosk .kiosk-picker-faq .faq-item{
  text-align:left!important;
  justify-items:start!important;
  align-items:start!important;
  grid-template-columns:auto minmax(0,1fr)!important;
}
body.is-kiosk .kiosk-rich-grid .about-card > *,
body.is-kiosk .kiosk-payment-page-grid .about-card > *,
body.is-kiosk #screen-faq .faq-item > *,
body.is-kiosk .kiosk-picker-faq .faq-item > *{
  text-align:left!important;
  justify-self:start!important;
}
body.is-kiosk .kiosk-rich-grid .about-card h3,
body.is-kiosk .kiosk-payment-page-grid .about-card h3,
body.is-kiosk #screen-faq .faq-item strong,
body.is-kiosk .kiosk-picker-faq .faq-item strong{
  text-align:left!important;
  justify-self:start!important;
  width:100%!important;
}
body.is-kiosk .kiosk-rich-grid .about-card p,
body.is-kiosk .kiosk-payment-page-grid .about-card p,
body.is-kiosk #screen-faq .faq-item__copy div,
body.is-kiosk .kiosk-picker-faq .faq-item__copy div{
  text-align:left!important;
  justify-self:start!important;
  width:100%!important;
}
body.is-kiosk .about-card__icon,
body.is-kiosk .faq-item__icon{
  justify-self:start!important;
}

/* Páginas informativas ocupam melhor a área sem desaparecer conteúdo. */
body.is-kiosk #screen-faq.is-active,
body.is-kiosk #screen-como-alugar.is-active,
body.is-kiosk #screen-pagamentos.is-active{
  max-width:min(100% - 56px,1680px)!important;
  width:min(100% - 56px,1680px)!important;
  margin-inline:auto!important;
  align-content:start!important;
}
body.is-kiosk .kiosk-rich-grid,
body.is-kiosk .kiosk-payment-page-grid,
body.is-kiosk #screen-faq .faq-list{
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr))!important;
}
body.is-kiosk .kiosk-rich-grid .about-card,
body.is-kiosk .kiosk-payment-page-grid .about-card,
body.is-kiosk #screen-faq .faq-item{
  min-height: clamp(104px, 7.2vw, 142px)!important;
}

@media (min-width: 1280px){
  body.is-kiosk .catalog-shell,
  body.is-kiosk #screen-faq.is-active,
  body.is-kiosk #screen-como-alugar.is-active,
  body.is-kiosk #screen-pagamentos.is-active{
    max-width:min(100% - 72px,1780px)!important;
    width:min(100% - 72px,1780px)!important;
  }
}
@media (max-width: 760px){
  body.is-kiosk .field--search,
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn{
    flex:1 1 100%!important;
  }
}


/* ========================================================================== 
   Quiosque v14 — correções: filtros sem sobreposição, cards no padrão FAQ e hover preto
   ========================================================================== */
body.is-kiosk{
  --kiosk-black-hover: rgba(3,2,7,.96);
  --kiosk-black-press: rgba(0,0,0,1);
  --kiosk-filter-gap: clamp(7px,.55vw,10px);
}

/* Hover padrão definitivo: fundo preto/escuro, nunca rainbow preenchido. */
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
):is(:hover,:focus-visible,.is-active){
  background:var(--kiosk-black-hover)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.28)!important;
}
body.is-kiosk :is(
  .primary-btn,
  .ghost-btn,
  .soft-btn,
  .kiosk-mode-actions button,
  .kiosk-filter-nav__btn,
  .kiosk-info-link,
  .kiosk-payment-buttons span,
  .topnav button,
  .mobile-menu__nav button,
  .kiosk-page-nav button,
  .kiosk-section-toolbar button,
  .tile-card,
  .shortcut-card,
  #clearFiltersBtn
):active{
  background:var(--kiosk-black-press)!important;
  background-image:none!important;
}

/* Filtros: layout com quebra limpa, sem rolagem e sem encavalamento. */
body.is-kiosk .search-card{
  overflow:visible!important;
  padding:clamp(11px,.86vw,16px)!important;
}
body.is-kiosk .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:var(--kiosk-filter-gap)!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  position:relative!important;
}
body.is-kiosk .search-row--main > *{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.is-kiosk .field--search{
  flex:1 1 340px!important;
  min-width:300px!important;
  max-width:none!important;
}
body.is-kiosk .kiosk-mode-actions{
  flex:0 0 clamp(236px,19vw,292px)!important;
  min-width:236px!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--kiosk-filter-gap)!important;
  overflow:visible!important;
}
body.is-kiosk .kiosk-filter-nav{
  flex:0 0 clamp(218px,17vw,274px)!important;
  min-width:218px!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--kiosk-filter-gap)!important;
  overflow:visible!important;
}
body.is-kiosk .field--date{
  flex:0 0 clamp(156px,13vw,196px)!important;
  min-width:156px!important;
  max-width:100%!important;
}
body.is-kiosk #clearFiltersBtn{
  flex:0 0 clamp(86px,7vw,112px)!important;
  min-width:86px!important;
  max-width:100%!important;
}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  height:clamp(42px,2.6vw,52px)!important;
  min-height:clamp(42px,2.6vw,52px)!important;
}
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  padding:0 clamp(8px,.62vw,12px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  justify-content:center!important;
  line-height:1!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
body.is-kiosk .kiosk-filter-nav__btn > .bi,
body.is-kiosk .kiosk-filter-nav__btn > i:last-child{
  flex:0 0 auto!important;
}
body.is-kiosk .kiosk-filter-nav__copy,
body.is-kiosk .kiosk-filter-nav__copy strong,
body.is-kiosk .kiosk-mode-actions button{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.is-kiosk .field--date input{min-width:0!important;}
@media (max-width: 1180px){
  body.is-kiosk .field--search{flex:1 1 100%!important;min-width:100%!important;}
  body.is-kiosk .kiosk-mode-actions{flex:1 1 38%!important;}
  body.is-kiosk .kiosk-filter-nav{flex:1 1 32%!important;}
  body.is-kiosk .field--date{flex:1 1 22%!important;}
  body.is-kiosk #clearFiltersBtn{flex:0 0 104px!important;}
}
@media (max-width: 760px){
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn{flex:1 1 100%!important;}
}

/* Cards de Pagamentos e Como alugar copiam a estrutura visual do FAQ. */
body.is-kiosk .kiosk-rich-grid .about-card,
body.is-kiosk .kiosk-payment-page-grid .about-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:clamp(12px,.9vw,18px)!important;
  row-gap:4px!important;
  align-items:start!important;
  justify-items:stretch!important;
  text-align:left!important;
  direction:ltr!important;
  padding:clamp(15px,1.05vw,22px)!important;
}
body.is-kiosk .kiosk-rich-grid .about-card .about-card__icon,
body.is-kiosk .kiosk-payment-page-grid .about-card .about-card__icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  justify-self:start!important;
  align-self:start!important;
  margin:0!important;
}
body.is-kiosk .kiosk-rich-grid .about-card h3,
body.is-kiosk .kiosk-payment-page-grid .about-card h3{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:start!important;
  align-self:start!important;
  text-align:left!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  line-height:1.2!important;
}
body.is-kiosk .kiosk-rich-grid .about-card p,
body.is-kiosk .kiosk-payment-page-grid .about-card p{
  grid-column:2!important;
  grid-row:2!important;
  justify-self:start!important;
  align-self:start!important;
  text-align:left!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  line-height:1.42!important;
}
body.is-kiosk .kiosk-rich-grid .about-card *,
body.is-kiosk .kiosk-payment-page-grid .about-card *{
  text-align:left!important;
}
@media(max-width:620px){
  body.is-kiosk .kiosk-rich-grid .about-card,
  body.is-kiosk .kiosk-payment-page-grid .about-card{
    grid-template-columns:1fr!important;
  }
  body.is-kiosk .kiosk-rich-grid .about-card .about-card__icon,
  body.is-kiosk .kiosk-payment-page-grid .about-card .about-card__icon,
  body.is-kiosk .kiosk-rich-grid .about-card h3,
  body.is-kiosk .kiosk-payment-page-grid .about-card h3,
  body.is-kiosk .kiosk-rich-grid .about-card p,
  body.is-kiosk .kiosk-payment-page-grid .about-card p{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

/* ========================================================================== 
   Quiosque v15 — filtros estáveis, galeria fullscreen e disponibilidade visual
   ========================================================================== */
body.is-kiosk{--kiosk-btn-bg:rgba(255,255,255,.035);--kiosk-btn-hover:#050308;--kiosk-btn-border:linear-gradient(90deg,rgba(255,94,98,.66),rgba(255,196,0,.55),rgba(64,230,160,.55),rgba(67,203,255,.58),rgba(167,86,255,.66));}

/* Botões do quiosque no mesmo espírito dos botões Alugar/Comprar dos cards */
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn){
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025)) padding-box,var(--kiosk-btn-border) border-box!important;
  border:1px solid transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
}
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn):is(:hover,:focus-visible,.is-active){
  background:var(--kiosk-btn-hover) padding-box,var(--kiosk-btn-border) border-box!important;
  background-image:linear-gradient(var(--kiosk-btn-hover),var(--kiosk-btn-hover)),var(--kiosk-btn-border)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(0,0,0,.35)!important;
}
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn):active{
  background:#000 padding-box,var(--kiosk-btn-border) border-box!important;
  background-image:linear-gradient(#000,#000),var(--kiosk-btn-border)!important;
  transform:translateY(0) scale(.99);
}
body.is-kiosk .tile-card--thumb::before{opacity:0!important;display:none!important;}
body.is-kiosk .tile-card--thumb{min-height:clamp(82px,6vw,118px)!important;border-radius:24px!important;}

/* Filtros: sem sobreposição, sem rolagem horizontal. O grupo Categoria/Tema pode quebrar internamente. */
body.is-kiosk .search-card{overflow:visible!important;max-width:100%!important;}
body.is-kiosk .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:clamp(8px,.7vw,12px)!important;
  width:100%!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main > *{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;position:relative!important;}
body.is-kiosk .field--search{flex:999 1 420px!important;min-width:min(100%,320px)!important;}
body.is-kiosk .kiosk-mode-actions{flex:0 1 310px!important;min-width:min(100%,260px)!important;display:flex!important;flex-wrap:wrap!important;gap:clamp(8px,.6vw,10px)!important;}
body.is-kiosk .kiosk-mode-actions button{flex:1 1 88px!important;min-width:88px!important;}
body.is-kiosk .kiosk-filter-nav{flex:0 1 310px!important;min-width:min(100%,260px)!important;display:flex!important;flex-wrap:wrap!important;gap:clamp(8px,.6vw,10px)!important;overflow:visible!important;}
body.is-kiosk .kiosk-filter-nav__btn{flex:1 1 132px!important;min-width:132px!important;max-width:100%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;overflow:hidden!important;}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important;}
body.is-kiosk .kiosk-filter-nav__copy{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.is-kiosk .kiosk-filter-nav__copy strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.is-kiosk .field--date{flex:0 1 220px!important;min-width:min(100%,185px)!important;}
body.is-kiosk .kiosk-fullscreen-btn{flex:0 1 145px!important;min-width:130px!important;}
body.is-kiosk #clearFiltersBtn{flex:0 1 118px!important;min-width:104px!important;}
body.is-kiosk .field--search,body.is-kiosk .field--date,body.is-kiosk .kiosk-mode-actions button,body.is-kiosk .kiosk-filter-nav__btn,body.is-kiosk #clearFiltersBtn,body.is-kiosk .kiosk-fullscreen-btn{height:clamp(44px,2.7vw,56px)!important;min-height:clamp(44px,2.7vw,56px)!important;}
@media(max-width:980px){body.is-kiosk .field--search{flex-basis:100%!important;}body.is-kiosk .kiosk-mode-actions,body.is-kiosk .kiosk-filter-nav{flex:1 1 48%!important;}body.is-kiosk .field--date{flex:1 1 38%!important;}body.is-kiosk .kiosk-fullscreen-btn,body.is-kiosk #clearFiltersBtn{flex:1 1 28%!important;}}
@media(max-width:620px){body.is-kiosk .kiosk-mode-actions,body.is-kiosk .kiosk-filter-nav,body.is-kiosk .field--date,body.is-kiosk .kiosk-fullscreen-btn,body.is-kiosk #clearFiltersBtn{flex:1 1 100%!important;}}

/* Quiosque consulta locação somente pela data: CEP fica escondido no quiosque. */
body.is-kiosk .field--zip,body.is-kiosk .rent-context-inline .field--zip{display:none!important;}

/* Cards da capa: impedem sobreposição entre ícone, texto e botão. */
body.is-kiosk .kiosk-guide-card{overflow:hidden!important;min-width:0!important;align-items:start!important;}
body.is-kiosk .kiosk-guide-card__body{min-width:0!important;overflow:hidden!important;}
body.is-kiosk .kiosk-guide-card h3,body.is-kiosk .kiosk-guide-card p,body.is-kiosk .kiosk-guide-card li{overflow-wrap:anywhere!important;}
body.is-kiosk .kiosk-guide-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
body.is-kiosk .kiosk-guide-card ol{margin:0!important;padding-left:18px!important;}
body.is-kiosk .kiosk-guide-card .kiosk-info-link{margin-top:4px;max-width:100%;}
body.is-kiosk .kiosk-payment-buttons{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}

/* Hero com imagem aleatória de produto no fundo, sem atrapalhar leitura. */
body.is-kiosk .kiosk-hero-panel{position:relative!important;overflow:hidden!important;}
body.is-kiosk.has-kiosk-hero-product-bg .kiosk-hero-panel::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,rgba(11,7,18,.96) 0%,rgba(11,7,18,.84) 42%,rgba(11,7,18,.45) 72%,rgba(11,7,18,.88) 100%),var(--kiosk-hero-product-bg);
  background-size:cover;background-position:center right;opacity:.82;filter:saturate(1.05) contrast(1.04);
}
body.is-kiosk .kiosk-hero-panel__copy,body.is-kiosk .kiosk-hero-panel__steps{position:relative!important;z-index:1!important;}

/* Produto indisponível na data: continua visível, mas marcado para o cliente. */
body.is-kiosk .product-card.is-date-unavailable .product-card__image img{filter:grayscale(.32) brightness(.72)!important;}
body.is-kiosk .product-card__date-unavailable{position:absolute;inset:0;z-index:4;display:grid;place-items:center;align-content:center;gap:8px;padding:18px;text-align:center;background:rgba(7,4,12,.42);color:#fff;pointer-events:none;}
body.is-kiosk .product-card__date-unavailable i{width:54px;height:54px;border-radius:999px;display:grid;place-items:center;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.22);font-size:1.35rem;color:#ff8f9c;}
body.is-kiosk .product-card__date-unavailable strong{padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.16);font-size:.92rem;line-height:1.1;}

/* Galeria em tela cheia para catálogo e produto. */
.fullscreen-gallery{position:fixed;inset:0;z-index:10010;background:rgba(3,2,7,.94);display:grid;place-items:center;padding:0!important;}
.fullscreen-gallery[hidden]{display:none!important;}
.fullscreen-gallery__stage{position:relative;width:100vw;height:100vh;display:grid;place-items:center;overflow:hidden;background:#050308;}
.fullscreen-gallery__figure{position:relative;width:100%;height:100%;margin:0;display:grid;place-items:center;}
.fullscreen-gallery__figure img{max-width:100vw;max-height:100vh;width:auto;height:auto;object-fit:contain;background:#fff;transition:opacity .16s ease;}
.fullscreen-gallery__figure img.is-changing{opacity:.16;}
.fullscreen-gallery__caption{position:absolute;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(100% - 32px,920px);display:grid;gap:4px;text-align:center;padding:14px 18px;border-radius:24px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.16);color:#fff;box-shadow:0 18px 60px rgba(0,0,0,.36);}
.fullscreen-gallery__caption span{font-size:.82rem;color:#ffe68f;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.fullscreen-gallery__caption strong{font-size:clamp(1.2rem,2.4vw,2.6rem);line-height:1.05;}
.fullscreen-gallery__caption small{font-size:clamp(.82rem,1.1vw,1.1rem);color:#d8cfeb;}
.fullscreen-gallery__close{position:absolute;right:22px;top:22px;z-index:3;background:rgba(0,0,0,.65)!important;}
.fullscreen-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:58px!important;height:58px!important;border-radius:999px!important;background:rgba(0,0,0,.58)!important;}
.fullscreen-gallery__nav--prev{left:22px;}.fullscreen-gallery__nav--next{right:22px;}
.fullscreen-gallery__controls{position:absolute;right:22px;bottom:max(26px,env(safe-area-inset-bottom));z-index:4;}
.fullscreen-gallery__controls .soft-btn{background:rgba(0,0,0,.72)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;}
body.is-kiosk .product-main-wrap{cursor:zoom-in;}


/* ========================================================================== 
   Quiosque v16 — escala 2880x1920, borda rainbow sem fundo e hero com imagem
   ========================================================================== */
body.is-kiosk{
  --kiosk-layout-max: min(100% - clamp(48px,5vw,96px), 1680px);
  --kiosk-gap: clamp(12px,1.2vw,22px);
  --kiosk-touch-h: clamp(52px,3.2vw,68px);
  --kiosk-radius: clamp(18px,1.6vw,28px);
  --kiosk-font-ui: clamp(.96rem,1.05vw,1.18rem);
  --kiosk-font-body: clamp(1rem,1.08vw,1.22rem);
  --kiosk-font-small: clamp(.82rem,.92vw,1rem);
  --kiosk-control-bg: rgba(17,12,28,.78);
  --kiosk-control-bg-strong: #030206;
  --kiosk-control-border-soft: linear-gradient(90deg,rgba(255,94,98,.48),rgba(255,198,0,.44),rgba(65,231,155,.42),rgba(67,203,255,.46),rgba(167,86,255,.52));
  --kiosk-control-border-strong: linear-gradient(90deg,#ff5e62,#ffd15c,#44e99d,#43cbff,#a756ff);
  font-size:var(--kiosk-font-ui);
  padding-bottom:clamp(20px,2.5vw,42px)!important;
}
body.is-kiosk .page,
body.is-kiosk .catalog-shell,
body.is-kiosk #screen-categorias,
body.is-kiosk #screen-temas,
body.is-kiosk .kiosk-info-screen{
  width:var(--kiosk-layout-max)!important;
  max-width:var(--kiosk-layout-max)!important;
  margin-inline:auto!important;
}
body.is-kiosk .catalog-shell{
  gap:var(--kiosk-gap)!important;
  min-height:calc(100svh - 84px)!important;
  align-content:start!important;
}

/* Controles do quiosque: apenas borda rainbow. Fundo nunca é rainbow. */
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn,.fullscreen-gallery__controls .soft-btn){
  background:linear-gradient(var(--kiosk-control-bg),var(--kiosk-control-bg)) padding-box,var(--kiosk-control-border-soft) border-box!important;
  background-color:transparent!important;
  border:1px solid transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
  min-height:var(--kiosk-touch-h)!important;
  border-radius:var(--kiosk-radius)!important;
  font-size:var(--kiosk-font-ui)!important;
  font-weight:850!important;
}
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn,.fullscreen-gallery__controls .soft-btn):is(:hover,:focus-visible,.is-active){
  background:linear-gradient(var(--kiosk-control-bg-strong),var(--kiosk-control-bg-strong)) padding-box,var(--kiosk-control-border-strong) border-box!important;
  background-color:#000!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(0,0,0,.42)!important;
}
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn,.fullscreen-gallery__controls .soft-btn):active{
  background:linear-gradient(#000,#000) padding-box,var(--kiosk-control-border-strong) border-box!important;
  background-color:#000!important;
  transform:scale(.985);
}
body.is-kiosk :is(.kiosk-fullscreen-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,#clearFiltersBtn) span,
body.is-kiosk .kiosk-filter-nav__copy strong{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.is-kiosk .kiosk-fullscreen-btn{
  flex:0 1 clamp(138px,11vw,190px)!important;
  min-width:clamp(132px,10vw,176px)!important;
  padding-inline:clamp(14px,1.2vw,22px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}
body.is-kiosk .kiosk-fullscreen-btn i{flex:none!important;}
body.is-kiosk .tile-card--thumb::before,
body.is-kiosk .tile-card::before{display:none!important;opacity:0!important;}

/* Hero: altura pelo conteúdo, texto mais forte, imagem aleatória visível no fundo. */
body.is-kiosk .kiosk-hero-panel{
  min-height:auto!important;
  padding:clamp(28px,4.2vw,64px)!important;
  border-radius:clamp(24px,2.2vw,38px)!important;
  overflow:hidden!important;
  position:relative!important;
  background:linear-gradient(135deg,rgba(18,13,30,.88),rgba(34,22,58,.80))!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.is-kiosk .kiosk-hero-panel::after{display:none!important;}
body.is-kiosk.has-kiosk-hero-product-bg .kiosk-hero-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  background-image:linear-gradient(90deg,rgba(10,6,16,.96) 0%,rgba(10,6,16,.82) 42%,rgba(10,6,16,.44) 68%,rgba(10,6,16,.84) 100%),var(--kiosk-hero-product-bg)!important;
  background-size:cover!important;
  background-position:center right!important;
  opacity:1!important;
  filter:saturate(1.08) contrast(1.03)!important;
}
body.is-kiosk .kiosk-hero-panel__copy,
body.is-kiosk .kiosk-hero-panel__steps{position:relative!important;z-index:2!important;}
body.is-kiosk .kiosk-hero-panel h1{
  font-size:clamp(2.35rem,4.8vw,5.2rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:13ch!important;
  margin:0!important;
}
body.is-kiosk .kiosk-hero-panel p{
  font-size:clamp(1.05rem,1.28vw,1.42rem)!important;
  line-height:1.36!important;
  max-width:58ch!important;
}
body.is-kiosk .kiosk-hero-panel .section-kicker{font-size:clamp(.78rem,.9vw,1rem)!important;}

/* Cards abaixo do hero: conteúdo sem colisão em 2880x1920/200%. */
body.is-kiosk .kiosk-guide-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--kiosk-gap)!important;
}
body.is-kiosk .kiosk-guide-card{
  min-height:clamp(160px,12vw,220px)!important;
  padding:clamp(18px,1.8vw,30px)!important;
  gap:clamp(12px,1.1vw,18px)!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-guide-card__icon{
  width:clamp(46px,3.8vw,70px)!important;
  height:clamp(46px,3.8vw,70px)!important;
  border-radius:clamp(14px,1.2vw,20px)!important;
  flex:none!important;
}
body.is-kiosk .kiosk-guide-card h3{font-size:clamp(1rem,1.16vw,1.32rem)!important;line-height:1.1!important;}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card li{font-size:var(--kiosk-font-small)!important;line-height:1.35!important;}
body.is-kiosk .kiosk-guide-card p{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
body.is-kiosk .kiosk-guide-card .kiosk-info-link{margin-top:4px!important;max-width:100%!important;}
body.is-kiosk .kiosk-payment-buttons{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
body.is-kiosk .kiosk-payment-buttons span{min-height:clamp(34px,2.3vw,44px)!important;font-size:clamp(.76rem,.85vw,.95rem)!important;padding-inline:10px!important;}

/* Filtros: sem sobreposição, sem rolagem; quebra em linhas quando necessário. */
body.is-kiosk .search-card{
  padding:clamp(12px,1.2vw,18px)!important;
  border-radius:clamp(20px,1.8vw,30px)!important;
  overflow:visible!important;
  width:100%!important;
}
body.is-kiosk .search-row--advanced{display:none!important;}
body.is-kiosk .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:clamp(8px,.8vw,14px)!important;
  width:100%!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main > *{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;position:relative!important;}
body.is-kiosk .field--search{flex:999 1 clamp(320px,28vw,560px)!important;min-width:min(100%,310px)!important;}
body.is-kiosk .kiosk-mode-actions{
  flex:1 1 clamp(280px,22vw,390px)!important;
  min-width:min(100%,280px)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:clamp(8px,.65vw,12px)!important;
  overflow:visible!important;
}
body.is-kiosk .kiosk-mode-actions button{flex:1 1 clamp(86px,6.5vw,128px)!important;min-width:86px!important;}
body.is-kiosk .kiosk-filter-nav{
  flex:1 1 clamp(300px,24vw,430px)!important;
  min-width:min(100%,300px)!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))!important;
  gap:clamp(8px,.65vw,12px)!important;
  overflow:visible!important;
}
body.is-kiosk .kiosk-filter-nav__btn{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding-inline:clamp(14px,1.2vw,22px)!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important;}
body.is-kiosk .field--date{flex:0 1 clamp(170px,14vw,240px)!important;min-width:min(100%,170px)!important;}
body.is-kiosk #clearFiltersBtn{flex:0 1 clamp(108px,9vw,148px)!important;min-width:104px!important;}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height:var(--kiosk-touch-h)!important;
  height:var(--kiosk-touch-h)!important;
}
@media(max-width:900px){
  body.is-kiosk .field--search{flex-basis:100%!important;}
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav{flex:1 1 48%!important;}
  body.is-kiosk .field--date{flex:1 1 38%!important;}
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk #clearFiltersBtn{flex:1 1 28%!important;}
}
@media(max-width:620px){
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk #clearFiltersBtn{flex:1 1 100%!important;}
}
body.is-kiosk .field--zip,body.is-kiosk .rent-context-inline .field--zip{display:none!important;}

/* Galeria fullscreen: controles legíveis e sem quebra. */
.fullscreen-gallery__controls .soft-btn,
body.is-kiosk #fullscreenPlayBtn{white-space:nowrap!important;min-width:132px!important;}
body.is-kiosk #fullscreenPlayBtn span{white-space:nowrap!important;}


/* ========================================================================== 
   Quiosque v17 — fluxo aprovado, dois usos e filtros em duas linhas lógicas
   ========================================================================== */
body.is-kiosk{
  --kiosk-control-border-soft:linear-gradient(90deg,rgba(255,94,98,.55),rgba(255,196,0,.48),rgba(107,255,148,.48),rgba(67,203,255,.50),rgba(167,86,255,.58));
  --kiosk-control-border-strong:linear-gradient(90deg,#ff5e62,#ffc400,#6bff94,#43cbff,#a756ff);
  --kiosk-control-bg:rgba(18,13,30,.82);
  --kiosk-control-bg-hover:#020104;
  --kiosk-control-radius:999px;
  --kiosk-touch-h:clamp(46px,3.1vw,62px);
  --kiosk-font-ui:clamp(.9rem,.92vw,1.08rem);
}

/* Botão aprovado: fundo padrão, só borda rainbow. Hover/click preto. */
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn,.fullscreen-gallery__controls .soft-btn){
  background:linear-gradient(var(--kiosk-control-bg),var(--kiosk-control-bg)) padding-box,var(--kiosk-control-border-soft) border-box!important;
  background-color:var(--kiosk-control-bg)!important;
  border:1px solid transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-radius:var(--kiosk-control-radius)!important;
  box-shadow:none!important;
}
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn,.fullscreen-gallery__controls .soft-btn):is(:hover,:focus-visible,.is-active){
  background:linear-gradient(var(--kiosk-control-bg-hover),var(--kiosk-control-bg-hover)) padding-box,var(--kiosk-control-border-strong) border-box!important;
  background-color:var(--kiosk-control-bg-hover)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(0,0,0,.34)!important;
}
body.is-kiosk :is(.primary-btn,.ghost-btn,.soft-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,.kiosk-info-link,.kiosk-payment-buttons span,.kiosk-page-nav button,.kiosk-section-toolbar button,.tile-card,.tile-card--thumb,.shortcut-card,#clearFiltersBtn,.kiosk-fullscreen-btn,.fullscreen-gallery__controls .soft-btn):active{
  background:linear-gradient(#000,#000) padding-box,var(--kiosk-control-border-strong) border-box!important;
  background-color:#000!important;
  transform:scale(.985);
}

/* Hero com imagem aleatória realmente visível e altura guiada pelo conteúdo. */
body.is-kiosk .kiosk-hero-panel{
  min-height:auto!important;
  height:auto!important;
  padding:clamp(30px,4vw,68px)!important;
  border-radius:clamp(24px,2.2vw,38px)!important;
  background:linear-gradient(135deg,rgba(18,13,30,.88),rgba(34,22,58,.78))!important;
  background-size:cover!important;
  background-position:center right!important;
}
body.is-kiosk.has-kiosk-hero-product-bg .kiosk-hero-panel{
  background-image:linear-gradient(90deg,rgba(8,5,14,.95) 0%,rgba(8,5,14,.86) 40%,rgba(8,5,14,.50) 70%,rgba(8,5,14,.86) 100%),var(--kiosk-hero-product-bg)!important;
  background-size:cover!important;
  background-position:center right!important;
}
body.is-kiosk.has-kiosk-hero-product-bg .kiosk-hero-panel::before{display:none!important;}
body.is-kiosk .kiosk-hero-panel h1{font-size:clamp(2.45rem,4.9vw,5.4rem)!important;line-height:.98!important;}
body.is-kiosk .kiosk-hero-panel p{font-size:clamp(1.05rem,1.25vw,1.42rem)!important;max-width:60ch!important;}

/* Cards abaixo do hero: sem colisão em tablet/PC e legíveis no smartphone. */
body.is-kiosk .kiosk-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(12px,1.2vw,20px)!important;}
body.is-kiosk .kiosk-guide-card{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;min-height:auto!important;padding:clamp(16px,1.55vw,28px)!important;overflow:hidden!important;}
body.is-kiosk .kiosk-guide-card__body{min-width:0!important;overflow:hidden!important;text-align:left!important;}
body.is-kiosk .kiosk-guide-card h3,body.is-kiosk .kiosk-guide-card p,body.is-kiosk .kiosk-guide-card li{text-align:left!important;}
body.is-kiosk .kiosk-guide-card p{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
@media(max-width:760px){body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important;}body.is-kiosk .kiosk-guide-card{grid-template-columns:auto 1fr!important;}}

/* Filtros: 2 linhas lógicas, sem rolagem e sem sobreposição. */
body.is-kiosk .search-card{overflow:visible!important;padding:clamp(12px,1.2vw,18px)!important;}
body.is-kiosk .search-row--advanced{display:none!important;}
body.is-kiosk .search-row--main{
  display:grid!important;
  width:100%!important;
  gap:clamp(8px,.75vw,14px)!important;
  align-items:stretch!important;
  overflow:visible!important;
  grid-template-columns:minmax(0,1fr) minmax(292px,390px) minmax(170px,210px) minmax(110px,145px);
  grid-template-areas:
    "search modes modes modes"
    "nav    nav   date  clear";
}
body.is-kiosk.kiosk-catalog-active .search-row--main{
  grid-template-columns:minmax(0,1fr) minmax(170px,210px) minmax(110px,145px) minmax(140px,175px);
  grid-template-areas:
    "search modes modes modes"
    "nav    date  clear full";
}
body.is-kiosk .field--search{grid-area:search!important;min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-mode-actions{grid-area:modes!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(8px,.65vw,12px)!important;min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-filter-nav{grid-area:nav!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(8px,.65vw,12px)!important;min-width:0!important;width:100%!important;overflow:visible!important;}
body.is-kiosk .field--date{grid-area:date!important;min-width:0!important;width:100%!important;}
body.is-kiosk #clearFiltersBtn{grid-area:clear!important;min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-fullscreen-btn{grid-area:full!important;min-width:0!important;width:100%!important;white-space:nowrap!important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-fullscreen-btn{display:none!important;}
body.is-kiosk #toggleAdvancedBtn{display:none!important;}
body.is-kiosk .kiosk-mode-actions button,body.is-kiosk .kiosk-filter-nav__btn,body.is-kiosk #clearFiltersBtn,body.is-kiosk .kiosk-fullscreen-btn,body.is-kiosk .field--search,body.is-kiosk .field--date{height:var(--kiosk-touch-h)!important;min-height:var(--kiosk-touch-h)!important;}
body.is-kiosk .kiosk-filter-nav__btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;overflow:hidden!important;padding-inline:clamp(12px,1vw,20px)!important;}
body.is-kiosk .kiosk-filter-nav__icon{display:none!important;}
body.is-kiosk .kiosk-filter-nav__copy,body.is-kiosk .kiosk-filter-nav__copy strong,body.is-kiosk :is(.kiosk-fullscreen-btn,.kiosk-mode-actions button,.kiosk-filter-nav__btn,#clearFiltersBtn) span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

/* Campo de data: sem ícone/label à esquerda; usa o botão nativo do calendário. */
body.is-kiosk .field--date > i:first-child{display:none!important;}
body.is-kiosk .field--date{padding-left:clamp(12px,1vw,18px)!important;padding-right:clamp(10px,1vw,16px)!important;cursor:pointer!important;}
body.is-kiosk .field--date input{cursor:pointer!important;text-align:left!important;font-weight:850!important;}
body.is-kiosk input[type="date"]::-webkit-calendar-picker-indicator{opacity:1!important;cursor:pointer!important;width:28px!important;height:28px!important;filter:invert(1) saturate(.3)!important;}
body.is-kiosk .cep-route-notice{margin-top:10px!important;display:flex!important;align-items:center!important;gap:8px!important;border-radius:18px!important;padding:10px 14px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.10)!important;color:#e9e2f5!important;}
body.is-kiosk .cep-route-notice[hidden]{display:none!important;}

/* Categorias e temas: mesmo padrão aprovado de botão, sem fundo rainbow preenchido. */
body.is-kiosk #screen-categorias .tile-card,body.is-kiosk #screen-temas .tile-card{background:linear-gradient(var(--kiosk-control-bg),var(--kiosk-control-bg)) padding-box,var(--kiosk-control-border-soft) border-box!important;border:1px solid transparent!important;}
body.is-kiosk #screen-categorias .tile-card:hover,body.is-kiosk #screen-temas .tile-card:hover{background:linear-gradient(#000,#000) padding-box,var(--kiosk-control-border-strong) border-box!important;}

/* Galeria fullscreen com a mesma ideia do protetor: imagem limpa em cima, informações embaixo. */
body.is-kiosk .fullscreen-gallery__stage{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;background:#050308!important;}
body.is-kiosk .fullscreen-gallery__figure{height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;}
body.is-kiosk .fullscreen-gallery__figure img{grid-row:1!important;max-width:100vw!important;max-height:100%!important;width:auto!important;height:100%!important;object-fit:contain!important;background:#fff!important;}
body.is-kiosk .fullscreen-gallery__caption{position:static!important;transform:none!important;width:100%!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;background:#100719!important;text-align:center!important;box-shadow:none!important;padding:clamp(14px,1.5vw,24px)!important;}
body.is-kiosk .fullscreen-gallery__controls{right:22px!important;bottom:clamp(18px,2vw,30px)!important;}
body.is-kiosk #fullscreenPlayBtn{white-space:nowrap!important;min-width:clamp(132px,10vw,180px)!important;}

@media(max-width:820px){
  body.is-kiosk .search-row--main,body.is-kiosk.kiosk-catalog-active .search-row--main{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "search search"
      "modes  modes"
      "nav    nav"
      "date   clear"
      "full   full"!important;
  }
  body.is-kiosk:not(.kiosk-catalog-active) .search-row--main{grid-template-areas:"search search" "modes modes" "nav nav" "date clear"!important;}
}
@media(max-width:520px){
  body.is-kiosk .search-row--main,body.is-kiosk.kiosk-catalog-active .search-row--main{grid-template-columns:1fr!important;grid-template-areas:"search" "modes" "nav" "date" "clear" "full"!important;}
  body.is-kiosk:not(.kiosk-catalog-active) .search-row--main{grid-template-areas:"search" "modes" "nav" "date" "clear"!important;}
}


/* ========================================================================== 
   Quiosque v18 — filtros pós-hero, data acessível, hero com imagem real e modais estáveis
   ========================================================================== */
body.is-kiosk .catalog-shell{
  display:grid!important;
  gap:clamp(12px,1.1vw,20px)!important;
  align-content:start!important;
}
body.is-kiosk .kiosk-hero-panel{
  height:auto!important;
  min-height:0!important;
  padding:clamp(24px,2.4vw,42px)!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(135deg,rgba(26,19,39,.92),rgba(17,10,29,.78))!important;
}
body.is-kiosk .kiosk-hero-product-bg-img{
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:min(54%,720px)!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:.34!important;
  filter:saturate(1.08) contrast(1.06)!important;
  z-index:0!important;
  pointer-events:none!important;
}
body.is-kiosk .kiosk-hero-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(11,7,19,.98) 0%,rgba(11,7,19,.90) 42%,rgba(11,7,19,.62) 72%,rgba(11,7,19,.86) 100%)!important;
  pointer-events:none!important;
}
body.is-kiosk .kiosk-hero-panel__copy,
body.is-kiosk .kiosk-hero-panel__steps{position:relative!important;z-index:2!important;}
body.is-kiosk .kiosk-hero-panel h1{max-width:14ch!important;}
body.is-kiosk .kiosk-hero-panel p{max-width:58ch!important;}

/* Filtros logo abaixo do hero, com duas linhas sem sobreposição. */
body.is-kiosk .search-card{
  order:2!important;
  padding:clamp(12px,1vw,18px)!important;
  overflow:visible!important;
}
body.is-kiosk .kiosk-guide-grid{order:3!important;}
body.is-kiosk .catalog-grid{order:4!important;}
body.is-kiosk .search-row--main,
body.is-kiosk.kiosk-catalog-active .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) minmax(320px,max-content) minmax(260px,.48fr) minmax(128px,max-content)!important;
  grid-template-areas:
    "search modes modes modes"
    "nav nav date clear"!important;
  gap:clamp(9px,.75vw,14px)!important;
  align-items:stretch!important;
  overflow:visible!important;
}
body.is-kiosk.kiosk-catalog-active .search-row--main{
  grid-template-areas:
    "search modes full full"
    "nav nav date clear"!important;
}
body.is-kiosk .field--search{grid-area:search!important;}
body.is-kiosk .kiosk-mode-actions{grid-area:modes!important;display:grid!important;grid-template-columns:repeat(3,minmax(112px,1fr))!important;gap:clamp(8px,.7vw,12px)!important;min-width:0!important;overflow:visible!important;}
body.is-kiosk .kiosk-filter-nav{grid-area:nav!important;display:grid!important;grid-template-columns:repeat(2,minmax(150px,1fr))!important;gap:clamp(8px,.7vw,12px)!important;min-width:0!important;width:100%!important;overflow:visible!important;}
body.is-kiosk .field--date{grid-area:date!important;position:relative!important;min-width:0!important;}
body.is-kiosk #clearFiltersBtn{grid-area:clear!important;min-width:128px!important;}
body.is-kiosk .kiosk-fullscreen-btn{grid-area:full!important;min-width:clamp(160px,12vw,230px)!important;white-space:nowrap!important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-fullscreen-btn{display:none!important;}
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .field--search,
body.is-kiosk .field--date{
  height:clamp(48px,3vw,66px)!important;
  min-height:clamp(48px,3vw,66px)!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn,
body.is-kiosk .kiosk-fullscreen-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(7px,.55vw,11px)!important;
  padding-inline:clamp(12px,1vw,20px)!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-mode-actions button i,
body.is-kiosk .kiosk-filter-nav__btn i,
body.is-kiosk #clearFiltersBtn i,
body.is-kiosk .kiosk-fullscreen-btn i{display:inline-flex!important;flex:none!important;}
body.is-kiosk .kiosk-filter-nav__icon{display:inline-grid!important;place-items:center!important;width:auto!important;height:auto!important;background:none!important;border:0!important;box-shadow:none!important;}
body.is-kiosk .kiosk-filter-nav__copy,
body.is-kiosk .kiosk-filter-nav__copy strong,
body.is-kiosk :is(.kiosk-mode-actions button,.kiosk-filter-nav__btn,#clearFiltersBtn,.kiosk-fullscreen-btn) span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;}
body.is-kiosk .field--date > i.bi-calendar-event{display:none!important;}
body.is-kiosk .field--date input{padding-left:clamp(14px,1vw,18px)!important;cursor:pointer!important;}
body.is-kiosk input[type="date"]::-webkit-calendar-picker-indicator{opacity:1!important;width:32px!important;height:32px!important;cursor:pointer!important;filter:invert(1) saturate(.2)!important;}
body.is-kiosk .kiosk-date-toast{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  z-index:50!important;
  width:min(360px,90vw)!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  color:#f4edff!important;
  background:rgba(4,3,8,.94)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.32)!important;
  font-size:clamp(.78rem,.76vw,.9rem)!important;
  line-height:1.25!important;
  opacity:0!important;
  transform:translateY(-4px)!important;
  pointer-events:none!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
body.is-kiosk .kiosk-date-toast.is-visible{opacity:1!important;transform:translateY(0)!important;}

/* Modal do produto: sem rolagem quando couber; rola só se passar da altura da tela. */
body.is-kiosk .modal-card--product{
  width:min(96vw,1280px)!important;
  max-height:calc(100dvh - 32px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.is-kiosk .modal-card--product .modal-body,
body.is-kiosk .product-modal-body{
  min-height:0!important;
  overflow:auto!important;
  max-height:none!important;
}
body.is-kiosk .product-modal-gallery{min-height:0!important;}
body.is-kiosk .product-main-wrap img{cursor:zoom-in!important;}

/* Aviso de indisponibilidade sempre acima do produto no quiosque. */
body.is-kiosk .product-card{position:relative!important;}
body.is-kiosk .product-card__image{position:relative!important;overflow:hidden!important;}
body.is-kiosk .product-card.is-date-unavailable .product-card__date-unavailable{display:grid!important;}
body.is-kiosk .product-card__date-unavailable{
  position:absolute!important;
  inset:0!important;
  z-index:8!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:8px!important;
  padding:16px!important;
  text-align:center!important;
  background:rgba(8,5,14,.48)!important;
  color:#fff!important;
  pointer-events:none!important;
}
body.is-kiosk .product-card__date-unavailable i{
  width:clamp(46px,4vw,68px)!important;
  height:clamp(46px,4vw,68px)!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  font-size:clamp(1.2rem,1.6vw,1.8rem)!important;
  background:rgba(0,0,0,.74)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#ff9aa7!important;
}
body.is-kiosk .product-card__date-unavailable strong{
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.74)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  font-size:clamp(.78rem,.9vw,1rem)!important;
  line-height:1.1!important;
}

@media(min-width:1500px){
  body.is-kiosk .search-row--main,
  body.is-kiosk.kiosk-catalog-active .search-row--main{
    grid-template-columns:minmax(360px,1.05fr) minmax(360px,.82fr) minmax(360px,.75fr) minmax(210px,.42fr) minmax(140px,.3fr)!important;
    grid-template-areas:"search modes nav date clear"!important;
  }
  body.is-kiosk.kiosk-catalog-active .search-row--main{
    grid-template-columns:minmax(330px,.92fr) minmax(340px,.78fr) minmax(320px,.7fr) minmax(190px,.38fr) minmax(160px,.34fr) minmax(132px,.26fr)!important;
    grid-template-areas:"search modes nav date full clear"!important;
  }
}
@media(max-width:980px){
  body.is-kiosk .search-row--main,
  body.is-kiosk.kiosk-catalog-active .search-row--main{
    grid-template-columns:1fr!important;
    grid-template-areas:"search" "modes" "nav" "date" "full" "clear"!important;
  }
  body.is-kiosk:not(.kiosk-catalog-active) .search-row--main{grid-template-areas:"search" "modes" "nav" "date" "clear"!important;}
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav{grid-template-columns:1fr!important;}
  body.is-kiosk .kiosk-hero-product-bg-img{width:100%!important;opacity:.22!important;}
  body.is-kiosk .kiosk-hero-panel::before{background:rgba(11,7,19,.86)!important;}
}


/* ========================================================================== 
   Quiosque v19 — filtros sem estouro, fullscreen 100%, swipe e ícones limpos
   ========================================================================== */
body.is-kiosk{overflow-x:hidden!important;}
body.is-kiosk .search-card{max-width:100%!important;box-sizing:border-box!important;overflow:visible!important;}
body.is-kiosk .search-row--main,
body.is-kiosk.kiosk-catalog-active .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:clamp(8px,.7vw,12px)!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.is-kiosk .field--search{flex:1 1 clamp(260px,28vw,520px)!important;min-width:min(100%,260px)!important;width:auto!important;}
body.is-kiosk .kiosk-mode-actions{flex:1 1 clamp(260px,24vw,430px)!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(8px,.65vw,12px)!important;min-width:min(100%,260px)!important;width:auto!important;}
body.is-kiosk .kiosk-filter-nav{flex:1 1 clamp(240px,22vw,390px)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(8px,.65vw,12px)!important;min-width:min(100%,240px)!important;width:auto!important;}
body.is-kiosk .field--date{flex:0 1 clamp(164px,16vw,230px)!important;min-width:min(100%,164px)!important;width:auto!important;}
body.is-kiosk .kiosk-fullscreen-btn{flex:0 1 clamp(148px,13vw,220px)!important;min-width:min(100%,148px)!important;width:auto!important;}
body.is-kiosk #clearFiltersBtn{flex:0 1 clamp(116px,10vw,160px)!important;min-width:min(100%,116px)!important;width:auto!important;}
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn,
body.is-kiosk .kiosk-fullscreen-btn{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.is-kiosk :is(.kiosk-mode-actions button,.kiosk-filter-nav__btn,#clearFiltersBtn,.kiosk-fullscreen-btn) span,
body.is-kiosk .kiosk-filter-nav__copy,
body.is-kiosk .kiosk-filter-nav__copy strong{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  min-width:0!important;
}
body.is-kiosk .kiosk-filter-nav__btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;}
body.is-kiosk .kiosk-filter-nav__icon,
body.is-kiosk .kiosk-filter-nav__icon.rainbow-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
body.is-kiosk .kiosk-filter-nav__icon i{font-size:1em!important;line-height:1!important;display:inline-block!important;}
body.is-kiosk .kiosk-page-nav button > i,
body.is-kiosk .kiosk-section-toolbar button > i,
body.is-kiosk .kiosk-mode-actions button > i,
body.is-kiosk #clearFiltersBtn > i,
body.is-kiosk .kiosk-fullscreen-btn > i{
  width:auto!important;height:auto!important;min-width:0!important;border-radius:0!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-fullscreen-btn{display:none!important;}
@media(max-width:620px){
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav{flex-basis:100%!important;}
  body.is-kiosk .field--date{flex:1 1 calc(50% - 6px)!important;}
  body.is-kiosk #clearFiltersBtn{flex:1 1 calc(50% - 6px)!important;}
  body.is-kiosk .kiosk-fullscreen-btn{flex:1 1 100%!important;}
}

/* Ao aplicar categoria/tema, os produtos param abaixo da barra de filtros, não embaixo dela. */
body.is-kiosk .catalog-grid{scroll-margin-top:calc(var(--topbar-h, 76px) + 150px)!important;}

/* Fullscreen deve ocupar a viewport inteira sem padding lateral/inferior que corte conteúdo. */
.fullscreen-gallery.modal-shell,
body.is-kiosk .fullscreen-gallery.modal-shell{
  position:fixed!important;
  inset:0!important;
  width:100dvw!important;
  height:100dvh!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:stretch!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  overflow:hidden!important;
}
body.is-kiosk .fullscreen-gallery__stage,
.fullscreen-gallery__stage{
  width:100dvw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  touch-action:pan-y pinch-zoom!important;
}
body.is-kiosk .fullscreen-gallery__figure,
.fullscreen-gallery__figure{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;margin:0!important;}
body.is-kiosk .fullscreen-gallery__figure img,
.fullscreen-gallery__figure img{max-width:100%!important;max-height:100%!important;min-width:0!important;object-fit:contain!important;}
body.is-kiosk .fullscreen-gallery__caption{width:100%!important;box-sizing:border-box!important;}
body.is-kiosk .fullscreen-gallery__controls{right:clamp(12px,1.4vw,24px)!important;bottom:calc(env(safe-area-inset-bottom) + clamp(12px,1.4vw,24px))!important;}
body.is-kiosk .fullscreen-gallery__close{right:clamp(12px,1.4vw,24px)!important;top:calc(env(safe-area-inset-top) + clamp(12px,1.4vw,24px))!important;}
body.is-kiosk .fullscreen-gallery__nav--prev{left:clamp(10px,1.4vw,24px)!important;}
body.is-kiosk .fullscreen-gallery__nav--next{right:clamp(10px,1.4vw,24px)!important;}

/* Galeria: melhora resposta ao arrasto horizontal por toque. */
body.is-kiosk .fullscreen-gallery__stage,
body.is-kiosk .fullscreen-gallery__figure,
body.is-kiosk .fullscreen-gallery__figure img{user-select:none!important;-webkit-user-drag:none!important;}


/* ========================================================================== 
   Quiosque v20 — correção emergencial: camadas hidden não podem bloquear cliques
   ========================================================================== */
/* Algumas camadas fixas do quiosque usam display definido por classe. Sem esta
   trava, o atributo hidden pode ser sobrescrito pelo CSS e a camada fica invisível
   por cima da interface, capturando todos os toques/cliques. */
body.is-kiosk .kiosk-screensaver[hidden],
body.is-kiosk .fullscreen-gallery[hidden],
body.is-kiosk .modal-shell[hidden],
body.is-kiosk .drawer[hidden],
body.is-kiosk .mobile-menu[hidden],
body.is-kiosk .page-loading[hidden],
body.is-kiosk .kiosk-dock[hidden],
.kiosk-screensaver[hidden],
.fullscreen-gallery[hidden],
.modal-shell[hidden],
.drawer[hidden],
.mobile-menu[hidden],
.page-loading[hidden],
.kiosk-dock[hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Camadas visuais decorativas nunca devem capturar toque. */
body.is-kiosk .catalog-shell::before,
body.is-kiosk .kiosk-hero-panel::before,
body.is-kiosk .kiosk-hero-panel::after,
body.is-kiosk .hero-card__bg,
body.is-kiosk .kiosk-screensaver__bg,
body.is-kiosk .kiosk-screensaver__overlay{
  pointer-events:none!important;
}

/* Quando a proteção de tela estiver realmente aberta, ela volta a receber toque. */
body.is-kiosk .kiosk-screensaver:not([hidden]){
  pointer-events:auto!important;
}

/* Segurança extra: área principal fica acima dos fundos decorativos. */
body.is-kiosk .app-shell,
body.is-kiosk .topbar,
body.is-kiosk .page,
body.is-kiosk .catalog-shell,
body.is-kiosk .search-card,
body.is-kiosk .catalog-grid{
  position:relative;
}
body.is-kiosk .topbar{z-index:120!important;}
body.is-kiosk .page{z-index:2!important;}
body.is-kiosk .search-card{z-index:30!important;}
body.is-kiosk .catalog-grid{z-index:1!important;}


/* ==========================================================================
   Quiosque v21 — topo, filtros práticos e modal/mobile
   Tudo escopado em body.is-kiosk para preservar a loja externa.
   ========================================================================== */
body.is-kiosk{
  padding-top:76px!important;
  overflow-x:hidden!important;
}
body.is-kiosk .topbar{
  top:0!important;
  min-height:76px!important;
  height:76px!important;
  padding:8px clamp(18px,2.8vw,34px)!important;
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) auto minmax(130px,1fr)!important;
  align-items:center!important;
  gap:12px!important;
}
body.is-kiosk .topbar::before{display:none!important;}
body.is-kiosk .topnav,
body.is-kiosk .menu-btn{display:none!important;}
.kiosk-top-clock{display:none;}
body.is-kiosk .kiosk-top-clock{
  display:grid!important;
  justify-self:start!important;
  gap:1px!important;
  line-height:1!important;
}
body.is-kiosk .kiosk-top-clock strong{
  font-size:clamp(1.65rem,2.15vw,2.45rem)!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  font-weight:950!important;
}
body.is-kiosk .kiosk-top-clock span{
  font-size:clamp(.78rem,.9vw,1rem)!important;
  color:#ffe68f!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
body.is-kiosk .brand{
  justify-self:center!important;
  padding:0!important;
  gap:0!important;
}
body.is-kiosk .brand__logo{
  width:clamp(70px,7vw,112px)!important;
  height:52px!important;
  object-fit:contain!important;
}
body.is-kiosk .brand__copy{display:none!important;}
body.is-kiosk .topbar__actions{
  justify-self:end!important;
  margin-left:0!important;
}
body.is-kiosk .page{
  margin-top:clamp(12px,1.4vw,20px)!important;
}

/* Disposição sugerida/aplicada:
   Linha 1: busca + intenção; linha 2: navegação + data + limpar/tela cheia quando couber. */
body.is-kiosk .search-card{
  width:min(100%, var(--kiosk-max, 1480px))!important;
  margin-inline:auto!important;
  padding:clamp(10px,1.05vw,16px)!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main > *{
  min-width:0!important;
  max-width:100%!important;
}
body.is-kiosk .field--search{
  flex:999 1 360px!important;
  min-width:min(100%,320px)!important;
  order:1!important;
}
body.is-kiosk .kiosk-mode-actions{
  order:2!important;
  flex:1 1 330px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(96px,1fr))!important;
  gap:8px!important;
}
body.is-kiosk .kiosk-fullscreen-btn{
  order:3!important;
  flex:0 0 auto!important;
  min-width:158px!important;
  white-space:nowrap!important;
}
body.is-kiosk .kiosk-filter-nav{
  order:4!important;
  flex:1 1 340px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(136px,1fr))!important;
  gap:8px!important;
}
body.is-kiosk .field--date{
  order:5!important;
  flex:0 1 210px!important;
  min-width:188px!important;
}
body.is-kiosk #clearFiltersBtn{
  order:6!important;
  flex:0 0 auto!important;
  min-width:132px!important;
  white-space:nowrap!important;
}
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk #clearFiltersBtn{
  min-height:52px!important;
  justify-content:center!important;
  gap:8px!important;
}
body.is-kiosk .kiosk-filter-nav__icon,
body.is-kiosk .kiosk-mode-actions i,
body.is-kiosk .kiosk-fullscreen-btn i,
body.is-kiosk #clearFiltersBtn i,
body.is-kiosk .kiosk-page-nav i,
body.is-kiosk .kiosk-section-toolbar i{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  display:inline-flex!important;
  padding:0!important;
}
body.is-kiosk .kiosk-filter-nav__icon i{
  color:inherit!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Modal de produto: sem bagunça no mobile e com swipe na imagem */
body.is-kiosk .modal-card--product{
  width:min(96vw,1280px)!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;
}
body.is-kiosk .product-main-wrap{
  touch-action:pan-y!important;
}
body.is-kiosk .product-main-wrap img,
body.is-kiosk #productMainImage{
  cursor:zoom-in!important;
}
@media(max-width:760px){
  body.is-kiosk{padding-top:66px!important;}
  body.is-kiosk .topbar{
    height:66px!important;
    min-height:66px!important;
    grid-template-columns:minmax(112px,1fr) auto minmax(72px,1fr)!important;
    padding:6px 12px!important;
  }
  body.is-kiosk .kiosk-top-clock strong{font-size:1.28rem!important;}
  body.is-kiosk .kiosk-top-clock span{font-size:.62rem!important;}
  body.is-kiosk .brand__logo{width:64px!important;height:42px!important;}
  body.is-kiosk .cartola-fab{width:48px!important;height:48px!important;}
  body.is-kiosk .page{width:min(100% - 16px,720px)!important;margin-top:10px!important;}
  body.is-kiosk .field--search,
  body.is-kiosk .kiosk-mode-actions,
  body.is-kiosk .kiosk-filter-nav,
  body.is-kiosk .field--date,
  body.is-kiosk #clearFiltersBtn,
  body.is-kiosk .kiosk-fullscreen-btn{
    flex-basis:100%!important;
  }
  body.is-kiosk .kiosk-mode-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.is-kiosk .kiosk-filter-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.is-kiosk .modal-shell{padding:8px!important;align-items:center!important;}
  body.is-kiosk .modal-card--product{
    width:calc(100dvw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:22px!important;
  }
  body.is-kiosk .product-modal-body{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:12px!important;
  }
  body.is-kiosk .product-modal-gallery{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.is-kiosk .thumb-column{
    order:2!important;
    display:flex!important;
    overflow-x:auto!important;
    gap:8px!important;
    padding-bottom:4px!important;
  }
  body.is-kiosk .thumb-column button{
    flex:0 0 72px!important;
    width:72px!important;
    height:72px!important;
  }
  body.is-kiosk .product-main-wrap{order:1!important;}
  body.is-kiosk .product-main-wrap img{
    width:100%!important;
    max-height:42dvh!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
    background:#fff!important;
    border-radius:18px!important;
  }
  body.is-kiosk .product-modal-info{gap:10px!important;}
  body.is-kiosk .product-modal-info p{
    font-size:.95rem!important;
    line-height:1.42!important;
  }
}
body.is-kiosk .fullscreen-gallery{
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
body.is-kiosk .fullscreen-gallery__stage{
  width:100dvw!important;
  height:100dvh!important;
  overflow:hidden!important;
}
body.is-kiosk .fullscreen-gallery__figure{touch-action:pan-y!important;}
@media(min-width:1100px){
  body.is-kiosk .search-row--main{gap:12px!important;}
  body.is-kiosk .field--search{flex-basis:520px!important;}
}

/* ========================================================================== 
   Quiosque v22 — topo sem respiro, filtro colapsável, fullscreen mobile e modal limpo
   ========================================================================== */
html:has(body.is-kiosk),
body.is-kiosk{
  margin:0!important;
  padding-top:64px!important;
  background:#090511!important;
  overflow-x:hidden!important;
}
body.is-kiosk .app-shell{padding-top:0!important;}
body.is-kiosk .topbar{
  top:0!important;
  left:0!important;
  right:0!important;
  height:64px!important;
  min-height:64px!important;
  padding:4px clamp(14px,2vw,28px)!important;
  margin:0!important;
  border-top:0!important;
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto minmax(80px,1fr)!important;
  background:rgba(8,5,14,.96)!important;
}
body.is-kiosk .page{
  margin-top:0!important;
  padding-top:clamp(10px,1vw,16px)!important;
}
body.is-kiosk .catalog-shell{gap:clamp(10px,1vw,16px)!important;}
body.is-kiosk .kiosk-top-clock strong{font-size:clamp(1.45rem,1.9vw,2.25rem)!important;}
body.is-kiosk .kiosk-top-clock span{font-size:clamp(.66rem,.82vw,.94rem)!important;}
body.is-kiosk .brand__logo{width:clamp(68px,6vw,104px)!important;height:44px!important;}
body.is-kiosk .cartola-fab,
body.is-kiosk .cartola-fab img{width:48px!important;height:48px!important;}

/* Filtros: duas linhas lógicas, sem ellipsis no mobile, e colapso automático */
body.is-kiosk .search-card{
  position:sticky!important;
  top:calc(64px + env(safe-area-inset-top,0px))!important;
  padding:10px!important;
  overflow:visible!important;
}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(220px,1.6fr) minmax(150px,.55fr) repeat(3,minmax(94px,.38fr))!important;
  grid-auto-rows:minmax(46px,auto)!important;
  gap:8px!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search{order:1!important;grid-column:auto!important;min-width:0!important;}
body.is-kiosk .field--date{order:2!important;grid-column:auto!important;min-width:0!important;}
body.is-kiosk .kiosk-mode-actions{order:3!important;display:contents!important;}
body.is-kiosk .kiosk-mode-actions button{min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-fullscreen-btn{order:4!important;grid-column:auto!important;min-width:0!important;width:100%!important;white-space:nowrap!important;}
body.is-kiosk .kiosk-filter-nav{order:5!important;grid-column:span 2!important;display:grid!important;grid-template-columns:repeat(2,minmax(116px,1fr))!important;gap:8px!important;min-width:0!important;}
body.is-kiosk #clearFiltersBtn{order:6!important;grid-column:auto!important;min-width:0!important;width:100%!important;white-space:nowrap!important;}
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk #clearFiltersBtn{
  min-height:46px!important;
  height:auto!important;
  padding:9px 12px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.12!important;
}
body.is-kiosk .kiosk-filter-nav__btn span,
body.is-kiosk .kiosk-mode-actions button span,
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk #clearFiltersBtn span{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
body.is-kiosk .kiosk-filter-nav__icon{display:inline-flex!important;color:inherit!important;}
body.is-kiosk.kiosk-filters-collapsed .kiosk-fullscreen-btn,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{
  display:none!important;
}
body.is-kiosk.kiosk-filters-collapsed .search-card{padding:8px!important;}
body.is-kiosk.kiosk-filters-collapsed .search-row--main{
  grid-template-columns:minmax(140px,1fr) minmax(130px,.7fr) repeat(3,minmax(70px,.42fr))!important;
}
@media(max-width:980px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(132px,.58fr) repeat(3,minmax(76px,.38fr))!important;
  }
  body.is-kiosk .kiosk-filter-nav{grid-column:span 3!important;}
}
@media(max-width:640px){
  html:has(body.is-kiosk),body.is-kiosk{padding-top:58px!important;}
  body.is-kiosk .topbar{height:58px!important;min-height:58px!important;grid-template-columns:minmax(94px,1fr) auto minmax(54px,1fr)!important;padding:4px 8px!important;}
  body.is-kiosk .kiosk-top-clock strong{font-size:1.08rem!important;}
  body.is-kiosk .kiosk-top-clock span{font-size:.54rem!important;}
  body.is-kiosk .brand__logo{width:52px!important;height:36px!important;}
  body.is-kiosk .cartola-fab,body.is-kiosk .cartola-fab img{width:42px!important;height:42px!important;}
  body.is-kiosk .search-card{top:58px!important;}
  body.is-kiosk .search-row--main{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .field--date{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk #clearFiltersBtn{grid-column:auto!important;}
  body.is-kiosk .kiosk-mode-actions button,
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk #clearFiltersBtn{font-size:.86rem!important;padding-inline:8px!important;}
}

/* Toast da data — também funciona dentro do modal do produto */
body.is-kiosk .kiosk-date-field{position:relative!important;}
body.is-kiosk .kiosk-date-field input{cursor:pointer!important;}
body.is-kiosk .kiosk-date-toast{
  position:absolute!important;
  left:0!important;
  top:calc(100% + 8px)!important;
  z-index:90!important;
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  width:min(360px,calc(100vw - 32px))!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:#07040d!important;
  color:#f6f1ff!important;
  box-shadow:0 14px 40px rgba(0,0,0,.45)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(-4px)!important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  pointer-events:none!important;
  font-size:.9rem!important;
  line-height:1.25!important;
}
body.is-kiosk .kiosk-date-toast.is-visible{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;}
body.is-kiosk .kiosk-modal-date-field .kiosk-date-toast{top:auto!important;bottom:calc(100% + 8px)!important;}

/* Fullscreen blindado contra barras do browser mobile */
body.is-kiosk .fullscreen-gallery[hidden]{display:none!important;}
body.is-kiosk .fullscreen-gallery{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100svh!important;
  padding:0!important;
  margin:0!important;
  background:#07040d!important;
  overflow:hidden!important;
  z-index:260!important;
}
body.is-kiosk .fullscreen-gallery__stage{
  position:relative!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100svh!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
  background:#07040d!important;
}
body.is-kiosk .fullscreen-gallery__figure{
  grid-row:1/3!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  background:#07040d!important;
  overflow:hidden!important;
}
body.is-kiosk .fullscreen-gallery__figure img,
body.is-kiosk #fullscreenGalleryImage{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  background:#fff!important;
}
body.is-kiosk .fullscreen-gallery__caption{
  position:relative!important;
  z-index:4!important;
  background:#0f0818!important;
  text-align:center!important;
  padding:12px clamp(16px,3vw,38px) calc(12px + env(safe-area-inset-bottom,0px))!important;
}
body.is-kiosk .fullscreen-gallery__close{position:absolute!important;top:calc(12px + env(safe-area-inset-top,0px))!important;right:12px!important;z-index:6!important;}
body.is-kiosk .fullscreen-gallery__controls{position:absolute!important;top:calc(12px + env(safe-area-inset-top,0px))!important;right:68px!important;left:auto!important;bottom:auto!important;z-index:6!important;}
body.is-kiosk .fullscreen-gallery__controls .soft-btn{height:48px!important;min-width:112px!important;white-space:nowrap!important;background:#07040d!important;}
body.is-kiosk .fullscreen-gallery__nav{z-index:6!important;}
@media(max-width:640px){
  body.is-kiosk .fullscreen-gallery__controls{right:62px!important;}
  body.is-kiosk .fullscreen-gallery__controls .soft-btn{min-width:52px!important;width:52px!important;padding:0!important;}
  body.is-kiosk .fullscreen-gallery__controls .soft-btn span{display:none!important;}
}

/* Modal do produto mobile: foto e conteúdo separados, sem sobreposição */
body.is-kiosk .modal-card--product{overflow:hidden!important;}
body.is-kiosk .modal-card--product .modal-body{overflow:auto!important;max-height:calc(100dvh - 88px)!important;}
body.is-kiosk .product-modal-body{align-items:start!important;}
body.is-kiosk .product-main-wrap{position:relative!important;z-index:1!important;}
body.is-kiosk .product-modal-info{position:relative!important;z-index:2!important;}
@media(max-width:760px){
  body.is-kiosk .modal-shell#productModal{padding:8px!important;align-items:center!important;}
  body.is-kiosk .modal-card--product{
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    height:auto!important;
    border-radius:22px!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  body.is-kiosk .modal-card--product .modal-head{position:relative!important;top:auto!important;}
  body.is-kiosk .modal-card--product .modal-body{
    min-height:0!important;
    overflow:auto!important;
    padding:0!important;
    max-height:none!important;
  }
  body.is-kiosk .product-modal-body{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:0!important;
  }
  body.is-kiosk .product-modal-gallery{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
    background:#0b0712!important;
  }
  body.is-kiosk .product-main-wrap img,
  body.is-kiosk #productMainImage{
    width:100%!important;
    height:min(48dvh,460px)!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    background:#fff!important;
    border-radius:18px!important;
  }
  body.is-kiosk .thumb-column{
    display:flex!important;
    order:2!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding:0 0 4px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.is-kiosk .thumb-column button{flex:0 0 68px!important;width:68px!important;height:68px!important;}
  body.is-kiosk .product-modal-info{
    padding:12px!important;
    display:grid!important;
    gap:10px!important;
    background:#120d1d!important;
  }
  body.is-kiosk .modal-footer--product{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:8px!important;}
  body.is-kiosk .modal-footer--product .soft-btn{min-width:44px!important;}
}


/* ========================================================================== 
   Quiosque v23 — base ERP_MAGIC_12: topo, filtros, fullscreen e modal mobile
   ========================================================================== */
/* Topo sem respiro morto. Mantém a loja externa intacta. */
html:has(body.is-kiosk),
body.is-kiosk{
  margin:0!important;
  padding-top:62px!important;
  overflow-x:hidden!important;
  background:#08050f!important;
}
body.is-kiosk .app-shell,
body.is-kiosk .page,
body.is-kiosk main#page{
  margin-top:0!important;
}
body.is-kiosk .topbar{
  top:0!important;
  transform:none!important;
  height:62px!important;
  min-height:62px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  align-items:center!important;
  border-top:0!important;
}
body.is-kiosk .topbar::after{display:none!important;}
body.is-kiosk .topbar::before{display:block!important;top:auto!important;bottom:0!important;height:1px!important;}
body.is-kiosk .kiosk-top-clock{align-self:center!important;}
body.is-kiosk .brand{align-self:center!important;}
body.is-kiosk .topbar__actions{align-self:center!important;}
body.is-kiosk .catalog-shell{padding-top:0!important;}

/* Filtros: ordem prática, sem reticências, colapsável e sem sobrepor. */
body.is-kiosk .search-card{
  position:sticky!important;
  top:62px!important;
  z-index:65!important;
  width:min(100%,var(--kiosk-max,1500px))!important;
  max-width:100%!important;
  overflow:visible!important;
  padding:10px!important;
}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(230px,1fr) minmax(158px,.42fr) repeat(3,minmax(96px,.28fr))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(46px,auto)!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
body.is-kiosk .field--search{grid-column:auto!important;order:1!important;min-width:0!important;}
body.is-kiosk .field--date{grid-column:auto!important;order:2!important;min-width:0!important;}
body.is-kiosk .kiosk-mode-actions{display:contents!important;order:3!important;}
body.is-kiosk .kiosk-mode-actions button{width:100%!important;min-width:0!important;}
body.is-kiosk .kiosk-fullscreen-btn{grid-column:auto!important;order:6!important;min-width:150px!important;width:100%!important;white-space:nowrap!important;}
body.is-kiosk .kiosk-filter-nav{
  grid-column:span 2!important;
  order:7!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(124px,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
body.is-kiosk #clearFiltersBtn{grid-column:auto!important;order:8!important;min-width:112px!important;width:100%!important;}
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk #clearFiltersBtn{
  min-height:46px!important;
  padding:8px 10px!important;
  justify-content:center!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.12!important;
  gap:7px!important;
}
body.is-kiosk .kiosk-filter-nav__btn span,
body.is-kiosk .kiosk-mode-actions button span,
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk #clearFiltersBtn span{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
/* Ícones simples nos botões de navegação; os cards de categoria/tema mantêm o ícone visual deles. */
body.is-kiosk .kiosk-filter-nav__icon,
body.is-kiosk .kiosk-page-nav i,
body.is-kiosk .kiosk-section-toolbar i,
body.is-kiosk .kiosk-mode-actions i,
body.is-kiosk .kiosk-fullscreen-btn i,
body.is-kiosk #clearFiltersBtn i{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  padding:0!important;
  display:inline-flex!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
body.is-kiosk .kiosk-filter-nav__icon i{color:inherit!important;background:none!important;}
/* Colapso: mantém busca + data + intenção visíveis, esconde linha auxiliar. */
body.is-kiosk.kiosk-filters-collapsed .kiosk-fullscreen-btn,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{display:none!important;}
body.is-kiosk.kiosk-filters-collapsed .search-card{padding:8px!important;}
body.is-kiosk.kiosk-filters-collapsed .search-row--main{
  grid-template-columns:minmax(150px,1fr) minmax(132px,.6fr) repeat(3,minmax(76px,.38fr))!important;
}
@media(max-width:1100px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(138px,.55fr) repeat(3,minmax(78px,.36fr))!important;
  }
  body.is-kiosk .kiosk-filter-nav{grid-column:span 3!important;}
}
@media(max-width:640px){
  html:has(body.is-kiosk),body.is-kiosk{padding-top:56px!important;}
  body.is-kiosk .topbar{height:56px!important;min-height:56px!important;}
  body.is-kiosk .search-card{top:56px!important;}
  body.is-kiosk .search-row--main{grid-template-columns:1fr 1fr 1fr!important;}
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .field--date{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk #clearFiltersBtn{grid-column:auto!important;}
  body.is-kiosk .kiosk-mode-actions button,
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk #clearFiltersBtn,
  body.is-kiosk .kiosk-filter-nav__btn{font-size:.9rem!important;}
}

/* Campo de data do modal igual ao do filtro. */
body.is-kiosk .kiosk-date-field{position:relative!important;}
body.is-kiosk .kiosk-date-field input{cursor:pointer!important;padding-left:14px!important;}
body.is-kiosk .kiosk-date-field > i{display:none!important;}
body.is-kiosk .kiosk-date-toast{z-index:220!important;}

/* Fullscreen ocupa a viewport real e trava o fundo, inclusive quando a barra do navegador mobile muda. */
body.is-fullscreen-gallery-open{overflow:hidden!important;touch-action:none!important;}
body.is-kiosk .fullscreen-gallery[hidden]{display:none!important;}
body.is-kiosk .fullscreen-gallery{
  position:fixed!important;
  inset:0!important;
  width:100dvw!important;
  height:100dvh!important;
  min-height:100svh!important;
  padding:0!important;
  margin:0!important;
  background:#07040d!important;
  z-index:300!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
body.is-kiosk .fullscreen-gallery__stage{
  width:100dvw!important;
  height:100dvh!important;
  min-height:100svh!important;
  max-height:100dvh!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
  background:#07040d!important;
}
body.is-kiosk .fullscreen-gallery__figure{
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  grid-row:1/3!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
}
body.is-kiosk #fullscreenGalleryImage{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:contain!important;
  background:#fff!important;
}
body.is-kiosk .fullscreen-gallery__caption{
  position:relative!important;
  z-index:4!important;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))!important;
  background:#0f0818!important;
  text-align:center!important;
}
body.is-kiosk .fullscreen-gallery__close,
body.is-kiosk .fullscreen-gallery__controls{
  top:calc(10px + env(safe-area-inset-top,0px))!important;
  z-index:8!important;
}
body.is-kiosk .fullscreen-gallery__close{right:10px!important;}
body.is-kiosk .fullscreen-gallery__controls{position:absolute!important;right:64px!important;left:auto!important;bottom:auto!important;}
body.is-kiosk .fullscreen-gallery__controls .soft-btn{height:46px!important;min-width:106px!important;white-space:nowrap!important;background:#07040d!important;}
@media(max-width:640px){
  body.is-kiosk .fullscreen-gallery__controls{right:62px!important;}
  body.is-kiosk .fullscreen-gallery__controls .soft-btn{min-width:48px!important;width:48px!important;padding:0!important;}
  body.is-kiosk .fullscreen-gallery__controls .soft-btn span{display:none!important;}
}

/* Modal do produto mobile organizado: foto, thumbnails e infos nunca se sobrepõem. */
body.is-kiosk .modal-card--product{overflow:hidden!important;}
body.is-kiosk .modal-card--product .modal-body{overflow:auto!important;max-height:calc(100dvh - 88px)!important;}
@media(max-width:760px){
  body.is-kiosk .modal-shell#productModal{padding:8px!important;align-items:center!important;}
  body.is-kiosk .modal-card--product{
    width:calc(100dvw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    height:auto!important;
    border-radius:22px!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  body.is-kiosk .modal-card--product .modal-head{position:relative!important;top:auto!important;}
  body.is-kiosk .modal-card--product .modal-body{padding:0!important;min-height:0!important;overflow:auto!important;max-height:none!important;}
  body.is-kiosk .product-modal-body{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0!important;}
  body.is-kiosk .product-modal-gallery{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important;background:#0b0712!important;}
  body.is-kiosk .product-main-wrap{order:1!important;position:relative!important;z-index:1!important;}
  body.is-kiosk #productMainImage{width:100%!important;height:min(48dvh,460px)!important;object-fit:contain!important;background:#fff!important;border-radius:18px!important;}
  body.is-kiosk .thumb-column{order:2!important;display:flex!important;gap:8px!important;overflow-x:auto!important;padding:0 0 4px!important;-webkit-overflow-scrolling:touch!important;}
  body.is-kiosk .thumb-column button{flex:0 0 68px!important;width:68px!important;height:68px!important;}
  body.is-kiosk .product-modal-info{position:relative!important;z-index:2!important;padding:12px!important;display:grid!important;gap:10px!important;background:#120d1d!important;}
  body.is-kiosk .modal-footer--product{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:8px!important;}
}


/* ========================================================================== 
   Quiosque v24 — topo sem espaço, filtros robustos, fullscreen e modal mobile
   Mantém a loja externa preservada: tudo escopado em body.is-kiosk.
   ========================================================================== */
html:has(body.is-kiosk),
body.is-kiosk{
  margin:0!important;
  padding-top:58px!important;
  overflow-x:hidden!important;
}
body.is-kiosk .app-shell,
body.is-kiosk main#page,
body.is-kiosk .page{
  margin-top:0!important;
  padding-top:0!important;
}
body.is-kiosk .topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 clamp(10px,1.6vw,28px)!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(120px,1fr) auto minmax(70px,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  border-top:0!important;
  z-index:180!important;
}
body.is-kiosk .topbar::after{display:none!important;}
body.is-kiosk .topbar::before{display:block!important;top:auto!important;bottom:0!important;height:1px!important;}
body.is-kiosk .topnav,
body.is-kiosk .menu-btn{display:none!important;}
body.is-kiosk .kiosk-top-clock{
  display:grid!important;
  justify-self:start!important;
  align-self:center!important;
  gap:0!important;
  line-height:1!important;
}
body.is-kiosk .kiosk-top-clock strong{
  font-size:clamp(1.15rem,1.75vw,1.8rem)!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
  color:#fff!important;
}
body.is-kiosk .kiosk-top-clock span{
  font-size:clamp(.55rem,.72vw,.82rem)!important;
  color:#ffe68f!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
body.is-kiosk .brand{
  justify-self:center!important;
  align-self:center!important;
  padding:0!important;
  gap:0!important;
  min-width:0!important;
}
body.is-kiosk .brand__logo{
  width:clamp(58px,5.2vw,88px)!important;
  height:44px!important;
  object-fit:contain!important;
}
body.is-kiosk .brand__copy{display:none!important;}
body.is-kiosk .topbar__actions{
  justify-self:end!important;
  align-self:center!important;
  margin-left:0!important;
}
body.is-kiosk .cartola-fab,
body.is-kiosk .cartola-fab img{
  width:46px!important;
  height:46px!important;
}
body.is-kiosk .catalog-shell{gap:12px!important;padding-top:0!important;}

/* Filtros: evita sobreposição e segue a lógica prática para touch.
   Linha 1: busca / data / ver tudo / alugar / comprar
   Linha 2: tela cheia / categorias / temas / limpar */
body.is-kiosk .search-card{
  position:sticky!important;
  top:58px!important;
  z-index:70!important;
  width:min(100%, var(--kiosk-max, 1500px))!important;
  margin:0 auto 12px!important;
  padding:10px!important;
  overflow:visible!important;
  border-radius:22px!important;
}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(260px,1.6fr) minmax(132px,.72fr) repeat(3,minmax(82px,.44fr))!important;
  grid-auto-rows:minmax(44px,auto)!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
body.is-kiosk .field--search{order:1!important;grid-column:1/2!important;min-width:0!important;}
body.is-kiosk .field--date{order:2!important;grid-column:2/3!important;min-width:0!important;}
body.is-kiosk .kiosk-mode-actions{display:contents!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1){order:3!important;grid-column:3/4!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(2){order:4!important;grid-column:4/5!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(3){order:5!important;grid-column:5/6!important;}
body.is-kiosk .kiosk-fullscreen-btn{order:6!important;grid-column:1/2!important;min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-filter-nav{
  order:7!important;
  grid-column:2/5!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
body.is-kiosk #clearFiltersBtn{order:8!important;grid-column:5/6!important;min-width:0!important;width:100%!important;}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height:44px!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:normal!important;
  line-height:1.1!important;
  padding:8px 10px!important;
  text-align:center!important;
}
body.is-kiosk .kiosk-filter-nav__btn > .bi-arrow-right-short{display:none!important;}
body.is-kiosk .kiosk-filter-nav__copy strong,
body.is-kiosk .kiosk-filter-nav__copy,
body.is-kiosk .kiosk-mode-actions button span,
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk #clearFiltersBtn span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-width:0!important;
}
body.is-kiosk .kiosk-filter-nav__icon,
body.is-kiosk .kiosk-filter-nav__icon i,
body.is-kiosk .kiosk-page-nav i,
body.is-kiosk .kiosk-section-toolbar i,
body.is-kiosk .kiosk-mode-actions i,
body.is-kiosk .kiosk-fullscreen-btn i,
body.is-kiosk #clearFiltersBtn i{
  width:auto!important;height:auto!important;min-width:0!important;border:0!important;border-radius:0!important;
  padding:0!important;background:none!important;box-shadow:none!important;color:inherit!important;
  -webkit-text-fill-color:currentColor!important;display:inline-flex!important;flex:0 0 auto!important;
}
/* Colapso por rolagem: mantém a primeira linha útil, esconde auxiliares. */
body.is-kiosk.kiosk-filters-collapsed .kiosk-fullscreen-btn,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{display:none!important;}
body.is-kiosk.kiosk-filters-collapsed .search-card{padding:8px!important;}
body.is-kiosk.kiosk-filters-collapsed .search-row--main{
  grid-template-columns:minmax(190px,1.4fr) minmax(126px,.75fr) repeat(3,minmax(74px,.44fr))!important;
}
@media(max-width:1180px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(122px,.55fr) repeat(3,minmax(72px,.38fr))!important;
  }
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:2/5!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:5/6!important;}
}
@media(max-width:700px){
  html:has(body.is-kiosk),body.is-kiosk{padding-top:52px!important;}
  body.is-kiosk .topbar{height:52px!important;min-height:52px!important;padding-inline:8px!important;grid-template-columns:minmax(76px,1fr) auto minmax(46px,1fr)!important;}
  body.is-kiosk .kiosk-top-clock strong{font-size:1rem!important;}
  body.is-kiosk .kiosk-top-clock span{font-size:.52rem!important;letter-spacing:.04em!important;}
  body.is-kiosk .brand__logo{width:52px!important;height:34px!important;}
  body.is-kiosk .cartola-fab,body.is-kiosk .cartola-fab img{width:40px!important;height:40px!important;}
  body.is-kiosk .search-card{top:52px!important;padding:8px!important;}
  body.is-kiosk .search-row--main{grid-template-columns:1fr 1fr 1fr!important;gap:7px!important;}
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .field--date{grid-column:1/2!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:1/2!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:2/3!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:3/4!important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:2/4!important;}
  body.is-kiosk .kiosk-mode-actions button,
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk .kiosk-filter-nav__btn,
  body.is-kiosk #clearFiltersBtn{font-size:.88rem!important;padding-inline:8px!important;}
}

/* Fullscreen sem buracos e com Play/Pause no topo como botão redondo. */
body.is-fullscreen-gallery-open{overflow:hidden!important;touch-action:none!important;overscroll-behavior:none!important;}
body.is-kiosk .fullscreen-gallery[hidden]{display:none!important;}
body.is-kiosk .fullscreen-gallery{
  position:fixed!important;inset:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;min-height:100svh!important;
  padding:0!important;margin:0!important;background:#07040d!important;z-index:320!important;overflow:hidden!important;overscroll-behavior:contain!important;
}
body.is-kiosk .fullscreen-gallery__stage{
  position:relative!important;width:100%!important;height:100%!important;min-height:100svh!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;overflow:hidden!important;background:#07040d!important;
}
body.is-kiosk .fullscreen-gallery__figure{margin:0!important;width:100%!important;height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;grid-row:1/3!important;overflow:hidden!important;touch-action:pan-y!important;}
body.is-kiosk #fullscreenGalleryImage{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;background:#fff!important;}
body.is-kiosk .fullscreen-gallery__caption{position:relative!important;z-index:4!important;width:100%!important;max-width:100%!important;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))!important;background:#0f0818!important;text-align:center!important;overflow:hidden!important;}
body.is-kiosk .fullscreen-gallery__caption strong,
body.is-kiosk .fullscreen-gallery__caption small{display:block!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;}
body.is-kiosk .fullscreen-gallery__close,
body.is-kiosk .fullscreen-gallery__play{position:absolute!important;top:calc(10px + env(safe-area-inset-top,0px))!important;z-index:9!important;width:50px!important;height:50px!important;border-radius:16px!important;background:#07040d!important;}
body.is-kiosk .fullscreen-gallery__close{right:10px!important;}
body.is-kiosk .fullscreen-gallery__play{right:68px!important;}
body.is-kiosk .fullscreen-gallery__controls{position:absolute!important;top:0!important;right:0!important;left:auto!important;bottom:auto!important;padding:0!important;margin:0!important;z-index:9!important;}
body.is-kiosk .fullscreen-gallery__controls .soft-btn,
body.is-kiosk .fullscreen-gallery__controls .icon-btn{width:50px!important;height:50px!important;min-width:50px!important;padding:0!important;background:#07040d!important;}
body.is-kiosk .fullscreen-gallery__controls span{display:none!important;}
body.is-kiosk .fullscreen-gallery__nav{z-index:8!important;}

/* Modal de produto mobile: imagem em bloco próprio, conteúdo abaixo, sem sobreposição. */
@media(max-width:760px){
  body.is-kiosk .modal-shell#productModal{padding:0!important;align-items:stretch!important;justify-items:stretch!important;place-items:stretch!important;}
  body.is-kiosk .modal-card--product{width:100dvw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;}
  body.is-kiosk .modal-card--product .modal-head{position:relative!important;top:auto!important;grid-row:1!important;z-index:5!important;}
  body.is-kiosk .modal-card--product .modal-body{grid-row:2!important;padding:0!important;min-height:0!important;max-height:none!important;height:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;}
  body.is-kiosk .product-modal-body{display:block!important;padding:0!important;min-height:0!important;}
  body.is-kiosk .product-modal-gallery{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important;background:#0b0712!important;position:relative!important;z-index:1!important;}
  body.is-kiosk .product-main-wrap{order:1!important;position:relative!important;z-index:1!important;display:block!important;}
  body.is-kiosk #productMainImage{display:block!important;width:100%!important;height:min(50dvh,520px)!important;object-fit:contain!important;background:#fff!important;border-radius:18px!important;}
  body.is-kiosk .thumb-column{order:2!important;display:flex!important;grid-auto-flow:unset!important;grid-template-columns:none!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 4px!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x proximity!important;}
  body.is-kiosk .thumb-column button{flex:0 0 70px!important;width:70px!important;height:70px!important;scroll-snap-align:start!important;}
  body.is-kiosk .product-modal-info{position:relative!important;z-index:2!important;display:grid!important;gap:10px!important;padding:12px!important;background:#120d1d!important;}
  body.is-kiosk .product-modal-info p{font-size:.94rem!important;line-height:1.45!important;}
  body.is-kiosk .modal-footer--product{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:8px!important;}
}


/* ========================================================================== 
   Quiosque v25 — home/cards/filtros/fullscreen estáveis
   Escopo fechado em body.is-kiosk para preservar a loja externa.
   ========================================================================== */
body.is-kiosk{
  --kiosk-max: min(calc(100vw - clamp(18px,3vw,72px)), 1920px) !important;
  --kiosk-page-pad-x: clamp(12px,2vw,44px);
}
body.is-kiosk .page,
body.is-kiosk main#page{
  width:100%!important;
  max-width:none!important;
  padding-left:var(--kiosk-page-pad-x)!important;
  padding-right:var(--kiosk-page-pad-x)!important;
  box-sizing:border-box!important;
}
body.is-kiosk .catalog-shell,
body.is-kiosk #screen-catalogo,
body.is-kiosk .kiosk-info-screen,
body.is-kiosk #screen-categorias,
body.is-kiosk #screen-temas,
body.is-kiosk #screen-faq,
body.is-kiosk #screen-pagamentos,
body.is-kiosk #screen-como-alugar{
  width:100%!important;
  max-width:none!important;
}
body.is-kiosk .catalog-shell > *,
body.is-kiosk .kiosk-info-screen > *,
body.is-kiosk #screen-categorias > *,
body.is-kiosk #screen-temas > *,
body.is-kiosk #screen-faq > *{
  width:min(100%, var(--kiosk-max))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:700px){
  body.is-kiosk{--kiosk-page-pad-x:8px;--kiosk-max:calc(100vw - 16px)!important;}
}

/* Hero: altura pelo conteúdo e imagem de fundo legível. */
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;
  height:auto!important;
  padding:clamp(20px,2.6vw,42px)!important;
  align-content:start!important;
  overflow:hidden!important;
}
body.is-kiosk .kiosk-hero-panel__bg-img,
body.is-kiosk .kiosk-hero-panel .kiosk-hero-bg-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:.28!important;
  filter:saturate(1.05) contrast(1.05)!important;
  pointer-events:none!important;
  z-index:0!important;
}
body.is-kiosk .kiosk-hero-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(8,5,14,.94),rgba(8,5,14,.74) 48%,rgba(8,5,14,.45))!important;
}
body.is-kiosk .kiosk-hero-panel__copy,
body.is-kiosk .kiosk-hero-panel__steps{position:relative!important;z-index:2!important;}

/* Cards da capa: card inteiro clicável, sem botões redundantes. */
body.is-kiosk .kiosk-guide-card[data-screen]{cursor:pointer!important;transition:background .18s ease,border-color .18s ease,transform .18s ease!important;}
body.is-kiosk .kiosk-guide-card[data-screen]:hover,
body.is-kiosk .kiosk-guide-card[data-screen]:focus-visible{
  background:#07040d!important;
  border-color:rgba(255,255,255,.18)!important;
  transform:translateY(-1px)!important;
}
body.is-kiosk .kiosk-guide-card .kiosk-info-link{display:none!important;}
body.is-kiosk .kiosk-payment-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
body.is-kiosk .kiosk-payment-buttons span{
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#dcd3ea!important;
  font-size:clamp(.78rem,.82vw,.94rem)!important;
  font-weight:800!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
body.is-kiosk .kiosk-payment-buttons span i{color:#ffe68f!important;}

/* Filtros: data sempre visível na home/catálogo e componentes sem estouro. */
body.is-kiosk .search-card{
  width:min(100%, var(--kiosk-max))!important;
  max-width:var(--kiosk-max)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(220px,1.35fr) minmax(142px,.62fr) repeat(3,minmax(82px,.36fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search{grid-column:auto!important;order:1!important;}
body.is-kiosk .field--date{display:flex!important;visibility:visible!important;grid-column:auto!important;order:2!important;min-width:0!important;}
body.is-kiosk .kiosk-mode-actions{display:contents!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1){order:3!important;grid-column:auto!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(2){order:4!important;grid-column:auto!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(3){order:5!important;grid-column:auto!important;}
body.is-kiosk .kiosk-fullscreen-btn{order:6!important;grid-column:1/2!important;white-space:nowrap!important;}
body.is-kiosk .kiosk-filter-nav{order:7!important;grid-column:2/5!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
body.is-kiosk #clearFiltersBtn{order:8!important;grid-column:5/6!important;}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk #clearFiltersBtn{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.is-kiosk .kiosk-fullscreen-btn span{white-space:nowrap!important;word-break:keep-all!important;}
@media(max-width:980px){
  body.is-kiosk .search-row--main{grid-template-columns:1fr 1fr 1fr!important;}
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .field--date{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:1/2!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:2/4!important;}
}
@media(max-width:520px){
  body.is-kiosk .search-row--main{grid-template-columns:1fr 1fr!important;gap:7px!important;}
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .field--date{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:1/2!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:2/3!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:1/2!important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:2/3!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:1/-1!important;}
}

/* Fullscreen: legenda dentro da tela, centralizada, estilo protetor de tela. */
body.is-kiosk .fullscreen-gallery,
body.is-kiosk .fullscreen-gallery__stage,
body.is-kiosk .fullscreen-gallery__figure{box-sizing:border-box!important;}
body.is-kiosk .fullscreen-gallery__stage{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
}
body.is-kiosk .fullscreen-gallery__figure{
  grid-row:1 / 3!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  min-height:0!important;
}
body.is-kiosk #fullscreenGalleryImage{
  grid-row:1!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body.is-kiosk .fullscreen-gallery__caption{
  grid-row:2!important;
  position:relative!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  justify-items:center!important;
  gap:4px!important;
  padding:clamp(12px,1.5vw,22px) clamp(16px,3vw,44px) calc(clamp(12px,1.5vw,22px) + env(safe-area-inset-bottom,0px))!important;
  background:#0f0818!important;
  border-radius:0!important;
  border-left:0!important;border-right:0!important;border-bottom:0!important;
  text-align:center!important;
  overflow:hidden!important;
}
body.is-kiosk .fullscreen-gallery__caption strong,
body.is-kiosk .fullscreen-gallery__caption small,
body.is-kiosk .fullscreen-gallery__caption span{
  max-width:min(100%,900px)!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
}


/* ========================================================================== 
   Quiosque v26 — colapso manual, hero card, páginas info e fullscreen discreto
   Escopo fechado em body.is-kiosk.
   ========================================================================== */
html:has(body.is-kiosk),
body.is-kiosk{
  margin:0!important;
  padding-top:var(--kiosk-topbar-h,58px)!important;
  overflow-x:hidden!important;
}
body.is-kiosk .app-shell,
body.is-kiosk .page,
body.is-kiosk main#page,
body.is-kiosk .catalog-shell{
  margin-top:0!important;
  padding-top:0!important;
}
body.is-kiosk .topbar{
  top:0!important;
  height:var(--kiosk-topbar-h,58px)!important;
  min-height:var(--kiosk-topbar-h,58px)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  align-items:center!important;
}
body.is-kiosk .topbar::after{display:none!important;}
body.is-kiosk .topbar::before{top:auto!important;bottom:0!important;}
body.is-kiosk #screen-catalogo.screen.is-active,
body.is-kiosk #screen-catalogo .catalog-shell{
  padding-top:0!important;
}

/* Hero como card normal: altura do conteúdo + fundo de produto discreto */
body.is-kiosk .kiosk-hero-panel{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding:clamp(18px,2vw,34px)!important;
  border-radius:clamp(18px,2vw,30px)!important;
  align-content:start!important;
  overflow:hidden!important;
  display:grid!important;
  gap:clamp(8px,1vw,14px)!important;
  background:linear-gradient(135deg,rgba(18,13,28,.88),rgba(33,22,54,.86))!important;
}
body.is-kiosk .kiosk-hero-panel h1{
  font-size:clamp(2rem,3.1vw,4rem)!important;
  line-height:.98!important;
  max-width:15ch!important;
}
body.is-kiosk .kiosk-hero-panel p{
  font-size:clamp(1rem,1.15vw,1.35rem)!important;
  max-width:58ch!important;
  line-height:1.38!important;
}
body.is-kiosk .kiosk-hero-panel__bg-img,
body.is-kiosk .kiosk-hero-panel .kiosk-hero-bg-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:.23!important;
  filter:saturate(1.05) contrast(1.05)!important;
  pointer-events:none!important;
  z-index:0!important;
}
body.is-kiosk .kiosk-hero-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(8,5,14,.94),rgba(8,5,14,.72) 52%,rgba(8,5,14,.38))!important;
}
body.is-kiosk .kiosk-hero-panel__copy,
body.is-kiosk .kiosk-hero-panel__steps{position:relative!important;z-index:2!important;}

/* Card de filtros com colapso manual */
body.is-kiosk .search-card{
  position:sticky!important;
  top:var(--kiosk-topbar-h,58px)!important;
  z-index:120!important;
  padding:clamp(10px,1vw,16px)!important;
  overflow:visible!important;
}
body.is-kiosk .kiosk-filter-collapse-toggle{
  position:absolute!important;
  right:clamp(8px,1vw,14px)!important;
  top:calc(-1 * clamp(15px,1.2vw,20px))!important;
  z-index:4!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  background:linear-gradient(#090512,#090512) padding-box,var(--kiosk-btn-line) border-box!important;
  color:#fff!important;
  font-weight:900!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
body.is-kiosk .kiosk-filter-collapse-toggle:hover,
body.is-kiosk .kiosk-filter-collapse-toggle:active,
body.is-kiosk .kiosk-filter-collapse-toggle:focus-visible{
  background:#000!important;
  border-color:transparent!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.22)!important;
}
body.is-kiosk.kiosk-filters-collapsed .search-card{
  padding:8px!important;
  min-height:48px!important;
}
body.is-kiosk.kiosk-filters-collapsed .search-row--main,
body.is-kiosk.kiosk-filters-collapsed .search-row--advanced,
body.is-kiosk.kiosk-filters-collapsed .cep-route-notice,
body.is-kiosk.kiosk-filters-collapsed .catalog-context-bar{
  display:none!important;
}
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  width:100%!important;
  min-height:42px!important;
}

/* Filtros: busca/data/modo na primeira linha, complementares abaixo. */
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(220px,1.45fr) minmax(142px,.55fr) repeat(3,minmax(92px,.34fr))!important;
  gap:clamp(8px,.75vw,12px)!important;
  align-items:stretch!important;
}
body.is-kiosk .field--search{order:1!important;grid-column:auto!important;}
body.is-kiosk .field--date{order:2!important;grid-column:auto!important;display:flex!important;visibility:visible!important;}
body.is-kiosk .kiosk-mode-actions{display:contents!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1){order:3!important;grid-column:auto!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(2){order:4!important;grid-column:auto!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(3){order:5!important;grid-column:auto!important;}
body.is-kiosk .kiosk-fullscreen-btn{order:6!important;grid-column:1/2!important;}
body.is-kiosk .kiosk-filter-nav{order:7!important;grid-column:2/5!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(8px,.75vw,12px)!important;}
body.is-kiosk #clearFiltersBtn{order:8!important;grid-column:5/6!important;}
body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk #clearFiltersBtn{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:980px){
  html:has(body.is-kiosk),body.is-kiosk{--kiosk-topbar-h:54px!important;padding-top:var(--kiosk-topbar-h)!important;}
  body.is-kiosk .search-row--main{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .field--date{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:1/2!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:2/3!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:1/2!important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:2/3!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-mode-actions button,
  body.is-kiosk .kiosk-fullscreen-btn,
  body.is-kiosk .kiosk-filter-nav__btn,
  body.is-kiosk #clearFiltersBtn{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.1!important;}
}

/* Cards de Como alugar/Pagamentos iguais ao padrão visual do FAQ. */
body.is-kiosk .kiosk-rich-grid .about-card,
body.is-kiosk .kiosk-payment-page-grid .about-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-areas:"icon title" "icon text"!important;
  align-items:start!important;
  gap:8px 14px!important;
  text-align:left!important;
  padding:clamp(14px,1.35vw,22px)!important;
  min-height:0!important;
}
body.is-kiosk .kiosk-rich-grid .about-card .about-card__icon,
body.is-kiosk .kiosk-payment-page-grid .about-card .about-card__icon{grid-area:icon!important;margin:0!important;}
body.is-kiosk .kiosk-rich-grid .about-card h3,
body.is-kiosk .kiosk-payment-page-grid .about-card h3{grid-area:title!important;margin:0!important;text-align:left!important;align-self:end!important;}
body.is-kiosk .kiosk-rich-grid .about-card p,
body.is-kiosk .kiosk-payment-page-grid .about-card p{grid-area:text!important;margin:0!important;text-align:left!important;line-height:1.42!important;}
@media(max-width:620px){
  body.is-kiosk .kiosk-rich-grid .about-card,
  body.is-kiosk .kiosk-payment-page-grid .about-card{grid-template-columns:auto minmax(0,1fr)!important;}
}

/* Fullscreen aprovado: apenas botões mais discretos. */
body.is-kiosk .fullscreen-gallery__close,
body.is-kiosk .fullscreen-gallery__play,
body.is-kiosk .fullscreen-gallery__nav{
  background:rgba(7,4,13,.62)!important;
  border-color:rgba(255,255,255,.16)!important;
  backdrop-filter:blur(10px)!important;
  opacity:.88!important;
  box-shadow:0 10px 26px rgba(0,0,0,.22)!important;
}
body.is-kiosk .fullscreen-gallery__close:hover,
body.is-kiosk .fullscreen-gallery__play:hover,
body.is-kiosk .fullscreen-gallery__nav:hover{
  background:rgba(0,0,0,.82)!important;
  opacity:1!important;
}


/* ========================================================================== 
   Quiosque v27 — topo sem sobra, botão de filtros compacto e pagamentos sem cara de botão
   Escopo restrito ao modo quiosque.
   ========================================================================== */
body.is-kiosk{
  --kiosk-topbar-h: clamp(44px, 5.2vh, 58px) !important;
  padding-top: var(--kiosk-topbar-h) !important;
}
body.is-kiosk .app-shell{padding-top:0!important;margin-top:0!important;}
body.is-kiosk .topbar{
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:var(--kiosk-topbar-h)!important;
  min-height:var(--kiosk-topbar-h)!important;
  max-height:var(--kiosk-topbar-h)!important;
  margin:0!important;
  padding:0 clamp(10px,1.7vw,22px)!important;
}
body.is-kiosk .page,
body.is-kiosk main#page,
body.is-kiosk #screen-catalogo,
body.is-kiosk .catalog-shell{
  margin-top:0!important;
  padding-top:0!important;
}
body.is-kiosk .page{
  /* remove o respiro morto entre a barra superior e o conteúdo */
  transform:translateY(calc(-1 * clamp(10px,1.45vh,24px)))!important;
}
body.is-kiosk #screen-catalogo.screen.is-active{margin-top:0!important;}
body.is-kiosk .catalog-shell{
  gap:clamp(8px,1.1vh,14px)!important;
}
body.is-kiosk.kiosk-catalog-active .search-card{
  margin-top:0!important;
}

/* Botão de colapsar filtros: só uma seta discreta no canto superior direito */
body.is-kiosk .kiosk-filter-collapse-toggle,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle{
  position:absolute!important;
  top:6px!important;
  right:8px!important;
  left:auto!important;
  z-index:8!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  padding:0!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(5,3,9,.88)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
body.is-kiosk .kiosk-filter-collapse-toggle span{display:none!important;}
body.is-kiosk .kiosk-filter-collapse-toggle i{font-size:1rem!important;line-height:1!important;margin:0!important;}
body.is-kiosk .kiosk-filter-collapse-toggle:hover,
body.is-kiosk .kiosk-filter-collapse-toggle:focus-visible,
body.is-kiosk .kiosk-filter-collapse-toggle:active{
  background:#000!important;
  border-color:rgba(255,255,255,.28)!important;
}
body.is-kiosk.kiosk-filters-collapsed .search-card{
  min-height:0!important;
  height:0!important;
  padding:0!important;
  margin:0 0 clamp(18px,2.4vh,36px)!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.is-kiosk.kiosk-filters-collapsed .search-row--main,
body.is-kiosk.kiosk-filters-collapsed .search-row--advanced,
body.is-kiosk.kiosk-filters-collapsed .cep-route-notice,
body.is-kiosk.kiosk-filters-collapsed .catalog-context-bar{
  display:none!important;
}

/* Cards da capa: formas de pagamento são informações, não botões */
body.is-kiosk .kiosk-payment-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.45rem .85rem!important;
  margin:.15rem 0 .1rem!important;
}
body.is-kiosk .kiosk-payment-buttons span,
body.is-kiosk .kiosk-payment-buttons span:hover,
body.is-kiosk .kiosk-payment-buttons span:active,
body.is-kiosk .kiosk-payment-buttons span:focus{
  display:inline-flex!important;
  align-items:center!important;
  gap:.38rem!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#f4edf9!important;
  font-size:clamp(.82rem,.8vw,.98rem)!important;
  font-weight:850!important;
  transform:none!important;
  cursor:default!important;
}
body.is-kiosk .kiosk-payment-buttons i{
  color:#ffe68f!important;
  font-size:1.02em!important;
}
body.is-kiosk .kiosk-guide-card--payments .kiosk-guide-card__body{
  align-content:start!important;
}

/* Mantém o hero e cards mais próximos do topo quando a home estiver aberta */
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel{margin-top:0!important;}
@media(max-width:767px){
  body.is-kiosk{--kiosk-topbar-h:50px!important;}
  body.is-kiosk .page{transform:translateY(calc(-1 * clamp(8px,1.1vh,16px)))!important;}
  body.is-kiosk.kiosk-filters-collapsed .search-card{margin-bottom:22px!important;}
  body.is-kiosk .kiosk-filter-collapse-toggle,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle{
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
    top:4px!important;right:6px!important;
  }
}


/* ========================================================================== 
   Quiosque v28 — camadas, topo, filtros compactos e pagamentos informativos
   Tudo escopado em body.is-kiosk para preservar a loja externa.
   ========================================================================== */
body.is-kiosk{
  --kiosk-topbar-h: clamp(58px, 5.8vh, 72px) !important;
  --kiosk-shell-gap: clamp(10px, 1.25vh, 18px) !important;
  --kiosk-max: min(100vw - clamp(18px, 3.2vw, 58px), 1880px) !important;
  padding-top: var(--kiosk-topbar-h) !important;
  margin:0 !important;
  overflow-x:hidden !important;
}
body.is-kiosk .topbar{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  height:var(--kiosk-topbar-h) !important;
  min-height:var(--kiosk-topbar-h) !important;
  max-height:var(--kiosk-topbar-h) !important;
  padding:0 clamp(14px,2.2vw,34px) !important;
  margin:0 !important;
  z-index:190 !important;
  display:grid !important;
  grid-template-columns:minmax(132px,1fr) auto minmax(72px,1fr) !important;
  align-items:center !important;
  background:rgba(7,4,13,.92) !important;
  backdrop-filter:blur(14px) !important;
}
body.is-kiosk .topbar::before{bottom:0 !important;top:auto !important;height:1px !important;display:block !important;}
body.is-kiosk .topbar::after{display:none !important;}
body.is-kiosk .kiosk-top-clock strong{font-size:clamp(1.18rem,1.85vw,2rem) !important;line-height:.9 !important;}
body.is-kiosk .kiosk-top-clock span{font-size:clamp(.58rem,.78vw,.9rem) !important;line-height:1.05 !important;}
body.is-kiosk .brand__logo{width:clamp(62px,5.5vw,96px) !important;height:calc(var(--kiosk-topbar-h) - 14px) !important;object-fit:contain !important;}
body.is-kiosk .cartola-fab,body.is-kiosk .cartola-fab img{width:clamp(44px,4.5vw,58px) !important;height:clamp(44px,4.5vw,58px) !important;}

body.is-kiosk .app-shell,
body.is-kiosk main#page,
body.is-kiosk .page,
body.is-kiosk #screen-catalogo,
body.is-kiosk .catalog-shell{
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}
body.is-kiosk .page{
  width:100% !important;
  max-width:none !important;
  padding-inline:0 !important;
  min-height:calc(100dvh - var(--kiosk-topbar-h)) !important;
}
body.is-kiosk .screen.is-active,
body.is-kiosk .catalog-shell,
body.is-kiosk .kiosk-hero-panel,
body.is-kiosk .kiosk-guide-grid,
body.is-kiosk .search-card,
body.is-kiosk .catalog-grid,
body.is-kiosk .kiosk-catalog-start{
  width:var(--kiosk-max) !important;
  max-width:var(--kiosk-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.is-kiosk .catalog-shell{gap:var(--kiosk-shell-gap) !important;align-content:start !important;}
body.is-kiosk .screen.is-active{padding-top:clamp(8px,1.1vh,16px) !important;}
body.is-kiosk.kiosk-catalog-active .screen.is-active{padding-top:0 !important;}

/* Hero e cards da capa ocupam a tela sem deixar buraco artificial. */
body.is-kiosk .kiosk-hero-panel{
  min-height:0 !important;
  height:auto !important;
  padding:clamp(18px,2vw,34px) clamp(20px,2.4vw,44px) !important;
  margin-top:clamp(8px,1.05vh,16px) !important;
  margin-bottom:var(--kiosk-shell-gap) !important;
  border-radius:clamp(22px,2.2vw,34px) !important;
}
body.is-kiosk .kiosk-hero-panel h1{font-size:clamp(2rem,3.1vw,4rem) !important;line-height:.98 !important;max-width:14ch !important;}
body.is-kiosk .kiosk-hero-panel p{font-size:clamp(1rem,1.18vw,1.35rem) !important;line-height:1.35 !important;max-width:54ch !important;}
body.is-kiosk .kiosk-guide-grid{gap:clamp(10px,1vw,18px) !important;margin-top:0 !important;}
body.is-kiosk .kiosk-guide-card{cursor:pointer !important;min-height:clamp(142px,15vh,230px) !important;}
body.is-kiosk .kiosk-guide-card:hover{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)) !important;border-color:rgba(255,255,255,.18) !important;}

/* Filtros: duas linhas úteis, sem sobreposição. Ações compactas no canto direito. */
body.is-kiosk .search-card{
  top:var(--kiosk-topbar-h) !important;
  padding:clamp(10px,1vw,15px) clamp(54px,5vw,92px) clamp(10px,1vw,15px) clamp(10px,1vw,15px) !important;
  margin-top:0 !important;
  margin-bottom:var(--kiosk-shell-gap) !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  border-radius:clamp(18px,1.5vw,26px) !important;
}
body.is-kiosk .search-row--main{
  display:grid !important;
  grid-template-columns:minmax(220px,1.55fr) minmax(128px,.55fr) repeat(3,minmax(92px,.36fr)) !important;
  gap:clamp(7px,.75vw,12px) !important;
  align-items:stretch !important;
  overflow:visible !important;
}
body.is-kiosk .field--search{order:1 !important;grid-column:auto !important;}
body.is-kiosk .field--date{order:2 !important;grid-column:auto !important;display:flex !important;visibility:visible !important;}
body.is-kiosk .kiosk-mode-actions{display:contents !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1){order:3 !important;grid-column:auto !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(2){order:4 !important;grid-column:auto !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(3){order:5 !important;grid-column:auto !important;}
body.is-kiosk .kiosk-fullscreen-btn{order:6 !important;grid-column:1/2 !important;}
body.is-kiosk .kiosk-filter-nav{order:7 !important;grid-column:2/5 !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:clamp(7px,.75vw,12px) !important;}
body.is-kiosk #clearFiltersBtn,
body.is-kiosk .kiosk-filter-collapse-toggle{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:9 !important;
  width:clamp(36px,3.2vw,46px) !important;
  min-width:clamp(36px,3.2vw,46px) !important;
  height:clamp(36px,3.2vw,46px) !important;
  min-height:clamp(36px,3.2vw,46px) !important;
  max-width:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(5,3,9,.86) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(0,0,0,.18) !important;
}
body.is-kiosk #clearFiltersBtn{right:clamp(52px,4.5vw,68px) !important;}
body.is-kiosk .kiosk-filter-collapse-toggle{right:clamp(8px,1vw,14px) !important;}
body.is-kiosk #clearFiltersBtn span,
body.is-kiosk .kiosk-filter-collapse-toggle span{display:none !important;}
body.is-kiosk #clearFiltersBtn i,
body.is-kiosk .kiosk-filter-collapse-toggle i{font-size:clamp(.96rem,1vw,1.12rem) !important;margin:0 !important;}
body.is-kiosk #clearFiltersBtn:hover,
body.is-kiosk #clearFiltersBtn:focus-visible,
body.is-kiosk #clearFiltersBtn:active,
body.is-kiosk .kiosk-filter-collapse-toggle:hover,
body.is-kiosk .kiosk-filter-collapse-toggle:focus-visible,
body.is-kiosk .kiosk-filter-collapse-toggle:active{background:#000 !important;border-color:rgba(255,255,255,.3) !important;}
body.is-kiosk.kiosk-filters-collapsed .search-card{
  height:clamp(44px,4.6vw,56px) !important;
  min-height:clamp(44px,4.6vw,56px) !important;
  padding:0 clamp(98px,9.2vw,132px) 0 0 !important;
  margin-bottom:var(--kiosk-shell-gap) !important;
  border-color:rgba(255,255,255,.12) !important;
  background:rgba(14,8,24,.72) !important;
  overflow:visible !important;
}
body.is-kiosk.kiosk-filters-collapsed .search-row--main,
body.is-kiosk.kiosk-filters-collapsed .search-row--advanced,
body.is-kiosk.kiosk-filters-collapsed .cep-route-notice,
body.is-kiosk.kiosk-filters-collapsed .catalog-context-bar{display:none !important;}

body.is-kiosk .field--search,
body.is-kiosk .field--date,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .kiosk-filter-nav__btn{
  min-height:clamp(42px,3.7vw,54px) !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
body.is-kiosk .kiosk-mode-actions button span,
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk .kiosk-filter-nav__copy strong{white-space:nowrap !important;overflow:visible !important;text-overflow:clip !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1) span::before{content:"Todos" !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1) span{font-size:0 !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1) span::before{font-size:clamp(.9rem,.92vw,1rem) !important;}

/* Formas de pagamento no card da home: informação visual, não botão. */
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:.38rem .7rem !important;
  margin:.1rem 0 .15rem !important;
}
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons span,
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons span:hover,
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons span:focus,
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons span:active{
  display:inline-flex !important;
  align-items:center !important;
  gap:.34rem !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  color:#f5eefc !important;
  font-size:clamp(.78rem,.82vw,.98rem) !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  transform:none !important;
  cursor:default !important;
}
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons span::before,
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons span::after{display:none !important;content:none !important;}
body.is-kiosk .kiosk-guide-card--payments .kiosk-payment-buttons i{color:#ffe68f !important;font-size:1em !important;}

/* Responsividade prática: Voyo/desktop usa largura, smartphone empilha sem poluir. */
@media(max-width:1120px){
  body.is-kiosk{--kiosk-max:min(100vw - 24px, 1120px) !important;}
  body.is-kiosk .search-row--main{grid-template-columns:minmax(0,1fr) minmax(128px,.48fr) repeat(3,minmax(84px,.3fr)) !important;}
}
@media(max-width:820px){
  body.is-kiosk{--kiosk-topbar-h:58px !important;--kiosk-max:calc(100vw - 16px) !important;}
  body.is-kiosk .topbar{grid-template-columns:minmax(86px,1fr) auto minmax(54px,1fr) !important;padding-inline:8px !important;}
  body.is-kiosk .kiosk-top-clock strong{font-size:1.05rem !important;}
  body.is-kiosk .kiosk-top-clock span{font-size:.56rem !important;}
  body.is-kiosk .brand__logo{width:62px !important;height:42px !important;}
  body.is-kiosk .cartola-fab,body.is-kiosk .cartola-fab img{width:44px !important;height:44px !important;}
  body.is-kiosk .screen.is-active{padding-top:8px !important;}
  body.is-kiosk .search-card{padding:10px 58px 10px 10px !important;border-radius:20px !important;}
  body.is-kiosk .search-row--main{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
  body.is-kiosk .field--search{grid-column:1/-1 !important;}
  body.is-kiosk .field--date{grid-column:1/-1 !important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:1/2 !important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:2/3 !important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:1/2 !important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:2/3 !important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1 !important;grid-template-columns:1fr 1fr !important;}
  body.is-kiosk #clearFiltersBtn{right:50px !important;top:10px !important;transform:none !important;}
  body.is-kiosk .kiosk-filter-collapse-toggle{right:8px !important;top:10px !important;transform:none !important;}
  body.is-kiosk.kiosk-filters-collapsed .search-card{padding:0 94px 0 0 !important;}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr !important;}
  body.is-kiosk .kiosk-guide-card{min-height:0 !important;}
}


/* ========================================================================== 
   Quiosque v29 — topo premium, home ocupando a tela e filtros em duas linhas
   Escopo: somente body.is-kiosk. Loja externa preservada.
   ========================================================================== */
body.is-kiosk{
  --kiosk-topbar-h: clamp(76px, 7.2vh, 108px) !important;
  --kiosk-topbar-pad-x: clamp(22px, 3.1vw, 70px) !important;
  --kiosk-shell-gap: clamp(12px, 1.3vh, 22px) !important;
  --kiosk-max: min(100vw - clamp(18px, 2.2vw, 54px), 2040px) !important;
  padding-top:var(--kiosk-topbar-h) !important;
}
body.is-kiosk .topbar{
  height:var(--kiosk-topbar-h) !important;
  min-height:var(--kiosk-topbar-h) !important;
  max-height:var(--kiosk-topbar-h) !important;
  padding:clamp(8px,1vh,14px) var(--kiosk-topbar-pad-x) !important;
  grid-template-columns:minmax(170px,1fr) auto minmax(92px,1fr) !important;
  box-sizing:border-box !important;
}
body.is-kiosk .kiosk-top-clock,
body.is-kiosk .brand,
body.is-kiosk .topbar__actions{
  min-height:calc(var(--kiosk-topbar-h) - clamp(18px,2vh,28px)) !important;
  height:calc(var(--kiosk-topbar-h) - clamp(18px,2vh,28px)) !important;
  display:flex !important;
  align-items:center !important;
}
body.is-kiosk .brand{justify-content:center !important;gap:0 !important;}
body.is-kiosk .topbar__actions{justify-content:flex-end !important;}
body.is-kiosk .kiosk-top-clock{justify-content:flex-start !important;align-content:center !important;}
body.is-kiosk .brand__logo{
  width:clamp(86px,6.5vw,134px) !important;
  height:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
}
body.is-kiosk .cartola-fab,
body.is-kiosk .cartola-fab img{
  width:clamp(54px,4.7vw,74px) !important;
  height:clamp(54px,4.7vw,74px) !important;
}
body.is-kiosk .kiosk-top-clock strong{font-size:clamp(1.55rem,2.35vw,2.65rem) !important;line-height:.88 !important;}
body.is-kiosk .kiosk-top-clock span{font-size:clamp(.72rem,.9vw,1.05rem) !important;line-height:1.05 !important;}
body.is-kiosk .topnav{display:none !important;}

/* Conteúdo logo abaixo do topo, com uso real da largura/altura. */
body.is-kiosk .page,
body.is-kiosk main#page,
body.is-kiosk #screen-catalogo,
body.is-kiosk .catalog-shell{
  padding-top:0 !important;
  margin-top:0 !important;
  transform:none !important;
}
body.is-kiosk .screen.is-active{padding-top:clamp(8px,1vh,16px) !important;}
body.is-kiosk .catalog-shell{
  width:var(--kiosk-max) !important;
  max-width:var(--kiosk-max) !important;
  min-height:calc(100dvh - var(--kiosk-topbar-h) - clamp(8px,1vh,16px)) !important;
  gap:var(--kiosk-shell-gap) !important;
}
body.is-kiosk:not(.kiosk-catalog-active) .catalog-shell{
  display:grid !important;
  grid-template-rows:auto auto auto minmax(90px,1fr) !important;
  align-content:stretch !important;
}
body.is-kiosk .kiosk-hero-panel,
body.is-kiosk .search-card,
body.is-kiosk .kiosk-guide-grid,
body.is-kiosk .kiosk-catalog-start,
body.is-kiosk .catalog-grid{
  width:100% !important;
  max-width:100% !important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel{
  min-height:clamp(220px,24dvh,380px) !important;
  padding:clamp(26px,3vw,54px) clamp(28px,3.8vw,72px) !important;
  display:grid !important;
  align-content:center !important;
  margin:0 !important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel h1{font-size:clamp(2.25rem,4vw,5.6rem) !important;max-width:14ch !important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel p{font-size:clamp(1.08rem,1.45vw,1.72rem) !important;max-width:54ch !important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-guide-grid{
  align-self:stretch !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:var(--kiosk-shell-gap) !important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-guide-card{
  min-height:clamp(170px,20dvh,300px) !important;
  height:100% !important;
  padding:clamp(18px,2vw,34px) !important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-catalog-start{
  align-self:stretch !important;
  min-height:clamp(110px,15dvh,210px) !important;
  display:grid !important;
  place-content:center !important;
}

/* Filtros: linha 1 e linha 2, persistentes e sem sobreposição. */
body.is-kiosk .search-card{
  position:sticky !important;
  top:var(--kiosk-topbar-h) !important;
  z-index:160 !important;
  display:grid !important;
  grid-template-columns:minmax(300px,2fr) minmax(180px,.8fr) repeat(3,minmax(118px,.42fr)) minmax(56px,.18fr) minmax(48px,.16fr) !important;
  gap:clamp(8px,.8vw,14px) !important;
  padding:clamp(12px,1.05vw,18px) !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  margin:0 0 var(--kiosk-shell-gap) !important;
}
body.is-kiosk .search-row--main,
body.is-kiosk .search-row--advanced{display:contents !important;}
body.is-kiosk .search-row--advanced .select-field,
body.is-kiosk .search-row--advanced .field--zip,
body.is-kiosk .search-row--advanced .kiosk-native-date-hidden{display:none !important;}
body.is-kiosk .field--mode,
body.is-kiosk #toggleAdvancedBtn{display:none !important;}
body.is-kiosk .field--search{grid-column:1/2 !important;order:1 !important;}
body.is-kiosk .kiosk-date-trigger{grid-column:2/3 !important;order:2 !important;}
body.is-kiosk .kiosk-mode-actions{display:contents !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:3/4 !important;order:3 !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:4/5 !important;order:4 !important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:5/6 !important;order:5 !important;}
body.is-kiosk .kiosk-fullscreen-btn{grid-column:6/7 !important;order:6 !important;}
body.is-kiosk .kiosk-filter-collapse-toggle{
  grid-column:7/8 !important;order:7 !important;position:static !important;transform:none !important;
  width:auto !important;min-width:48px !important;max-width:none !important;height:auto !important;min-height:clamp(44px,3.9vw,58px) !important;
}
body.is-kiosk .kiosk-filter-nav{grid-column:1/4 !important;order:8 !important;display:grid !important;grid-template-columns:repeat(2,minmax(180px,1fr)) !important;gap:clamp(8px,.8vw,14px) !important;}
body.is-kiosk #clearFiltersBtn{grid-column:4/5 !important;order:9 !important;position:static !important;transform:none !important;width:auto !important;max-width:none !important;min-width:48px !important;height:auto !important;}
body.is-kiosk:not(.kiosk-catalog-active) #clearFiltersBtn{display:none !important;}
body.is-kiosk .field--search,
body.is-kiosk .kiosk-date-trigger,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .kiosk-filter-collapse-toggle,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height:clamp(44px,3.9vw,58px) !important;
  border-radius:999px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  white-space:nowrap !important;
}
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk #clearFiltersBtn span,
body.is-kiosk .kiosk-filter-collapse-toggle span{display:none !important;}
body.is-kiosk .kiosk-filter-nav__icon{
  width:auto !important;height:auto !important;min-width:0 !important;min-height:0 !important;
  border:0 !important;background:transparent !important;box-shadow:none !important;border-radius:0 !important;
}
body.is-kiosk .kiosk-filter-nav__btn > .bi-arrow-right-short{display:none !important;}

body.is-kiosk.kiosk-filter-stuck .search-card,
body.is-kiosk.kiosk-filters-collapsed .search-card{
  grid-template-columns:minmax(260px,2fr) minmax(170px,.8fr) repeat(3,minmax(104px,.42fr)) minmax(50px,.18fr) minmax(46px,.16fr) !important;
  padding:clamp(8px,.75vw,12px) !important;
  gap:clamp(6px,.65vw,10px) !important;
}
body.is-kiosk.kiosk-filter-stuck .kiosk-filter-nav,
body.is-kiosk.kiosk-filter-stuck #clearFiltersBtn,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{display:none !important;}
body.is-kiosk.kiosk-filters-collapsed .search-row--main{display:contents !important;}
body.is-kiosk.kiosk-filters-collapsed .search-row--advanced{display:contents !important;}
body.is-kiosk.kiosk-filters-collapsed .cep-route-notice,
body.is-kiosk.kiosk-filters-collapsed .catalog-context-bar{display:none !important;}
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle i{transform:rotate(180deg) !important;}

/* Pagamento no card da home: ícone + nome, sem visual de botão. */
body.is-kiosk .kiosk-payment-list,
body.is-kiosk .kiosk-payment-buttons{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:.38rem .78rem !important;margin:.2rem 0 .05rem !important;}
body.is-kiosk .kiosk-payment-list .kiosk-payment-info,
body.is-kiosk .kiosk-payment-list span,
body.is-kiosk .kiosk-payment-buttons span,
body.is-kiosk .kiosk-payment-buttons .kiosk-payment-info,
body.is-kiosk .kiosk-payment-list .kiosk-payment-info:hover,
body.is-kiosk .kiosk-payment-buttons span:hover{
  display:inline-flex !important;align-items:center !important;gap:.34rem !important;
  padding:0 !important;margin:0 !important;border:0 !important;background:transparent !important;background-image:none !important;
  box-shadow:none !important;backdrop-filter:none !important;border-radius:0 !important;min-height:0 !important;min-width:0 !important;width:auto !important;
  color:#f5eefc !important;font-weight:850 !important;font-size:clamp(.78rem,.84vw,1rem) !important;line-height:1.15 !important;transform:none !important;cursor:default !important;
}
body.is-kiosk .kiosk-payment-list i,
body.is-kiosk .kiosk-payment-buttons i{color:#ffe68f !important;font-size:1em !important;}

/* Modal de data do quiosque. */
body.is-kiosk .kiosk-date-modal-card{width:min(92vw,720px) !important;border-radius:28px !important;}
body.is-kiosk .kiosk-date-modal-body{display:grid !important;gap:18px !important;}
body.is-kiosk .kiosk-date-picker-box{display:grid !important;gap:10px !important;padding:18px !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:22px !important;background:rgba(255,255,255,.04) !important;}
body.is-kiosk .kiosk-date-picker-box span{color:#ffe68f !important;text-transform:uppercase !important;letter-spacing:.06em !important;font-weight:900 !important;}
body.is-kiosk .kiosk-date-picker-box input{font:inherit !important;font-size:clamp(1.25rem,3vw,2rem) !important;color:#fff !important;background:#09050f !important;border:1px solid rgba(255,255,255,.16) !important;border-radius:18px !important;padding:16px !important;min-height:72px !important;color-scheme:dark !important;}
body.is-kiosk .kiosk-date-modal-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;}

@media(max-width:1120px){
  body.is-kiosk .search-card{grid-template-columns:minmax(0,1fr) minmax(170px,.72fr) repeat(3,minmax(96px,.36fr)) minmax(48px,.16fr) minmax(46px,.16fr) !important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/5 !important;}
  body.is-kiosk #clearFiltersBtn{grid-column:5/6 !important;}
}
@media(max-width:820px){
  body.is-kiosk{--kiosk-topbar-h:72px !important;--kiosk-topbar-pad-x:14px !important;--kiosk-max:calc(100vw - 14px) !important;}
  body.is-kiosk .topbar{grid-template-columns:minmax(90px,1fr) auto minmax(58px,1fr) !important;padding:8px 14px !important;}
  body.is-kiosk .kiosk-top-clock strong{font-size:1.22rem !important;}
  body.is-kiosk .kiosk-top-clock span{font-size:.6rem !important;}
  body.is-kiosk .brand__logo{width:72px !important;}
  body.is-kiosk .cartola-fab,body.is-kiosk .cartola-fab img{width:48px !important;height:48px !important;}
  body.is-kiosk .screen.is-active{padding-top:7px !important;}
  body.is-kiosk:not(.kiosk-catalog-active) .catalog-shell{grid-template-rows:auto auto auto minmax(82px,1fr) !important;}
  body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel{min-height:auto !important;padding:18px !important;}
  body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel h1{font-size:2.15rem !important;}
  body.is-kiosk .search-card{grid-template-columns:1fr 1fr !important;padding:10px !important;border-radius:22px !important;}
  body.is-kiosk .field--search{grid-column:1/-1 !important;}
  body.is-kiosk .kiosk-date-trigger{grid-column:1/-1 !important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:1/2 !important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:2/3 !important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:1/2 !important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:2/3 !important;}
  body.is-kiosk .kiosk-filter-collapse-toggle{grid-column:1/2 !important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1 !important;grid-template-columns:1fr 1fr !important;}
  body.is-kiosk #clearFiltersBtn{grid-column:2/3 !important;}
  body.is-kiosk.kiosk-filter-stuck .search-card,
  body.is-kiosk.kiosk-filters-collapsed .search-card{grid-template-columns:1fr auto auto !important;}
  body.is-kiosk.kiosk-filter-stuck .kiosk-date-trigger,
  body.is-kiosk.kiosk-filter-stuck .kiosk-mode-actions button,
  body.is-kiosk.kiosk-filter-stuck .kiosk-fullscreen-btn,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-date-trigger,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-mode-actions button,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-fullscreen-btn{display:none !important;}
  body.is-kiosk.kiosk-filter-stuck .field--search,
  body.is-kiosk.kiosk-filters-collapsed .field--search{grid-column:1/2 !important;}
  body.is-kiosk.kiosk-filter-stuck .kiosk-filter-collapse-toggle,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle{grid-column:3/4 !important;}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr !important;}
  body.is-kiosk:not(.kiosk-catalog-active) .kiosk-guide-card{min-height:auto !important;}
  body.is-kiosk .kiosk-date-modal-actions{grid-template-columns:1fr !important;}
}

/* ========================================================================== 
   Quiosque v30 — saneamento estrutural final: topo, filtros, calendário e modal
   Escopo fechado em body.is-kiosk. Loja externa preservada.
   ========================================================================== */
body.is-kiosk,
body.is-kiosk *{box-sizing:border-box!important;}
html:has(body.is-kiosk),
body.is-kiosk{width:100%!important;max-width:100%!important;overflow-x:hidden!important;margin:0!important;}
body.is-kiosk{
  --kiosk-topbar-h:clamp(86px,7.8vh,128px)!important;
  --kiosk-side-pad:clamp(18px,2.2vw,52px)!important;
  --kiosk-shell-gap:clamp(10px,1.1vh,18px)!important;
  --kiosk-max:calc(100dvw - (var(--kiosk-side-pad) * 2))!important;
  padding-top:var(--kiosk-topbar-h)!important;
}
body.is-kiosk .topbar{
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:var(--kiosk-topbar-h)!important;
  min-height:var(--kiosk-topbar-h)!important;
  max-height:var(--kiosk-topbar-h)!important;
  padding:clamp(12px,1.15vh,18px) var(--kiosk-side-pad)!important;
  display:grid!important;
  grid-template-columns:minmax(170px,1fr) auto minmax(90px,1fr)!important;
  align-items:center!important;
  gap:clamp(12px,1.4vw,26px)!important;
  z-index:500!important;
  background:rgba(6,3,12,.96)!important;
  backdrop-filter:blur(18px)!important;
}
body.is-kiosk .topbar::before{bottom:0!important;top:auto!important;}
body.is-kiosk .topbar::after{display:none!important;}
body.is-kiosk .kiosk-top-clock,
body.is-kiosk .brand,
body.is-kiosk .topbar__actions{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
}
body.is-kiosk .kiosk-top-clock{justify-content:flex-start!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;}
body.is-kiosk .kiosk-top-clock strong{font-size:clamp(1.75rem,2.7vw,3.25rem)!important;line-height:.9!important;color:#fff!important;letter-spacing:-.04em!important;}
body.is-kiosk .kiosk-top-clock span{font-size:clamp(.72rem,.85vw,1.1rem)!important;line-height:1!important;color:#ffe68f!important;font-weight:900!important;letter-spacing:.02em!important;}
body.is-kiosk .brand{justify-content:center!important;}
body.is-kiosk .brand__logo{width:clamp(112px,8vw,172px)!important;height:100%!important;max-height:calc(var(--kiosk-topbar-h) - 18px)!important;object-fit:contain!important;}
body.is-kiosk .brand__copy{display:none!important;}
body.is-kiosk .topbar__actions{justify-content:flex-end!important;}
body.is-kiosk .cartola-fab,
body.is-kiosk .cartola-fab img{width:clamp(58px,5.1vw,84px)!important;height:clamp(58px,5.1vw,84px)!important;}
body.is-kiosk .topnav{display:none!important;}

body.is-kiosk .page,
body.is-kiosk main#page,
body.is-kiosk .screen.is-active,
body.is-kiosk #screen-catalogo,
body.is-kiosk .catalog-shell{
  width:100%!important;max-width:100%!important;margin:0!important;padding-top:0!important;transform:none!important;overflow-x:hidden!important;
}
body.is-kiosk .catalog-shell{
  width:var(--kiosk-max)!important;max-width:var(--kiosk-max)!important;margin-inline:auto!important;
  min-height:calc(100dvh - var(--kiosk-topbar-h))!important;
  gap:var(--kiosk-shell-gap)!important;
  padding-top:var(--kiosk-shell-gap)!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .catalog-shell{
  display:grid!important;
  grid-template-rows:auto auto auto minmax(120px,1fr)!important;
  align-content:stretch!important;
}
body.is-kiosk .kiosk-hero-panel,
body.is-kiosk .search-card,
body.is-kiosk .kiosk-guide-grid,
body.is-kiosk .kiosk-catalog-start,
body.is-kiosk .catalog-grid{width:100%!important;max-width:100%!important;}

/* Hero: card normal, altura guiada pelo conteúdo, sem empurrar a home. */
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;height:auto!important;margin:0!important;
  padding:clamp(20px,2.4vw,46px) clamp(22px,3.2vw,64px)!important;
  display:grid!important;align-content:center!important;overflow:hidden!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel h1{font-size:clamp(2.15rem,3.55vw,5.2rem)!important;max-width:14ch!important;line-height:.98!important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-hero-panel p{font-size:clamp(1rem,1.25vw,1.55rem)!important;max-width:56ch!important;line-height:1.36!important;}

/* Home: usa melhor a tela sem inventar barras horizontais. */
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-guide-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--kiosk-shell-gap)!important;align-self:stretch!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-guide-card{height:100%!important;min-height:clamp(150px,17dvh,250px)!important;overflow:hidden!important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-catalog-start{align-self:stretch!important;min-height:clamp(120px,17dvh,260px)!important;display:grid!important;place-content:center!important;}

/* Filtros: grid limpo, sem overflow, com layout pedido. */
body.is-kiosk .search-card{
  position:sticky!important;
  top:var(--kiosk-topbar-h)!important;
  z-index:300!important;
  display:grid!important;
  grid-template-columns:minmax(270px,2.15fr) minmax(176px,.82fr) repeat(3,minmax(116px,.44fr)) minmax(54px,.18fr) minmax(48px,.16fr)!important;
  gap:clamp(8px,.82vw,14px)!important;
  padding:clamp(10px,1vw,16px)!important;
  margin:0 0 var(--kiosk-shell-gap)!important;
  overflow:visible!important;
  border-radius:clamp(18px,1.5vw,28px)!important;
}
body.is-kiosk .search-row--main,
body.is-kiosk .search-row--advanced{display:contents!important;}
body.is-kiosk .field--mode,
body.is-kiosk #toggleAdvancedBtn,
body.is-kiosk .search-row--advanced .select-field,
body.is-kiosk .search-row--advanced .field--zip{display:none!important;}
body.is-kiosk .field--search{grid-column:1/2!important;order:1!important;min-width:0!important;}
body.is-kiosk .kiosk-date-trigger{grid-column:2/3!important;order:2!important;min-width:0!important;}
body.is-kiosk .kiosk-mode-actions{display:contents!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:3/4!important;order:3!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:4/5!important;order:4!important;}
body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:5/6!important;order:5!important;}
body.is-kiosk .kiosk-fullscreen-btn{grid-column:6/7!important;order:6!important;}
body.is-kiosk .kiosk-filter-collapse-toggle{grid-column:7/8!important;order:7!important;position:static!important;transform:none!important;}
body.is-kiosk .kiosk-filter-nav{grid-column:1/4!important;order:8!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(8px,.82vw,14px)!important;min-width:0!important;}
body.is-kiosk #clearFiltersBtn{grid-column:4/5!important;order:9!important;position:static!important;transform:none!important;}
body.is-kiosk:not(.kiosk-catalog-active) #clearFiltersBtn,
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-filter-collapse-toggle{display:none!important;}
body.is-kiosk .field--search,
body.is-kiosk .kiosk-date-trigger,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .kiosk-filter-collapse-toggle,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height:clamp(46px,3.8vw,60px)!important;max-width:100%!important;min-width:0!important;
  overflow:hidden!important;white-space:nowrap!important;text-overflow:clip!important;box-sizing:border-box!important;
  border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.48rem!important;
}
body.is-kiosk .field--search{justify-content:flex-start!important;}
body.is-kiosk .field--search input{min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-filter-nav__btn{justify-content:center!important;}
body.is-kiosk .kiosk-filter-nav__copy{min-width:0!important;}
body.is-kiosk .kiosk-filter-nav__copy strong,
body.is-kiosk .kiosk-mode-actions button span,
body.is-kiosk .kiosk-date-trigger span{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
body.is-kiosk .kiosk-filter-nav__btn > .bi-arrow-right-short{display:none!important;}
body.is-kiosk .kiosk-filter-nav__icon{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;}
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk #clearFiltersBtn span,
body.is-kiosk .kiosk-filter-collapse-toggle span{display:none!important;}
body.is-kiosk.kiosk-filter-stuck .search-card,
body.is-kiosk.kiosk-filters-collapsed .search-card{grid-template-columns:minmax(240px,2fr) minmax(162px,.78fr) repeat(3,minmax(96px,.38fr)) minmax(48px,.17fr) minmax(46px,.16fr)!important;padding:8px!important;gap:8px!important;}
body.is-kiosk.kiosk-filter-stuck .kiosk-filter-nav,
body.is-kiosk.kiosk-filter-stuck #clearFiltersBtn,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{display:none!important;}

/* Calendário grande e clicável — sem depender do datepicker nativo. */
body.is-kiosk .kiosk-date-native-shadow{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;}
body.is-kiosk .kiosk-date-modal-card{width:min(94dvw,760px)!important;border-radius:28px!important;}
body.is-kiosk .kiosk-date-modal-body{display:grid!important;gap:16px!important;}
body.is-kiosk .kiosk-calendar{display:grid!important;gap:12px!important;padding:clamp(12px,2vw,20px)!important;border-radius:24px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.11)!important;}
body.is-kiosk .kiosk-calendar__head{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center!important;gap:10px!important;}
body.is-kiosk .kiosk-calendar__head strong{text-align:center!important;text-transform:capitalize!important;color:#fff!important;font-size:clamp(1.1rem,2.2vw,1.45rem)!important;}
body.is-kiosk .kiosk-calendar__weekdays,
body.is-kiosk .kiosk-calendar__grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;}
body.is-kiosk .kiosk-calendar__weekdays span{text-align:center!important;color:#ffe68f!important;font-weight:900!important;font-size:.78rem!important;text-transform:uppercase!important;}
body.is-kiosk .kiosk-calendar__empty{min-height:46px!important;}
body.is-kiosk .kiosk-calendar__day{min-height:clamp(46px,7vw,70px)!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.13)!important;background:#0b0612!important;color:#fff!important;font-weight:950!important;cursor:pointer!important;}
body.is-kiosk .kiosk-calendar__day:hover,
body.is-kiosk .kiosk-calendar__day:focus-visible{background:#000!important;border-color:rgba(255,255,255,.34)!important;}
body.is-kiosk .kiosk-calendar__day.is-selected{border-color:transparent!important;background:linear-gradient(#05030a,#05030a) padding-box,var(--kiosk-btn-line-strong) border-box!important;box-shadow:0 0 0 1px rgba(255,255,255,.12)!important;}
body.is-kiosk .kiosk-calendar__day:disabled{opacity:.32!important;cursor:not-allowed!important;background:rgba(255,255,255,.03)!important;}
body.is-kiosk .kiosk-date-modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}

/* Modal de produto mobile: galeria e conteúdo nunca se sobrepõem. */
@media(max-width:820px){
  body.is-kiosk{--kiosk-topbar-h:78px!important;--kiosk-side-pad:10px!important;--kiosk-max:calc(100dvw - 16px)!important;}
  body.is-kiosk .topbar{grid-template-columns:minmax(78px,1fr) auto minmax(54px,1fr)!important;padding:9px 12px!important;gap:8px!important;}
  body.is-kiosk .kiosk-top-clock strong{font-size:1.38rem!important;}
  body.is-kiosk .kiosk-top-clock span{font-size:.62rem!important;}
  body.is-kiosk .brand__logo{width:88px!important;}
  body.is-kiosk .cartola-fab,body.is-kiosk .cartola-fab img{width:48px!important;height:48px!important;}
  body.is-kiosk .catalog-shell{padding-top:8px!important;}
  body.is-kiosk .search-card{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important;}
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-date-trigger{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(1){grid-column:1/2!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(2){grid-column:2/3!important;}
  body.is-kiosk .kiosk-mode-actions button:nth-child(3){grid-column:1/2!important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:2/3!important;}
  body.is-kiosk .kiosk-filter-collapse-toggle{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:2/3!important;}
  body.is-kiosk.kiosk-filter-stuck .search-card,
  body.is-kiosk.kiosk-filters-collapsed .search-card{grid-template-columns:1fr auto!important;}
  body.is-kiosk.kiosk-filter-stuck .kiosk-date-trigger,
  body.is-kiosk.kiosk-filter-stuck .kiosk-mode-actions button,
  body.is-kiosk.kiosk-filter-stuck .kiosk-fullscreen-btn,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-date-trigger,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-mode-actions button,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-fullscreen-btn{display:none!important;}
  body.is-kiosk.kiosk-filter-stuck .field--search,
  body.is-kiosk.kiosk-filters-collapsed .field--search{grid-column:1/2!important;}
  body.is-kiosk.kiosk-filter-stuck .kiosk-filter-collapse-toggle,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle{grid-column:2/3!important;}
  body.is-kiosk:not(.kiosk-catalog-active) .kiosk-guide-grid{grid-template-columns:1fr!important;}

  body.is-kiosk .modal-card--product{width:100dvw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;}
  body.is-kiosk .modal-card--product .modal-head{position:relative!important;grid-row:1!important;z-index:5!important;top:auto!important;}
  body.is-kiosk .modal-card--product .modal-body{grid-row:2!important;height:100%!important;max-height:none!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;padding:0!important;}
  body.is-kiosk .product-modal-body{display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;min-height:0!important;}
  body.is-kiosk .product-modal-gallery{display:flex!important;flex-direction:column!important;gap:8px!important;padding:10px!important;background:#0b0712!important;position:relative!important;z-index:1!important;flex:0 0 auto!important;}
  body.is-kiosk .product-main-wrap{order:1!important;position:relative!important;z-index:1!important;width:100%!important;}
  body.is-kiosk .product-main-wrap img{width:100%!important;height:auto!important;max-height:min(52dvh,460px)!important;aspect-ratio:1/1!important;object-fit:contain!important;border-radius:18px!important;background:#fff!important;display:block!important;}
  body.is-kiosk .thumb-column{order:2!important;display:flex!important;gap:8px!important;overflow-x:auto!important;grid-auto-flow:unset!important;grid-template-columns:none!important;padding:2px 0 4px!important;position:relative!important;z-index:2!important;}
  body.is-kiosk .thumb-column button{flex:0 0 64px!important;width:64px!important;height:64px!important;}
  body.is-kiosk .product-modal-info{position:relative!important;z-index:1!important;padding:14px!important;display:grid!important;gap:12px!important;background:#10091b!important;}
  body.is-kiosk .rent-context-inline{display:grid!important;gap:10px!important;}
}


/* ========================================================================== 
   Quiosque v31 — reorganização estrutural da capa, filtros e modal do produto
   Base: mantém o que foi aprovado; reduz conflitos das camadas anteriores.
   ========================================================================== */
body.is-kiosk{
  --kiosk-page-x:clamp(10px,2vw,34px);
  --kiosk-page-y:clamp(8px,1.4vh,22px);
  --kiosk-content-max:calc(100dvw - (var(--kiosk-page-x) * 2));
  --kiosk-card-gap:clamp(10px,1.15vw,20px);
  --kiosk-touch-h:clamp(48px,4.2vw,64px);
  --kiosk-radius:clamp(20px,2vw,34px);
}
body.is-kiosk,
body.is-kiosk .app-shell{
  overflow-x:hidden!important;
}
body.is-kiosk .page,
body.is-kiosk .screen.is-active,
body.is-kiosk .catalog-shell,
body.is-kiosk #screen-catalogo{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.is-kiosk .screen.is-active{
  padding:var(--kiosk-page-y) var(--kiosk-page-x) max(18px,env(safe-area-inset-bottom))!important;
}
body.is-kiosk #screen-catalogo{
  display:block!important;
}
body.is-kiosk .catalog-shell{
  width:var(--kiosk-content-max)!important;
  max-width:var(--kiosk-content-max)!important;
  margin:0 auto!important;
  display:grid!important;
  gap:var(--kiosk-card-gap)!important;
  align-content:start!important;
}

/* Capa: tela de decisão rápida. Sem painel gigante vazio e sem sticky nos filtros. */
body.is-kiosk:not(.kiosk-catalog-active) .catalog-shell{
  min-height:calc(100dvh - var(--kiosk-topbar-h) - (var(--kiosk-page-y) * 2))!important;
  grid-template-rows:auto auto auto auto!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .search-card{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-filter-collapse-toggle,
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-fullscreen-btn,
body.is-kiosk:not(.kiosk-catalog-active) #clearFiltersBtn{
  display:none!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-catalog-start{
  min-height:auto!important;
  padding:clamp(18px,2.2vw,34px)!important;
  border-radius:var(--kiosk-radius)!important;
}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-catalog-start i{font-size:clamp(1.35rem,2vw,2rem)!important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-catalog-start strong{font-size:clamp(1.05rem,1.45vw,1.35rem)!important;}
body.is-kiosk:not(.kiosk-catalog-active) .kiosk-catalog-start span{font-size:clamp(.9rem,1vw,1.08rem)!important;}

/* Hero vira um card de entrada: imagem de fundo real, altura pelo conteúdo. */
body.is-kiosk .kiosk-hero-panel{
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:clamp(24px,3vw,54px)!important;
  border-radius:var(--kiosk-radius)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr)!important;
  align-items:center!important;
  gap:clamp(16px,2.4vw,44px)!important;
  overflow:hidden!important;
  position:relative!important;
  background:linear-gradient(135deg,rgba(10,6,18,.96),rgba(26,16,42,.80))!important;
}
body.is-kiosk .kiosk-hero-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(8,5,13,.98) 0%,rgba(8,5,13,.86) 38%,rgba(8,5,13,.18) 70%,rgba(8,5,13,.72) 100%)!important;
  z-index:1!important;
  pointer-events:none!important;
}
body.is-kiosk .kiosk-hero-panel::after{display:none!important;}
body.is-kiosk .kiosk-hero-product-bg-img{
  position:absolute!important;
  inset:0 0 0 auto!important;
  width:58%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:.64!important;
  z-index:0!important;
  pointer-events:none!important;
  filter:saturate(.92) contrast(1.05)!important;
}
body.is-kiosk .kiosk-hero-panel__copy{
  position:relative!important;
  z-index:2!important;
  max-width:760px!important;
}
body.is-kiosk .kiosk-hero-panel h1{
  font-size:clamp(2.1rem,4.15vw,5.2rem)!important;
  line-height:.96!important;
  max-width:13ch!important;
  margin:0!important;
}
body.is-kiosk .kiosk-hero-panel p{
  font-size:clamp(1rem,1.45vw,1.55rem)!important;
  line-height:1.35!important;
  max-width:42ch!important;
  margin:.55rem 0 0!important;
}
body.is-kiosk .kiosk-hero-panel__steps{display:none!important;}

/* Cards da capa: todos são cards clicáveis; conteúdo sem disputar com botão interno. */
body.is-kiosk .kiosk-guide-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--kiosk-card-gap)!important;
  margin:0!important;
}
body.is-kiosk .kiosk-guide-card{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  gap:clamp(12px,1.3vw,20px)!important;
  min-height:clamp(140px,14dvh,230px)!important;
  height:auto!important;
  padding:clamp(16px,1.9vw,32px)!important;
  border-radius:var(--kiosk-radius)!important;
  cursor:pointer!important;
}
body.is-kiosk .kiosk-guide-card__icon{
  width:clamp(48px,4.6vw,72px)!important;
  height:clamp(48px,4.6vw,72px)!important;
  border-radius:18px!important;
  flex:none!important;
}
body.is-kiosk .kiosk-guide-card__body{min-width:0!important;display:grid!important;gap:.28rem!important;}
body.is-kiosk .kiosk-guide-card h3{font-size:clamp(1rem,1.25vw,1.35rem)!important;line-height:1.12!important;margin:0!important;}
body.is-kiosk .kiosk-guide-card p,
body.is-kiosk .kiosk-guide-card ol{font-size:clamp(.86rem,1vw,1.04rem)!important;line-height:1.35!important;margin:0!important;}
body.is-kiosk .kiosk-guide-card ol{padding-left:1.05rem!important;}
body.is-kiosk .kiosk-payment-list{gap:.35rem .75rem!important;margin:.2rem 0!important;}
body.is-kiosk .kiosk-payment-info{font-size:clamp(.76rem,.9vw,.98rem)!important;}

/* Filtros: componentes agrupados em linhas previsíveis, sem sobreposição. */
body.is-kiosk .search-card{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  border-radius:var(--kiosk-radius)!important;
  padding:clamp(10px,1.25vw,18px)!important;
  display:grid!important;
  gap:clamp(8px,.85vw,14px)!important;
  overflow:visible!important;
  margin:0!important;
}
body.is-kiosk.kiosk-catalog-active .search-card{
  position:sticky!important;
  top:calc(var(--kiosk-topbar-h) + 1px)!important;
  z-index:170!important;
}
body.is-kiosk .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(260px,1.45fr) minmax(190px,.75fr) minmax(270px,1fr) minmax(52px,.18fr) minmax(52px,.18fr)!important;
  gap:clamp(8px,.85vw,14px)!important;
  align-items:stretch!important;
  min-width:0!important;
}
body.is-kiosk .search-row--advanced{display:none!important;}
body.is-kiosk .field--search{grid-column:auto!important;order:1!important;min-width:0!important;display:flex!important;}
body.is-kiosk .field--search input{min-width:0!important;width:100%!important;}
body.is-kiosk .kiosk-date-trigger{grid-column:auto!important;order:2!important;min-width:0!important;}
body.is-kiosk .kiosk-mode-actions{
  order:3!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(7px,.7vw,11px)!important;
  min-width:0!important;
}
body.is-kiosk .kiosk-fullscreen-btn{order:4!important;min-width:var(--kiosk-touch-h)!important;}
body.is-kiosk .kiosk-filter-collapse-toggle{order:5!important;position:static!important;transform:none!important;min-width:var(--kiosk-touch-h)!important;}
body.is-kiosk .kiosk-filter-nav{
  order:6!important;
  grid-column:1/4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(8px,.85vw,14px)!important;
  min-width:0!important;
}
body.is-kiosk #clearFiltersBtn{
  order:7!important;
  grid-column:4/6!important;
  position:static!important;
  transform:none!important;
  min-width:0!important;
}
body.is-kiosk .field--mode,
body.is-kiosk #toggleAdvancedBtn{display:none!important;}
body.is-kiosk .field--search,
body.is-kiosk .kiosk-date-trigger,
body.is-kiosk .kiosk-mode-actions button,
body.is-kiosk .kiosk-fullscreen-btn,
body.is-kiosk .kiosk-filter-collapse-toggle,
body.is-kiosk .kiosk-filter-nav__btn,
body.is-kiosk #clearFiltersBtn{
  min-height:var(--kiosk-touch-h)!important;
  height:auto!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
body.is-kiosk .kiosk-fullscreen-btn span,
body.is-kiosk .kiosk-filter-collapse-toggle span{display:none!important;}
body.is-kiosk .kiosk-filter-nav__btn > .bi-arrow-right-short{display:none!important;}
body.is-kiosk .kiosk-filter-nav__icon{
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;
}
body.is-kiosk.kiosk-filter-stuck .search-card,
body.is-kiosk.kiosk-filters-collapsed .search-card{padding:8px!important;gap:8px!important;}
body.is-kiosk.kiosk-filter-stuck .search-row--main,
body.is-kiosk.kiosk-filters-collapsed .search-row--main{
  grid-template-columns:minmax(220px,1.65fr) minmax(160px,.72fr) minmax(250px,1fr) minmax(48px,.18fr) minmax(48px,.18fr)!important;
}
body.is-kiosk.kiosk-filter-stuck .kiosk-filter-nav,
body.is-kiosk.kiosk-filter-stuck #clearFiltersBtn,
body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{display:none!important;}

/* Modal do produto: estrutura previsível; galeria e conteúdo nunca sobrepõem. */
body.is-kiosk .modal-card--product{
  width:min(96dvw,1320px)!important;
  max-height:calc(100dvh - 28px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
body.is-kiosk .modal-card--product .modal-body{
  min-height:0!important;
  overflow:auto!important;
}
body.is-kiosk .product-modal-body{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;
  gap:clamp(14px,1.6vw,26px)!important;
  align-items:start!important;
  padding:clamp(12px,1.7vw,24px)!important;
}
body.is-kiosk .product-modal-gallery{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:clamp(58px,5vw,86px) minmax(0,1fr)!important;
  gap:clamp(10px,1vw,16px)!important;
  min-width:0!important;
}
body.is-kiosk .product-main-wrap{min-width:0!important;position:relative!important;z-index:1!important;}
body.is-kiosk .product-main-wrap img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:22px!important;
}
body.is-kiosk .product-modal-info{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  gap:clamp(10px,1vw,16px)!important;
  align-content:start!important;
  min-width:0!important;
}

/* Catálogo: ocupa a largura disponível com colunas fluidas. */
body.is-kiosk .catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(clamp(190px,22vw,320px),1fr))!important;
  gap:clamp(10px,1.1vw,18px)!important;
}
body.is-kiosk .product-card{min-width:0!important;}

@media(max-width:1100px){
  body.is-kiosk .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(180px,.72fr) minmax(260px,1fr) minmax(50px,.2fr) minmax(50px,.2fr)!important;
  }
  body.is-kiosk .kiosk-filter-nav{grid-column:1/4!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:4/6!important;}
}
@media(max-width:820px){
  body.is-kiosk{--kiosk-page-x:8px;--kiosk-page-y:6px;--kiosk-touch-h:50px;}
  body.is-kiosk .screen.is-active{padding:6px 8px 16px!important;}
  body.is-kiosk .catalog-shell{width:calc(100dvw - 16px)!important;max-width:calc(100dvw - 16px)!important;gap:10px!important;}
  body.is-kiosk .kiosk-hero-panel{
    grid-template-columns:1fr!important;
    padding:18px!important;
    min-height:0!important;
  }
  body.is-kiosk .kiosk-hero-product-bg-img{width:100%!important;opacity:.30!important;}
  body.is-kiosk .kiosk-hero-panel::before{background:linear-gradient(90deg,rgba(8,5,13,.96),rgba(8,5,13,.72))!important;}
  body.is-kiosk .kiosk-hero-panel h1{font-size:clamp(2rem,9vw,3.1rem)!important;}
  body.is-kiosk .kiosk-guide-grid{grid-template-columns:1fr!important;gap:10px!important;}
  body.is-kiosk .kiosk-guide-card{min-height:auto!important;}
  body.is-kiosk .search-card{position:relative!important;top:auto!important;padding:10px!important;border-radius:22px!important;}
  body.is-kiosk.kiosk-catalog-active .search-card{position:sticky!important;top:calc(var(--kiosk-topbar-h) + 1px)!important;}
  body.is-kiosk .search-row--main{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  body.is-kiosk .field--search{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-date-trigger{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-mode-actions{grid-column:1/-1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.is-kiosk .kiosk-fullscreen-btn{grid-column:1/2!important;}
  body.is-kiosk .kiosk-filter-collapse-toggle{grid-column:2/3!important;}
  body.is-kiosk .kiosk-filter-nav{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;}
  body.is-kiosk #clearFiltersBtn{grid-column:1/-1!important;}
  body.is-kiosk .kiosk-mode-actions button span,
  body.is-kiosk .kiosk-filter-nav__copy strong,
  body.is-kiosk .kiosk-date-trigger span{font-size:.92rem!important;white-space:normal!important;line-height:1.05!important;}
  body.is-kiosk.kiosk-filter-stuck .search-row--main,
  body.is-kiosk.kiosk-filters-collapsed .search-row--main{grid-template-columns:1fr auto!important;}
  body.is-kiosk.kiosk-filter-stuck .kiosk-date-trigger,
  body.is-kiosk.kiosk-filter-stuck .kiosk-mode-actions,
  body.is-kiosk.kiosk-filter-stuck .kiosk-fullscreen-btn,
  body.is-kiosk.kiosk-filter-stuck .kiosk-filter-nav,
  body.is-kiosk.kiosk-filter-stuck #clearFiltersBtn,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-date-trigger,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-mode-actions,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-fullscreen-btn,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-nav,
  body.is-kiosk.kiosk-filters-collapsed #clearFiltersBtn{display:none!important;}
  body.is-kiosk.kiosk-filter-stuck .field--search,
  body.is-kiosk.kiosk-filters-collapsed .field--search{grid-column:1/2!important;}
  body.is-kiosk.kiosk-filter-stuck .kiosk-filter-collapse-toggle,
  body.is-kiosk.kiosk-filters-collapsed .kiosk-filter-collapse-toggle{grid-column:2/3!important;display:flex!important;}

  body.is-kiosk .modal-card--product{
    width:100dvw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  body.is-kiosk .product-modal-body{
    display:flex!important;
    flex-direction:column!important;
    padding:0!important;
    gap:0!important;
  }
  body.is-kiosk .product-modal-gallery{
    display:flex!important;
    flex-direction:column!important;
    padding:10px!important;
    gap:8px!important;
    background:#0b0612!important;
    flex:0 0 auto!important;
  }
  body.is-kiosk .product-main-wrap img{
    max-height:50dvh!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
  }
  body.is-kiosk .thumb-column{
    display:flex!important;
    flex-direction:row!important;
    gap:8px!important;
    overflow-x:auto!important;
    width:100%!important;
    padding:2px 0!important;
  }
  body.is-kiosk .thumb-column button{flex:0 0 62px!important;width:62px!important;height:62px!important;}
  body.is-kiosk .product-modal-info{
    padding:14px!important;
    background:#10091b!important;
    flex:1 1 auto!important;
  }
}

/* Cartola: item de locação mantido após troca de data/CEP, mas marcado se conflitar */
.cart-item.is-unavailable {
  border-color: rgba(239, 68, 68, .55);
  background: rgba(127, 29, 29, .22);
}
.cart-item__warning {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  width: fit-content;
  margin-top: .25rem;
  padding: .22rem .5rem;
  border-radius: 999px;
  border: 1px solid rgba(248, 113, 113, .45);
  color: #fecaca;
  background: rgba(127, 29, 29, .42);
  font-weight: 700;
}

/* Hotfix disponibilidade loja — overlay também na loja pública comum */
.product-card.is-date-unavailable .product-card__image{position:relative;overflow:hidden;}
.product-card.is-date-unavailable .product-card__image img{filter:grayscale(.28) brightness(.70);}
.product-card__date-unavailable{position:absolute;inset:0;z-index:4;display:grid;place-items:center;align-content:center;gap:8px;padding:18px;text-align:center;background:rgba(7,4,12,.48);color:#fff;pointer-events:none;}
.product-card__date-unavailable i{width:54px;height:54px;border-radius:999px;display:grid;place-items:center;background:rgba(0,0,0,.70);border:1px solid rgba(255,255,255,.22);font-size:1.35rem;color:#ff8f9c;}
.product-card__date-unavailable strong{padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.16);font-size:.92rem;line-height:1.1;box-shadow:0 10px 24px rgba(0,0,0,.22);}

/* V19 - Opções PAC/SEDEX automáticas na Cartola */
.shipping-options{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:2px;
}
.shipping-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.shipping-option:hover{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}
.shipping-option.is-selected{
  border-color:rgba(32,164,255,.65);
  background:rgba(32,164,255,.13);
}
.shipping-option input{margin:0;accent-color:#20a4ff;}
.shipping-option span{display:grid;gap:1px;min-width:0;}
.shipping-option strong{font-size:.84rem;line-height:1.15;letter-spacing:.03em;}
.shipping-option small{font-size:.78rem;color:var(--muted);line-height:1.25;}
.shipping-quote-card #calcularFreteBtn[hidden]{display:none!important;}
@media (max-width:767px){
  .shipping-options{grid-template-columns:1fr;}
  .shipping-option{padding:8px 9px;}
}


/* =========================================================
   v20 — Contexto visível da Cartola
   - expõe CEP/data vindos dos filtros dentro do checkout
   - chips clicáveis para ajustar CEP/data sem deixar o cliente boiando
   ========================================================= */
.cartola-context-strip{
  display:flex!important;
  flex-direction:column;
  gap:8px;
  margin:8px 0 12px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
}
.cartola-context-strip[hidden]{display:none!important;}
.cartola-context-strip__label{
  color:rgba(255,255,255,.58);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.cartola-context-strip>div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cartola-context-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(82,241,168,.28);
  background:rgba(82,241,168,.08);
  color:#fff;
  border-radius:999px;
  padding:7px 10px;
  font:inherit;
  font-size:.84rem;
  line-height:1.15;
  cursor:pointer;
}
.cartola-context-chip i{color:#52f1a8;}
.cartola-context-chip strong{font-weight:900;color:#fff;}
.cartola-context-chip.is-warning{
  border-color:rgba(255,199,82,.35);
  background:rgba(255,199,82,.09);
}
.cartola-context-chip.is-warning i{color:#ffc752;}
@media(max-width:767px){
  .cartola-context-strip{margin:6px 0 10px;padding:8px;border-radius:14px;}
  .cartola-context-strip>div{gap:6px;}
  .cartola-context-chip{width:100%;justify-content:flex-start;font-size:.8rem;padding:7px 9px;}
}


/* v21 — Cartola: CEP/data antes da entrega, opções mais limpas e Correios só com PAC/SEDEX */
.checkout-context-fields{display:grid;gap:9px;margin:0 0 9px;}
.checkout-context-fields .form-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:9px!important;}
.checkout-context-fields .field--cep{grid-column:span 6!important;min-width:0!important;}
.checkout-context-fields #clienteDataEventoWrap{grid-column:span 6!important;min-width:0!important;}
.checkout-context-fields #clienteDataEventoWrap[hidden]{display:none!important;}
.checkout-context-fields #clienteDataEventoWrap[hidden] + *{grid-column:auto;}
.checkout-context-fields:not(.has-event-date) .field--cep{grid-column:1/-1!important;}
.delivery-choice-grid{margin-top:8px!important;}
.delivery-choice__copy strong{font-size:.9rem!important;}
.checkout-address-slot{margin-top:9px!important;}
.checkout-address-fields .field--street{grid-column:span 7!important;}
.checkout-address-fields .field--number{grid-column:span 2!important;}
.checkout-address-fields .field--district{grid-column:span 3!important;}
.checkout-address-fields .field--city{grid-column:span 8!important;}
.checkout-address-fields .field--uf{grid-column:span 4!important;}
.shipping-quote-card--choices-only{margin-top:8px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:grid!important;gap:8px!important;}
.shipping-quote-card--choices-only .shipping-quote-status[hidden]{display:none!important;}
.shipping-quote-card--choices-only .shipping-quote-status{padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);font-size:.86rem;}
.shipping-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;}
.shipping-option{margin:0!important;}
.shipping-option span{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:6px!important;padding:10px 12px!important;min-height:48px!important;border-radius:16px!important;}
.shipping-option span strong{font-size:.9rem!important;letter-spacing:.02em;}
.shipping-option span b{font-size:.88rem!important;color:#fff;white-space:nowrap;}
.shipping-option span small{grid-column:1/-1!important;margin:0!important;color:var(--muted)!important;font-size:.76rem!important;line-height:1.1!important;}
@media (max-width:767px){
  .checkout-context-fields .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .checkout-context-fields .field--cep{grid-column:span 1!important;}
  .checkout-context-fields #clienteDataEventoWrap{grid-column:span 1!important;}
  .checkout-context-fields:not(.has-event-date) .field--cep{grid-column:1/-1!important;}
  .shipping-options{grid-template-columns:1fr!important;}
  .shipping-option span{min-height:44px!important;padding:9px 10px!important;}
}

/* v55 — Cartola reorganizada: Itens > Dados > Entrega > Pagamento > Observação > Resumo */
.cart-section--itens{display:grid;gap:10px;}
.cart-items-stack{display:grid;gap:12px;}
.cart-items-block{display:grid;gap:8px;}
.cart-items-block__title{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:.86rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em;}
.cart-items-block__title i{opacity:.9;}
.cart-items-block:has(.cart-list.empty){opacity:.72;}
.checkout-rental-extra{display:grid;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.1);}
.checkout-rental-extra[hidden]{display:none!important;}
.checkout-group--obs{padding:0!important;overflow:hidden;}
.checkout-group--obs summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:13px 14px;color:#fff;font-weight:850;}
.checkout-group--obs summary::-webkit-details-marker{display:none;}
.checkout-group--obs summary span{display:flex;align-items:center;gap:9px;}
.checkout-group--obs summary small{color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap;}
.checkout-group--obs[open] summary{border-bottom:1px solid rgba(255,255,255,.08);}
.checkout-group--obs .form-grid{padding:12px 14px 14px;}
.checkout-group--obs textarea{min-height:82px;resize:vertical;}
.cart-summary--checkout{order:initial!important;margin-top:0!important;margin-bottom:10px!important;}
.cart-section.cart-summary h4{font-size:1rem;}
.shipping-quote-card--choices-only{padding:0!important;border:0!important;background:transparent!important;margin-top:8px!important;box-shadow:none!important;}
.shipping-quote-card--choices-only .shipping-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.shipping-quote-card--choices-only .shipping-option{margin:0;}
@media(max-width:767px){
  .cart-items-stack{gap:10px;}
  .checkout-rental-extra{margin-top:8px;padding-top:8px;}
  .checkout-group--obs summary{padding:12px;}
  .checkout-group--obs .form-grid{padding:10px 12px 12px;}
  .shipping-quote-card--choices-only .shipping-options{grid-template-columns:1fr;}
}


/* =========================================================
   v23 — Cartola: correção de sobreposição em resoluções intermediárias
   - endereço em grid mais seguro dentro do drawer
   - remove min-width herdado que fazia Número/Bairro se atropelarem
   - PAC/SEDEX e pagamento com textos truncados sem quebrar layout
   ========================================================= */
#cartolaDrawer .drawer__sheet{
  width:min(100%,620px)!important;
}
#cartolaDrawer .checkout-group,
#cartolaDrawer .checkout-address-slot,
#cartolaDrawer .checkout-address-fields,
#cartolaDrawer .shipping-quote-card,
#cartolaDrawer .payment-choice-grid{
  min-width:0!important;
  max-width:100%!important;
}
#cartolaDrawer .field{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#cartolaDrawer .field i{
  z-index:1!important;
  flex:0 0 auto!important;
}
#cartolaDrawer .field input,
#cartolaDrawer .field select,
#cartolaDrawer .field textarea{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#cartolaDrawer .checkout-context-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#cartolaDrawer .checkout-context-fields .field--cep{
  grid-column:auto!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-context-fields:not(.has-event-date) .field--cep{
  grid-column:1/-1!important;
}
#cartolaDrawer .checkout-context-fields #clienteDataEventoWrap{
  grid-column:auto!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
#cartolaDrawer .checkout-address-fields .field--cep{
  grid-column:1/-1!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--street{
  grid-column:1/-1!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--number{
  grid-column:span 2!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--district{
  grid-column:span 4!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--city{
  grid-column:span 4!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--uf{
  grid-column:span 2!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--full{
  grid-column:1/-1!important;
  min-width:0!important;
}
#cartolaDrawer .delivery-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#cartolaDrawer .delivery-choice,
#cartolaDrawer .delivery-choice__card,
#cartolaDrawer .delivery-choice__copy{
  min-width:0!important;
  max-width:100%!important;
}
#cartolaDrawer .shipping-quote-card--choices-only .shipping-options,
#cartolaDrawer .shipping-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#cartolaDrawer .shipping-option{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
}
#cartolaDrawer .shipping-option input{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
}
#cartolaDrawer .shipping-option span{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:4px 8px!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  min-height:0!important;
}
#cartolaDrawer .shipping-option strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#cartolaDrawer .shipping-option b{
  white-space:nowrap!important;
  min-width:max-content!important;
}
#cartolaDrawer .shipping-option small{
  grid-column:1/-1!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#cartolaDrawer .payment-choice.payment-choice--module{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#cartolaDrawer .payment-choice.payment-choice--module .payment-choice__copy strong,
#cartolaDrawer .payment-choice.payment-choice--module .payment-choice__copy small{
  min-width:0!important;
  max-width:100%!important;
}
@media (max-width:640px){
  #cartolaDrawer .drawer__body{padding:12px!important;gap:12px!important;}
  #cartolaDrawer .checkout-context-fields .form-grid{
    grid-template-columns:1fr!important;
  }
  #cartolaDrawer .checkout-context-fields .field--cep,
  #cartolaDrawer .checkout-context-fields #clienteDataEventoWrap{
    grid-column:1/-1!important;
  }
  #cartolaDrawer .delivery-choice-grid,
  #cartolaDrawer .shipping-quote-card--choices-only .shipping-options,
  #cartolaDrawer .shipping-options{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:430px){
  #cartolaDrawer .checkout-address-fields .form-grid{
    grid-template-columns:1fr!important;
  }
  #cartolaDrawer .checkout-address-fields .field--cep,
  #cartolaDrawer .checkout-address-fields .field--street,
  #cartolaDrawer .checkout-address-fields .field--number,
  #cartolaDrawer .checkout-address-fields .field--district,
  #cartolaDrawer .checkout-address-fields .field--city,
  #cartolaDrawer .checkout-address-fields .field--uf,
  #cartolaDrawer .checkout-address-fields .field--full{
    grid-column:1/-1!important;
  }
}


/* =========================================================
   v24 — Cartola: refinamento final de cards, Correios e observação
   - Itens passa a usar o mesmo card visual dos demais blocos
   - PAC/SEDEX ganham logos oficiais da loja
   - Retirar na Loja padronizado no JS
   - Observação com contador ao lado do título e seta no canto direito
   - Cidade e UF ficam na mesma linha também no mobile estreito
   ========================================================= */
#cartolaDrawer .cart-section--itens.checkout-group{
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.025)!important;
}
#cartolaDrawer .cart-section--itens.checkout-group h5{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  color:#fff!important;
  font-size:.98rem!important;
  line-height:1.25!important;
}
#cartolaDrawer .cart-section--itens.checkout-group .cart-items-stack{
  margin-top:2px!important;
}
#cartolaDrawer .cart-section--itens.checkout-group .cart-items-block__title{
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:.92rem!important;
  color:rgba(255,255,255,.82)!important;
}
#cartolaDrawer .shipping-option{
  grid-template-columns:16px 52px minmax(0,1fr)!important;
  gap:9px!important;
  min-height:64px!important;
}
#cartolaDrawer .shipping-option .shipping-option__media{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  height:38px!important;
  padding:0!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
}
#cartolaDrawer .shipping-option .shipping-option__media img{
  display:block!important;
  max-width:46px!important;
  max-height:30px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
#cartolaDrawer .shipping-option .shipping-option__copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:3px 8px!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  min-height:0!important;
}
#cartolaDrawer .shipping-option .shipping-option__copy strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#cartolaDrawer .shipping-option .shipping-option__copy b{
  white-space:nowrap!important;
  min-width:max-content!important;
}
#cartolaDrawer .shipping-option .shipping-option__copy small{
  grid-column:1/-1!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#cartolaDrawer .checkout-group--obs summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
#cartolaDrawer .checkout-group--obs .checkout-group__title{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-group--obs .obs-char-count{
  display:inline-flex!important;
  align-items:center!important;
  gap:1px!important;
  margin-left:2px!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--muted)!important;
  font-size:.74rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#cartolaDrawer .checkout-group--obs .checkout-group__chevron{
  margin-left:auto!important;
  color:rgba(255,255,255,.66)!important;
  font-size:.95rem!important;
  transition:transform .18s ease!important;
}
#cartolaDrawer .checkout-group--obs[open] .checkout-group__chevron{
  transform:rotate(180deg)!important;
}
@media(max-width:640px){
  #cartolaDrawer .cart-section--itens.checkout-group{padding:12px!important;border-radius:18px!important;}
  #cartolaDrawer .shipping-option{
    grid-template-columns:16px 48px minmax(0,1fr)!important;
    min-height:58px!important;
    padding:8px 9px!important;
  }
  #cartolaDrawer .shipping-option .shipping-option__media{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:34px!important;
    border-radius:10px!important;
  }
  #cartolaDrawer .shipping-option .shipping-option__media img{max-width:42px!important;max-height:27px!important;}
}
@media(max-width:430px){
  #cartolaDrawer .checkout-address-fields .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #cartolaDrawer .checkout-address-fields .field--cep,
  #cartolaDrawer .checkout-address-fields .field--street,
  #cartolaDrawer .checkout-address-fields .field--number,
  #cartolaDrawer .checkout-address-fields .field--district,
  #cartolaDrawer .checkout-address-fields .field--full{
    grid-column:1/-1!important;
  }
  #cartolaDrawer .checkout-address-fields .field--city,
  #cartolaDrawer .checkout-address-fields .field--uf{
    grid-column:span 1!important;
  }
}

/* =========================================================
   v25 — Cartola: mobile, ícones, estados resolvidos e meta de bônus
   ========================================================= */
#cartolaDrawer .payment-choice__icon--image{
  padding:4px!important;
  overflow:hidden!important;
}
#cartolaDrawer .payment-choice__icon--image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:10px!important;
}
#cartolaDrawer #termsWrap span{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  line-height:1.4!important;
}
#cartolaDrawer .terms-contract-icon{
  flex:0 0 auto!important;
  margin-top:1px!important;
  color:#90f7b5!important;
  font-size:1rem!important;
}
#cartolaDrawer .check-row#termsWrap.is-valid,
#cartolaDrawer .checkout-group.is-resolved{
  border-color:rgba(34,197,94,.55)!important;
  background:linear-gradient(180deg,rgba(34,197,94,.095),rgba(34,197,94,.045))!important;
  box-shadow:0 0 0 1px rgba(34,197,94,.12) inset!important;
}
#cartolaDrawer .checkout-group.is-resolved > h5,
#cartolaDrawer .checkout-group.is-resolved summary .checkout-group__title,
#cartolaDrawer .checkout-group.is-resolved .checkout-note{
  color:#d8ffe7!important;
}
#cartolaDrawer .cart-benefit-progress{
  display:grid!important;
  gap:9px!important;
  margin-top:8px!important;
  padding:11px 12px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  background:linear-gradient(135deg,rgba(255,209,102,.09),rgba(82,197,255,.08),rgba(34,197,94,.06))!important;
}
#cartolaDrawer .cart-benefit-progress__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#cartolaDrawer .cart-benefit-progress__head strong{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#fff!important;
  font-size:.9rem!important;
}
#cartolaDrawer .cart-benefit-progress__head strong i{
  color:#ffd166!important;
}
#cartolaDrawer .cart-benefit-progress__head span{
  display:inline-flex!important;
  align-items:center!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:.74rem!important;
  font-weight:800!important;
}
#cartolaDrawer .cart-benefit-progress__track{
  position:relative!important;
  width:100%!important;
  height:11px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
#cartolaDrawer .cart-benefit-progress__track span{
  display:block!important;
  width:0!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#ffd166 0%,#8ad1ff 50%,#22c55e 100%)!important;
  box-shadow:0 0 18px rgba(138,209,255,.22)!important;
  transition:width .45s ease!important;
  animation:cartolaBenefitPulse 1.8s ease-in-out infinite!important;
}
#cartolaDrawer .cart-benefit-progress__copy{
  color:rgba(255,255,255,.82)!important;
  font-size:.83rem!important;
  line-height:1.4!important;
}
#cartolaDrawer .cart-benefit-progress__copy b,
#cartolaDrawer .cart-benefit-progress__copy strong{
  color:#fff!important;
}
@keyframes cartolaBenefitPulse{
  0%,100%{filter:saturate(1) brightness(1)}
  50%{filter:saturate(1.12) brightness(1.08)}
}
@media(max-width:430px){
  #cartolaDrawer .checkout-address-fields .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #cartolaDrawer .checkout-address-fields .field--cep,
  #cartolaDrawer .checkout-address-fields .field--street,
  #cartolaDrawer .checkout-address-fields .field--full{
    grid-column:1/-1!important;
  }
  #cartolaDrawer .checkout-address-fields .field--number,
  #cartolaDrawer .checkout-address-fields .field--district,
  #cartolaDrawer .checkout-address-fields .field--city,
  #cartolaDrawer .checkout-address-fields .field--uf{
    grid-column:span 1!important;
  }
}

/* =========================================================
   v26 — Cartola: opções com rádio, verde consistente, item e bônus
   ========================================================= */
#cartolaDrawer .checkout-group.is-resolved{
  border-color:rgba(255,255,255,.1)!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:none!important;
}
#cartolaDrawer .checkout-group.is-resolved > h5,
#cartolaDrawer .checkout-group.is-resolved summary .checkout-group__title,
#cartolaDrawer .checkout-group.is-resolved .checkout-note{
  color:inherit!important;
}
#cartolaDrawer .delivery-choice{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
}
#cartolaDrawer .delivery-choice input{
  position:static!important;
  opacity:1!important;
  pointer-events:auto!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  accent-color:#22c55e!important;
}
#cartolaDrawer .delivery-choice__card{
  grid-template-columns:34px minmax(0,1fr)!important;
}
#cartolaDrawer .payment-choice.payment-choice--module{
  grid-template-columns:18px 48px minmax(0,1fr)!important;
}
#cartolaDrawer .payment-choice.payment-choice--module input{
  display:block!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  accent-color:#22c55e!important;
}
#cartolaDrawer .payment-choice.payment-choice--module.is-selected,
#cartolaDrawer .payment-choice.payment-choice--module:has(input:checked){
  border-color:rgba(34,197,94,.68)!important;
  background:rgba(34,197,94,.12)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.09)!important;
}
#cartolaDrawer .payment-choice.payment-choice--module.is-selected .payment-choice__icon,
#cartolaDrawer .payment-choice.payment-choice--module:has(input:checked) .payment-choice__icon{
  border-color:rgba(34,197,94,.62)!important;
  background:linear-gradient(135deg,rgba(34,197,94,.5),rgba(34,197,94,.16))!important;
  color:#fff!important;
}
#cartolaDrawer .payment-choice.payment-choice--module.is-selected .payment-choice__copy small,
#cartolaDrawer .payment-choice.payment-choice--module:has(input:checked) .payment-choice__copy small{
  color:rgba(226,255,236,.84)!important;
}
#cartolaDrawer .shipping-option input{
  accent-color:#22c55e!important;
}
#cartolaDrawer .shipping-option.is-selected,
#cartolaDrawer .shipping-option:has(input:checked){
  border-color:rgba(34,197,94,.72)!important;
  background:rgba(34,197,94,.12)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.08)!important;
}
#cartolaDrawer .cart-benefit-progress__track span{
  width:var(--benefit-progress,0%)!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete{
  background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(255,209,102,.10),rgba(138,209,255,.08))!important;
  border-color:rgba(34,197,94,.42)!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__track{
  display:none!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__head span{
  background:rgba(34,197,94,.18)!important;
  border-color:rgba(34,197,94,.35)!important;
  color:#d8ffe7!important;
}
#cartolaDrawer .cart-benefit-progress__copy{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
#cartolaDrawer .cart-benefit-progress__runner{
  flex:0 0 auto!important;
  font-size:1rem!important;
}
#cartolaDrawer .cart-benefit-progress__winner{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  font-size:1.55rem!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:3px 10px!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy strong{
  display:block!important;
  color:#fff!important;
  font-size:.98rem!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy small{
  display:block!important;
  grid-column:2!important;
  color:rgba(255,255,255,.76)!important;
  font-size:.78rem!important;
  line-height:1.35!important;
}
@media(max-width:640px){
  #cartolaDrawer .payment-choice.payment-choice--module{
    grid-template-columns:18px 42px minmax(0,1fr)!important;
  }
  #cartolaDrawer .delivery-choice{
    grid-template-columns:18px minmax(0,1fr)!important;
  }
}

/* =========================================================
   v26b — Catálogo responsivo: 2 mobile, 3 tablet, 4+ desktop
   ========================================================= */
body:not(.is-kiosk) .catalog-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
@media(min-width:1280px){
  body:not(.is-kiosk) .catalog-grid{
    grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  }
}
@media(min-width:768px) and (max-width:1279px){
  body:not(.is-kiosk) .catalog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  body:not(.is-kiosk) .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body:not(.is-kiosk) .product-card{
    border-radius:18px!important;
  }
  body:not(.is-kiosk) .product-card__body{
    padding:10px!important;
    gap:7px!important;
    min-height:unset!important;
  }
  body:not(.is-kiosk) .product-card__title{
    font-size:.9rem!important;
    line-height:1.16!important;
  }
  body:not(.is-kiosk) .product-card__meta{
    font-size:.78rem!important;
    min-height:0!important;
  }
  body:not(.is-kiosk) .price-stack{
    gap:6px!important;
  }
  body:not(.is-kiosk) .price-stack__row{
    padding:7px 8px!important;
    border-radius:13px!important;
    font-size:.78rem!important;
    grid-template-columns:22px minmax(0,1fr) auto!important;
    gap:6px!important;
  }
  body:not(.is-kiosk) .price-stack__row strong{
    font-size:.8rem!important;
    white-space:nowrap!important;
  }
  body:not(.is-kiosk) .price-stack__icon{
    width:22px!important;
    height:22px!important;
    font-size:.75rem!important;
  }
  body:not(.is-kiosk) .badge-stack{
    left:7px!important;
    top:7px!important;
    gap:4px!important;
    max-width:calc(100% - 42px)!important;
  }
  body:not(.is-kiosk) .badge-pill{
    padding:5px 7px!important;
    font-size:.68rem!important;
  }
}

/* =========================================================
   v27 — Catálogo/Cartola: variação visível, rádios internos e bônus compacto
   ========================================================= */
.product-variation-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 9px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.045)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.product-variation-chip i{font-size:.82rem!important;color:#8ad1ff!important;}
.product-variation-chip.is-modal{margin:0!important;color:#e9e4ff!important;}
#cartolaDrawer .delivery-choice{
  display:block!important;
}
#cartolaDrawer .delivery-choice input{
  position:static!important;
  opacity:1!important;
  pointer-events:auto!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  accent-color:#22c55e!important;
}
#cartolaDrawer .delivery-choice__card{
  display:grid!important;
  grid-template-columns:18px 34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
}
#cartolaDrawer .delivery-choice__card:has(input:checked){
  border-color:rgba(34,197,94,.72)!important;
  background:rgba(34,197,94,.13)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.08)!important;
}
#cartolaDrawer .delivery-choice__card:has(input:checked) .delivery-choice__box{
  background:#22c55e!important;
  border-color:#22c55e!important;
  color:#07110b!important;
}
#cartolaDrawer .payment-choice.payment-choice--module.is-selected,
#cartolaDrawer .payment-choice.payment-choice--module:has(input:checked),
#cartolaDrawer .payment-choice.payment-choice--pix.is-selected,
#cartolaDrawer .payment-choice.payment-choice--pix:has(input:checked){
  border-color:rgba(34,197,94,.72)!important;
  background:rgba(34,197,94,.13)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.08)!important;
}
#cartolaDrawer .payment-choice.payment-choice--module.is-selected .payment-choice__icon,
#cartolaDrawer .payment-choice.payment-choice--module:has(input:checked) .payment-choice__icon,
#cartolaDrawer .payment-choice.payment-choice--pix.is-selected .payment-choice__icon,
#cartolaDrawer .payment-choice.payment-choice--pix:has(input:checked) .payment-choice__icon{
  border-color:rgba(34,197,94,.65)!important;
  background:linear-gradient(135deg,rgba(34,197,94,.52),rgba(34,197,94,.16))!important;
  color:#fff!important;
}
#cartolaDrawer .shipping-option.is-selected,
#cartolaDrawer .shipping-option:has(input:checked){
  border-color:rgba(34,197,94,.72)!important;
  background:rgba(34,197,94,.13)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.08)!important;
}
#cartolaDrawer .cart-benefit-progress__copy{
  min-width:0!important;
}
#cartolaDrawer .cart-benefit-progress:not(.is-complete) .cart-benefit-progress__copy{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#cartolaDrawer .cart-benefit-progress:not(.is-complete) .cart-benefit-progress__copy span:last-child{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__head{
  display:none!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  align-items:center!important;
  gap:2px 10px!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__winner{
  grid-row:1 / span 2!important;
  width:46px!important;
  height:46px!important;
  font-size:1.7rem!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy strong{
  display:block!important;
  font-size:1rem!important;
  line-height:1.1!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy small{
  grid-column:2!important;
  font-size:.79rem!important;
  line-height:1.25!important;
}
@media(max-width:640px){
  #cartolaDrawer .delivery-choice__card{
    grid-template-columns:18px 32px minmax(0,1fr)!important;
  }
  #cartolaDrawer .cart-benefit-progress:not(.is-complete) .cart-benefit-progress__copy{
    white-space:normal!important;
    line-height:1.32!important;
  }
}


/* Hotfix V37 — Cartola mais direta e botões de ação óbvios */
#cartolaDrawer #checkoutIntro,
#cartolaDrawer #checkoutForm {
  width: 100%;
}

#cartolaDrawer #showCheckoutBtn,
#cartolaDrawer .checkout-btn {
  width: 100% !important;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 18px;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: 0 14px 34px rgba(0,0,0,.30), 0 0 22px rgba(0,212,255,.12);
}

#cartolaDrawer #showCheckoutBtn::after,
#cartolaDrawer .checkout-btn::after {
  content: "›";
  font-size: 1.45rem;
  line-height: 1;
  opacity: .92;
  transform: translateY(-1px);
}

#cartolaDrawer #showCheckoutBtn:hover,
#cartolaDrawer .checkout-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(0,0,0,.36), 0 0 28px rgba(0,212,255,.18);
}

#cartolaDrawer .checkout-intro--compact {
  display: grid;
  gap: 8px;
}

#cartolaDrawer .cart-items-block[hidden] {
  display: none !important;
}

#cartolaDrawer .field.is-invalid input#clienteTelefone {
  border-color: rgba(255,99,132,.82);
}


/* V38 — Cartola mais objetiva, CEP progressivo e CTA mais forte */
#clienteCepFieldWrap[hidden], #checkoutContextFields[hidden]{display:none!important;}
.payment-choice__copy small{line-height:1.25!important;}
.primary-btn--checkout,
.checkout-btn{
  width:100%!important;
  border-width:2px!important;
  box-shadow:0 12px 28px rgba(17,24,39,.28), inset 0 0 0 1px rgba(255,255,255,.16)!important;
  font-weight:900!important;
}
.primary-btn--checkout:hover,
.checkout-btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 16px 34px rgba(17,24,39,.34), 0 0 0 3px rgba(255,255,255,.08)!important;
}
.cartola-drawer .primary-btn--checkout span,
.cartola-drawer .checkout-btn span{letter-spacing:.01em!important;}


/* V39 — Cartola progressiva, alerta de rota, botões mais fortes e resumo mais claro */
#pixDiscountBadge{text-transform:none!important;white-space:nowrap;}
#cartolaDrawer .primary-btn.primary-btn--checkout,
#cartolaDrawer .checkout-btn{
  width:100%!important;
  justify-self:stretch!important;
  min-height:54px!important;
  border-radius:18px!important;
  font-size:1rem!important;
  font-weight:950!important;
  border:2px solid rgba(255,255,255,.18)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
#cartolaDrawer .primary-btn.primary-btn--checkout::before,
#cartolaDrawer .checkout-btn::before{
  padding:2px!important;
  opacity:.95!important;
}
#cartolaDrawer .delivery-choice-grid{margin-top:0!important;margin-bottom:9px!important;}
#cartolaDrawer .checkout-context-fields{margin:0 0 9px!important;}
#cartolaDrawer .checkout-route-alert{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  margin:8px 0 10px;
  border-radius:16px;
  border:1px solid rgba(255,193,7,.42);
  background:rgba(255,193,7,.12);
  color:#ffe9a3;
  line-height:1.35;
}
#cartolaDrawer .checkout-route-alert[hidden]{display:none!important;}
#cartolaDrawer .checkout-route-alert i{font-size:1.05rem;color:#ffd54f;margin-top:1px;}
#cartolaDrawer .checkout-route-alert strong{display:block;color:#fff;font-size:.92rem;}
#cartolaDrawer .checkout-route-alert span{display:block;color:rgba(255,255,255,.78);font-size:.82rem;margin-top:1px;}
#cartolaDrawer .checkout-address-fields .field--cep-inline-address{grid-column:span 4!important;min-width:154px!important;}
#cartolaDrawer .checkout-address-fields .field--cep-inline-address + .field--street{grid-column:span 5!important;}
@media(max-width:640px){
  #cartolaDrawer .checkout-address-fields .field--cep-inline-address,
  #cartolaDrawer .checkout-address-fields .field--cep-inline-address + .field--street{grid-column:1/-1!important;}
  #cartolaDrawer .primary-btn.primary-btn--checkout,
  #cartolaDrawer .checkout-btn{min-height:52px!important;}
}

/* V39 — Modal produto: aviso de venda bloqueada sem confundir locação */
.modal-note.is-warning strong + span,
.modal-note.is-warning p{line-height:1.45;}

/* =========================================================
   v41 — Cartola: CEP e Rua sempre na mesma linha
   - mantém o CEP como primeiro campo do bloco de endereço
   - desktop e mobile usam CEP + Rua lado a lado
   ========================================================= */
#cartolaDrawer .checkout-address-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
#cartolaDrawer .checkout-address-fields .field--cep{
  grid-column:span 2!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--street{
  grid-column:span 4!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--number{
  grid-column:span 2!important;
}
#cartolaDrawer .checkout-address-fields .field--district{
  grid-column:span 4!important;
}
#cartolaDrawer .checkout-address-fields .field--city{
  grid-column:span 4!important;
}
#cartolaDrawer .checkout-address-fields .field--uf{
  grid-column:span 2!important;
}
#cartolaDrawer .checkout-address-fields .field--full{
  grid-column:1/-1!important;
}
@media (max-width:430px){
  #cartolaDrawer .checkout-address-fields .form-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  #cartolaDrawer .checkout-address-fields .field--cep{
    grid-column:span 2!important;
  }
  #cartolaDrawer .checkout-address-fields .field--street{
    grid-column:span 4!important;
  }
  #cartolaDrawer .checkout-address-fields .field--number{
    grid-column:span 2!important;
  }
  #cartolaDrawer .checkout-address-fields .field--district{
    grid-column:span 4!important;
  }
  #cartolaDrawer .checkout-address-fields .field--city{
    grid-column:span 4!important;
  }
  #cartolaDrawer .checkout-address-fields .field--uf{
    grid-column:span 2!important;
  }
  #cartolaDrawer .checkout-address-fields .field--full{
    grid-column:1/-1!important;
  }
}

/* =========================================================
   v42 — Cartola mais limpa e parecida com carrinho moderno
   - topo da Cartola fica sempre visível
   - corpo central rola sozinho
   - resumo/botões ficam mais próximos do rodapé
   - remove o card genérico "Itens" e deixa só Aluguéis/Compras
   - mantém o site visível ao fundo e permite fechar tocando fora
   ========================================================= */
#cartolaDrawer{
  background:rgba(5,4,12,.58)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  padding:clamp(8px,2vw,18px)!important;
  align-items:stretch!important;
}
#cartolaDrawer .drawer__sheet{
  width:min(94vw,560px)!important;
  height:calc(100dvh - clamp(16px,4vw,36px))!important;
  max-height:calc(100dvh - clamp(16px,4vw,36px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border-radius:24px!important;
  box-shadow:0 24px 80px rgba(0,0,0,.48)!important;
}
#cartolaDrawer .modal-head{
  position:relative!important;
  z-index:30!important;
  flex:0 0 auto!important;
  background:linear-gradient(180deg,rgba(14,10,23,.98),rgba(14,10,23,.94))!important;
  border-bottom:1px solid rgba(255,255,255,.11)!important;
}
#cartolaDrawer .drawer__body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:14px 16px 16px!important;
  gap:12px!important;
  scrollbar-width:thin;
}
#cartolaDrawer .cartola-title{
  min-width:0!important;
}
#cartolaDrawer .cartola-title span::after{
  content:attr(data-count-label);
}
#cartolaDrawer .cart-section--itens{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#cartolaDrawer .cart-section--itens>h5{
  display:none!important;
}
#cartolaDrawer .cart-items-stack{
  display:grid!important;
  gap:10px!important;
}
#cartolaDrawer .cart-items-block{
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.035)!important;
  padding:10px!important;
}
#cartolaDrawer .cart-items-block__title{
  margin-bottom:8px!important;
}
#cartolaDrawer .cart-item{
  border-radius:16px!important;
  background:rgba(255,255,255,.04)!important;
}
#cartolaDrawer #checkoutForm{
  gap:12px!important;
}
#cartolaDrawer #checkoutForm:not([hidden]){
  display:flex!important;
  flex-direction:column!important;
}
#cartolaDrawer .cart-summary.cart-summary--checkout{
  position:sticky!important;
  bottom:66px!important;
  z-index:18!important;
  margin-top:4px!important;
  background:linear-gradient(180deg,rgba(19,13,31,.98),rgba(13,9,22,.99))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 -12px 30px rgba(0,0,0,.32)!important;
}
#cartolaDrawer #checkoutIntro{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  padding-top:6px!important;
  background:linear-gradient(180deg,rgba(13,9,22,0),rgba(13,9,22,.96) 35%,rgba(13,9,22,.99))!important;
}
#cartolaDrawer .checkout-btn{
  position:sticky!important;
  bottom:0!important;
  z-index:22!important;
  margin-top:2px!important;
}
#cartolaDrawer .cart-total-line{
  padding:6px 0!important;
}
#cartolaDrawer .cart-total-line--grand{
  padding-top:9px!important;
}
#cartolaDrawer .checkout-group{
  border-radius:18px!important;
}
@media(max-width:767px){
  #cartolaDrawer{
    padding:10px 0 10px 10px!important;
    justify-content:flex-end!important;
  }
  #cartolaDrawer .drawer__sheet{
    width:calc(100vw - 18px)!important;
    border-radius:22px 0 0 22px!important;
  }
  #cartolaDrawer .drawer__body{
    padding:12px 12px 14px!important;
  }
  #cartolaDrawer .cart-summary.cart-summary--checkout{
    bottom:64px!important;
  }
}
@media(max-width:390px){
  #cartolaDrawer .cart-item{
    grid-template-columns:54px 1fr auto!important;
    gap:8px!important;
  }
  #cartolaDrawer .cart-item img{
    width:54px!important;
    height:54px!important;
  }
}

/* =========================================================
   v43 — Cartola: compactação real, resumo sem sobrepor conteúdo
   - remove aninhamento visual dos itens
   - título com contador compacto
   - resumo menor e sem card de bônus liberado
   - botão final sticky sem misturar com o resumo
   ========================================================= */
#cartolaDrawer .modal-head{
  min-height:64px!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
#cartolaDrawer .modal-head__actions{display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;}
#cartolaDrawer .modal-head .icon-btn,
#cartolaDrawer .modal-head .cart-share-btn{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:16px!important;
}
#cartolaDrawer .cartola-title{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  min-width:0!important;
  max-width:calc(100% - 116px)!important;
}
#cartolaDrawer .cartola-title img{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:999px!important;
  object-fit:cover!important;
}
#cartolaDrawer .cartola-title span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:clamp(1.08rem,3.8vw,1.42rem)!important;
  line-height:1.05!important;
}
#cartolaDrawer .cartola-title span::after{
  content:attr(data-count-label)!important;
  display:inline-flex!important;
  align-items:center!important;
  margin-left:8px!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.25!important;
  vertical-align:middle!important;
}
#cartolaDrawer .cartola-title span::after:empty{display:none!important;}

/* tira o card genérico de Itens e deixa só os blocos reais */
#cartolaDrawer .cart-section--itens,
#cartolaDrawer .cart-section--itens.checkout-group,
#cartolaDrawer .cart-section--itens.checkout-group.is-resolved{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#cartolaDrawer .cart-section--itens>h5{display:none!important;}
#cartolaDrawer .cart-items-stack{gap:12px!important;}
#cartolaDrawer .cart-items-block{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  gap:7px!important;
}
#cartolaDrawer .cart-items-block__title{
  margin:0!important;
  padding:0 2px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.84rem!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
}
#cartolaDrawer .cart-list{gap:8px!important;}
#cartolaDrawer .cart-item{
  grid-template-columns:58px minmax(0,1fr) 30px!important;
  gap:9px!important;
  align-items:start!important;
  padding:9px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
#cartolaDrawer .cart-item img{
  width:58px!important;
  height:58px!important;
  border-radius:13px!important;
}
#cartolaDrawer .cart-item__content{gap:2px!important;min-width:0!important;}
#cartolaDrawer .cart-item__content strong{
  font-size:.92rem!important;
  line-height:1.15!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#cartolaDrawer .cart-item small{font-size:.76rem!important;line-height:1.22!important;}
#cartolaDrawer .cart-qty{margin-top:5px!important;transform:scale(.92);transform-origin:left center;}
#cartolaDrawer .remove-btn{font-size:1rem!important;line-height:1!important;}

/* resumo compacto, em fluxo normal, sem atravessar os campos ao rolar */
#cartolaDrawer .cart-summary.cart-summary--checkout{
  position:relative!important;
  bottom:auto!important;
  z-index:3!important;
  margin:4px 0 8px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  background:#140d21!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
#cartolaDrawer .cart-section.cart-summary h4{display:none!important;}
#cartolaDrawer .cart-total-line{
  padding:4px 0!important;
  font-size:.88rem!important;
  line-height:1.2!important;
}
#cartolaDrawer .cart-total-line strong{font-size:.94rem!important;}
#cartolaDrawer .cart-total-line--discount span,
#cartolaDrawer .cart-total-line--discount strong{color:#c7f9d8!important;}
#cartolaDrawer .cart-total-line--grand{
  margin-top:6px!important;
  padding-top:9px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
#cartolaDrawer .cart-total-line--grand span{font-size:.92rem!important;}
#cartolaDrawer .cart-total-line--grand strong{font-size:1.32rem!important;}
#cartolaDrawer .cart-discount-list{
  gap:4px!important;
  margin:5px 0 2px!important;
  padding:0!important;
}
#cartolaDrawer .cart-discount-list span{
  padding:5px 8px!important;
  border-radius:12px!important;
  gap:6px!important;
  font-size:.78rem!important;
}
#cartolaDrawer .cart-discount-list i{font-size:.78rem!important;}
#cartolaDrawer .cart-discount-list .is-bonus i{color:#ffd166!important;}
#cartolaDrawer .cart-discount-list b{font-size:.78rem!important;}
#cartolaDrawer .cart-benefit-progress.is-complete,
#cartolaDrawer .cart-benefit-progress[hidden]{display:none!important;}
#cartolaDrawer #checkoutForm:not([hidden]){
  padding-bottom:72px!important;
}
#cartolaDrawer .checkout-btn{
  position:sticky!important;
  bottom:0!important;
  z-index:25!important;
  margin:0!important;
  border-width:3px!important;
  background:linear-gradient(135deg,rgba(255,68,121,.95),rgba(255,209,102,.95),rgba(0,212,255,.95),rgba(139,92,246,.95))!important;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
  box-shadow:0 -10px 28px rgba(5,4,12,.74),0 10px 28px rgba(0,0,0,.26)!important;
}
#cartolaDrawer .checkout-btn::before{background:#171024!important;inset:2px!important;}

@media(max-width:767px){
  #cartolaDrawer .modal-head{min-height:62px!important;padding:10px 12px!important;}
  #cartolaDrawer .modal-head .icon-btn,
  #cartolaDrawer .modal-head .cart-share-btn{width:44px!important;height:44px!important;min-width:44px!important;}
  #cartolaDrawer .cartola-title{grid-template-columns:44px minmax(0,1fr)!important;gap:9px!important;max-width:calc(100% - 108px)!important;}
  #cartolaDrawer .cartola-title img{width:44px!important;height:44px!important;min-width:44px!important;}
  #cartolaDrawer .cartola-title span{font-size:1.1rem!important;}
  #cartolaDrawer .cartola-title span::after{font-size:.66rem!important;padding:2px 6px!important;margin-left:5px!important;}
  #cartolaDrawer .cart-item{grid-template-columns:52px minmax(0,1fr) 28px!important;padding:8px!important;}
  #cartolaDrawer .cart-item img{width:52px!important;height:52px!important;}
  #cartolaDrawer .cart-item__content strong{font-size:.88rem!important;}
  #cartolaDrawer .cart-item small{font-size:.72rem!important;}
  #cartolaDrawer .cart-summary.cart-summary--checkout{padding:10px 12px!important;border-radius:17px!important;}
  #cartolaDrawer .cart-total-line{font-size:.82rem!important;}
  #cartolaDrawer .cart-total-line--grand strong{font-size:1.18rem!important;}
}

#cartolaDrawer .cartola-title span:not([data-count-label])::after{display:none!important;}


/* =========================================================
   Hotfix 2026-05-28 — Cartola: resumo + CTA no mesmo rodapé
   - evita resumo rolando por baixo do botão
   - mantém o botão com o mesmo padrão do “Finalizar pedido”
   - endereço em grid fluida com pelo menos dois campos por linha no mobile
   ========================================================= */
#cartolaDrawer .drawer__sheet{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#cartolaDrawer .drawer__body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding-bottom:0!important;
}
#cartolaDrawer #checkoutForm:not([hidden]){
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding-bottom:0!important;
}
#cartolaDrawer .cartola-sticky-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:40!important;
  display:grid!important;
  gap:8px!important;
  margin-top:4px!important;
  padding:10px 0 0!important;
  background:linear-gradient(180deg,rgba(14,9,24,0),rgba(14,9,24,.96) 22%,rgba(14,9,24,1) 100%)!important;
  box-shadow:0 -18px 34px rgba(0,0,0,.34)!important;
}
#cartolaDrawer .cartola-sticky-footer:empty{display:none!important;}
#cartolaDrawer .cartola-sticky-footer .cart-summary.cart-summary--checkout{
  position:relative!important;
  bottom:auto!important;
  z-index:1!important;
  margin:0!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(24,17,39,.98),rgba(16,11,27,.98))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.24)!important;
}
#cartolaDrawer .cartola-sticky-footer .checkout-btn{
  position:relative!important;
  bottom:auto!important;
  z-index:2!important;
  min-height:54px!important;
  margin:0!important;
  width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border-radius:18px!important;
  border:0!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--text)!important;
  box-shadow:0 12px 28px rgba(17,24,39,.28), inset 0 0 0 1px rgba(255,255,255,.16)!important;
  text-shadow:none!important;
}
#cartolaDrawer .cartola-sticky-footer .checkout-btn::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  padding:1px!important;
  background:var(--grad)!important;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:1!important;
  pointer-events:none!important;
}
#cartolaDrawer .cartola-sticky-footer .checkout-btn::after{
  content:"›"!important;
  font-size:1.45rem!important;
  line-height:1!important;
  opacity:.92!important;
  transform:translateY(-1px)!important;
}
#cartolaDrawer .cartola-sticky-footer .checkout-btn i,
#cartolaDrawer .cartola-sticky-footer .checkout-btn span{
  position:relative!important;
  z-index:1!important;
  color:var(--text)!important;
  -webkit-text-fill-color:currentColor!important;
  background:none!important;
}
#cartolaDrawer .cartola-sticky-footer .checkout-btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 16px 34px rgba(17,24,39,.34),0 0 0 3px rgba(255,255,255,.08)!important;
}
#cartolaDrawer .cart-item img{
  border-radius:999px!important;
  object-fit:cover!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
#cartolaDrawer .checkout-address-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:9px!important;
}
#cartolaDrawer .checkout-address-fields .field,
#cartolaDrawer .checkout-address-fields .field--cep-inline-address{
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--cep,
#cartolaDrawer .checkout-address-fields .field--cep-inline-address{
  grid-column:span 3!important;
}
#cartolaDrawer .checkout-address-fields .field--street,
#cartolaDrawer .checkout-address-fields .field--cep-inline-address + .field--street{
  grid-column:span 5!important;
}
#cartolaDrawer .checkout-address-fields .field--number{grid-column:span 2!important;}
#cartolaDrawer .checkout-address-fields .field--district{grid-column:span 2!important;}
#cartolaDrawer .checkout-address-fields .field--city{grid-column:span 8!important;}
#cartolaDrawer .checkout-address-fields .field--uf{grid-column:span 4!important;}
#cartolaDrawer .checkout-address-fields .field--full{grid-column:1/-1!important;}
#cartolaDrawer .checkout-route-alert .link-btn,
.kiosk-alert-modal .link-btn{
  color:#fff!important;
  font-weight:900!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
@media(max-width:767px){
  #cartolaDrawer .drawer__body{padding-bottom:0!important;}
  #cartolaDrawer .cartola-sticky-footer{
    padding-top:8px!important;
    gap:7px!important;
  }
  #cartolaDrawer .cartola-sticky-footer .cart-summary.cart-summary--checkout{
    padding:9px 10px!important;
    border-radius:16px!important;
  }
  #cartolaDrawer .cartola-sticky-footer .checkout-btn{min-height:52px!important;}
  #cartolaDrawer .checkout-address-fields .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #cartolaDrawer .checkout-address-fields .field--cep,
  #cartolaDrawer .checkout-address-fields .field--cep-inline-address,
  #cartolaDrawer .checkout-address-fields .field--street,
  #cartolaDrawer .checkout-address-fields .field--cep-inline-address + .field--street,
  #cartolaDrawer .checkout-address-fields .field--number,
  #cartolaDrawer .checkout-address-fields .field--district,
  #cartolaDrawer .checkout-address-fields .field--city,
  #cartolaDrawer .checkout-address-fields .field--uf{
    grid-column:span 1!important;
  }
  #cartolaDrawer .checkout-address-fields .field--full{grid-column:1/-1!important;}
}

/* =========================================================
   Hotfix 2026-05-28.2 — Cartola: resumo fixo antes/depois do checkout
   - rodapé único com resumo + CTA desde a pré-finalização
   - endereço desktop com Rua em cima e Número/Bairro na linha de baixo
   - entrega mais compacta e bônus em até 2 linhas
   ========================================================= */
#cartolaDrawer #checkoutIntro{
  display:none!important;
  margin:0!important;
  padding:0!important;
}
#cartolaDrawer #checkoutStep{
  display:block!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  margin:0!important;
}
#cartolaDrawer .cartola-sticky-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:60!important;
  display:grid!important;
  gap:7px!important;
  margin:6px -1px 0!important;
  padding:10px 0 0!important;
  background:linear-gradient(180deg,rgba(14,9,24,0),rgba(14,9,24,.97) 24%,rgba(14,9,24,1) 100%)!important;
  box-shadow:0 -16px 34px rgba(0,0,0,.32)!important;
}
#cartolaDrawer .cartola-sticky-footer[hidden]{display:none!important;}
#cartolaDrawer .cartola-sticky-footer .cart-summary{
  position:relative!important;
  bottom:auto!important;
  margin:0!important;
  padding:9px 11px!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,rgba(24,17,39,.98),rgba(16,11,27,.98))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.23)!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-total-line{
  padding:3px 0!important;
  font-size:.84rem!important;
  line-height:1.15!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-total-line--grand{
  margin-top:4px!important;
  padding-top:7px!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-total-line--grand strong{font-size:1.16rem!important;}
#cartolaDrawer .cartola-sticky-footer .primary-btn,
#cartolaDrawer .cartola-sticky-footer .checkout-btn{
  position:relative!important;
  bottom:auto!important;
  z-index:2!important;
  min-height:54px!important;
  width:100%!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border-radius:18px!important;
}
#cartolaDrawer .cartola-sticky-footer .primary-btn[hidden],
#cartolaDrawer .cartola-sticky-footer .checkout-btn[hidden]{display:none!important;}

/* Entrega: elimina o vazio logo abaixo dos botões */
#cartolaDrawer #deliveryCheckoutGroup{gap:7px!important;}
#cartolaDrawer .delivery-choice-grid{
  margin-top:0!important;
  margin-bottom:0!important;
  gap:8px!important;
}
#cartolaDrawer .checkout-context-fields{
  margin:2px 0 0!important;
  gap:7px!important;
}
#cartolaDrawer .checkout-context-fields .form-grid{gap:8px!important;}
#cartolaDrawer .checkout-address-slot{margin-top:3px!important;}
#cartolaDrawer .shipping-quote-card--choices-only{margin-top:4px!important;}

/* Desktop: Rua em uma linha; Número e Bairro na linha seguinte */
#cartolaDrawer .checkout-address-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
#cartolaDrawer .checkout-address-fields .field--street,
#cartolaDrawer .checkout-address-fields .field--cep-inline-address + .field--street{
  grid-column:1/-1!important;
}
#cartolaDrawer .checkout-address-fields .field--number{
  grid-column:span 3!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--district{
  grid-column:span 9!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--city{
  grid-column:span 8!important;
}
#cartolaDrawer .checkout-address-fields .field--uf{
  grid-column:span 4!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .field--full{grid-column:1/-1!important;}

/* Bônus: mini card em no máximo 2 linhas visuais */
#cartolaDrawer .cart-benefit-progress{
  gap:4px!important;
  margin-top:5px!important;
  padding:7px 9px!important;
  border-radius:14px!important;
}
#cartolaDrawer .cart-benefit-progress__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}
#cartolaDrawer .cart-benefit-progress__head strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.8rem!important;
}
#cartolaDrawer .cart-benefit-progress__head span{
  flex:0 0 auto!important;
  padding:3px 7px!important;
  font-size:.68rem!important;
}
#cartolaDrawer .cart-benefit-progress__track{display:none!important;}
#cartolaDrawer .cart-benefit-progress__copy{
  display:block!important;
  font-size:.76rem!important;
  line-height:1.2!important;
  color:rgba(255,255,255,.8)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
}
#cartolaDrawer .cart-benefit-progress__runner,
#cartolaDrawer .cart-benefit-progress__winner{display:none!important;}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__head{display:none!important;}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}

@media(max-width:767px){
  #cartolaDrawer .cartola-sticky-footer{gap:6px!important;padding-top:8px!important;}
  #cartolaDrawer .cartola-sticky-footer .cart-summary{padding:8px 10px!important;border-radius:16px!important;}
  #cartolaDrawer .cartola-sticky-footer .primary-btn,
  #cartolaDrawer .cartola-sticky-footer .checkout-btn{min-height:52px!important;}
  #cartolaDrawer .checkout-address-fields .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #cartolaDrawer .checkout-address-fields .field--street,
  #cartolaDrawer .checkout-address-fields .field--cep-inline-address + .field--street{
    grid-column:1/-1!important;
  }
  #cartolaDrawer .checkout-address-fields .field--number,
  #cartolaDrawer .checkout-address-fields .field--district,
  #cartolaDrawer .checkout-address-fields .field--city,
  #cartolaDrawer .checkout-address-fields .field--uf{
    grid-column:span 1!important;
  }
  #cartolaDrawer .checkout-address-fields .field--full{grid-column:1/-1!important;}
}

/* =========================================================
   Hotfix 2026-05-29.3 — Cartola: contexto, rodapé e FAQ
   - CEP + data ficam na mesma linha quando a data existir
   - endereço da finalização usa sempre 2 campos por linha
   - último campo ímpar ocupa a linha inteira
   - resumo + CTA ficam fixos também no desktop
   - mini card de bônus volta a exibir barra fina
   ========================================================= */
#cartolaDrawer .drawer__sheet{
  position:relative!important;
  overflow:hidden!important;
}
#cartolaDrawer:has(.cartola-sticky-footer:not([hidden])) .drawer__body{
  padding-bottom:clamp(210px,30vh,285px)!important;
}
#cartolaDrawer .cartola-sticky-footer{
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:0!important;
  z-index:90!important;
  display:grid!important;
  gap:7px!important;
  margin:0!important;
  padding:14px 0 12px!important;
  background:linear-gradient(180deg,rgba(14,9,24,0),rgba(14,9,24,.96) 22%,rgba(14,9,24,1) 100%)!important;
  box-shadow:0 -18px 38px rgba(0,0,0,.42)!important;
}
#cartolaDrawer .cartola-sticky-footer[hidden]{display:none!important;}
#cartolaDrawer .cartola-sticky-footer .cart-summary{
  max-height:190px!important;
  overflow:hidden!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-total-line{
  padding:3px 0!important;
  line-height:1.12!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-total-line--grand{
  margin-top:3px!important;
  padding-top:7px!important;
}
#cartolaDrawer .cartola-sticky-footer .primary-btn,
#cartolaDrawer .cartola-sticky-footer .checkout-btn{
  min-height:54px!important;
  flex:0 0 auto!important;
}

/* CEP + data: dois campos por linha; se só CEP aparecer, ocupa tudo. */
#cartolaDrawer .checkout-context-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#cartolaDrawer .checkout-context-fields .field--cep,
#cartolaDrawer .checkout-context-fields #clienteDataEventoWrap{
  grid-column:span 1!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-context-fields:not(.has-event-date) .field--cep{
  grid-column:1/-1!important;
}
#cartolaDrawer .checkout-context-fields #clienteDataEventoWrap[hidden]{display:none!important;}

/* Endereço detalhado: sempre dois por linha; último ímpar vira full. */
#cartolaDrawer .checkout-address-fields .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
#cartolaDrawer .checkout-address-fields .field,
#cartolaDrawer .checkout-address-fields .field--street,
#cartolaDrawer .checkout-address-fields .field--number,
#cartolaDrawer .checkout-address-fields .field--district,
#cartolaDrawer .checkout-address-fields .field--city,
#cartolaDrawer .checkout-address-fields .field--uf,
#cartolaDrawer .checkout-address-fields .field--full{
  grid-column:span 1!important;
  min-width:0!important;
}
#cartolaDrawer .checkout-address-fields .form-grid > .field:last-child:nth-child(odd){
  grid-column:1/-1!important;
}

/* Bônus compacto com barra fina de progresso. */
#cartolaDrawer .cart-benefit-progress{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  padding:7px 9px!important;
  border-radius:14px!important;
}
#cartolaDrawer .cart-benefit-progress__track{
  display:block!important;
  height:3px!important;
  min-height:3px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.12)!important;
}
#cartolaDrawer .cart-benefit-progress__track span{
  display:block!important;
  height:100%!important;
  width:var(--benefit-progress,0%)!important;
  border-radius:inherit!important;
  background:var(--grad)!important;
}
#cartolaDrawer .cart-benefit-progress__head,
#cartolaDrawer .cart-benefit-progress__copy{
  min-width:0!important;
}
#cartolaDrawer .cart-benefit-progress__copy{
  -webkit-line-clamp:1!important;
}
#cartolaDrawer .cart-benefit-progress.is-complete .cart-benefit-progress__copy{
  -webkit-line-clamp:1!important;
}

@media(max-width:767px){
  #cartolaDrawer .cartola-sticky-footer{
    left:12px!important;
    right:12px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  #cartolaDrawer:has(.cartola-sticky-footer:not([hidden])) .drawer__body{
    padding-bottom:clamp(205px,31vh,280px)!important;
  }
  #cartolaDrawer .checkout-address-fields .form-grid,
  #cartolaDrawer .checkout-context-fields .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* =========================================================
   Hotfix 2026-05-29.4 — Resumo destacado + FAQ humanizado
   - não altera grid dos campos nem mini card de bônus
   - só diferencia o card financeiro do rodapé da Cartola
   ========================================================= */
#cartolaDrawer .cartola-sticky-footer .cart-summary{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(0,212,255,.10),transparent 34%),
    linear-gradient(180deg,rgba(31,23,49,.98),rgba(19,12,34,.99))!important;
  border:1px solid rgba(169,132,255,.24)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.075)!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-summary::before{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  top:0!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,rgba(255,68,121,.85),rgba(255,209,102,.85),rgba(0,212,255,.85),rgba(139,92,246,.85))!important;
  opacity:.72!important;
  pointer-events:none!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-summary .cart-total-line--grand{
  border-top-color:rgba(255,255,255,.14)!important;
}

/* =========================================================
   Hotfix 2026-05-29.5 — Cartola: resumo preto e folga real
   - não mexe no grid dos campos nem no mini card de bônus
   - evita que Observação/Forma de pagamento fiquem sob o rodapé
   ========================================================= */
@media (min-width:768px){
  #cartolaDrawer:has(.cartola-sticky-footer:not([hidden])) .drawer__body{
    padding-bottom:clamp(315px,42vh,410px)!important;
  }
}
#cartolaDrawer .cartola-sticky-footer .cart-summary{
  background:
    radial-gradient(circle at 8% -10%,rgba(255,255,255,.055),transparent 34%),
    linear-gradient(180deg,rgba(12,10,18,.995),rgba(4,3,8,1))!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
#cartolaDrawer .cartola-sticky-footer .cart-summary::before{
  opacity:.62!important;
}


/* =========================================================
   Hotfix 2026-05-29.6 — Filtros mais compactos + contexto enxuto
   - "Ambos" virou "Todos"
   - remove o texto "Você está vendo"
   - preserva data/CEP ativos sem ocupar meia tela no mobile
   ========================================================= */
.catalog-context-bar{
  padding:6px 0 0!important;
  gap:5px!important;
}
.catalog-context-bar__label{display:none!important;}
.catalog-context-chip{
  min-height:26px!important;
  padding:5px 8px!important;
  gap:5px!important;
  font-size:.78rem!important;
  line-height:1!important;
}
.catalog-context-chip i{font-size:.82rem!important;}
.catalog-context-chip button{width:16px!important;height:16px!important;}

@media(max-width:767px){
  body:not(.is-kiosk) .search-card{
    top:78px!important;
    padding:8px!important;
    border-radius:18px!important;
  }
  body:not(.is-kiosk) .search-row{gap:6px!important;}
  body:not(.is-kiosk) .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(92px,.42fr)!important;
    align-items:stretch!important;
  }
  body:not(.is-kiosk) .search-row--advanced{
    margin-top:6px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body:not(.is-kiosk) .search-card .field,
  body:not(.is-kiosk) .search-card .soft-btn{
    min-height:39px!important;
    border-radius:15px!important;
  }
  body:not(.is-kiosk) .search-card .field{
    padding:0 9px!important;
    gap:6px!important;
  }
  body:not(.is-kiosk) .search-card .field i{font-size:.9rem!important;}
  body:not(.is-kiosk) .search-card .field input,
  body:not(.is-kiosk) .search-card .field select{
    font-size:.82rem!important;
    min-width:0!important;
  }
  body:not(.is-kiosk) .field--mode select{padding-right:18px!important;}
  body:not(.is-kiosk) .catalog-context-bar{
    padding-top:4px!important;
    gap:4px!important;
  }
  body:not(.is-kiosk) .catalog-context-chip{
    min-height:23px!important;
    max-width:100%!important;
    padding:4px 6px!important;
    font-size:.70rem!important;
  }
  body:not(.is-kiosk) .catalog-context-chip span{
    min-width:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
}


/* =========================================================
   Hotfix 2026-05-29.7 — Alertas públicos + foco da finalização
   - impede modal de aviso de vazar cru no fim da página
   - deixa o alerta da loja com camada fixa e visual coerente
   - prepara o foco visual quando a finalização é aberta
   ========================================================= */
body:not(.is-kiosk) .kiosk-modal.kiosk-alert-modal{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  background:rgba(5,3,10,.72)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .22s ease!important;
}
body:not(.is-kiosk) .kiosk-modal.kiosk-alert-modal[hidden]{display:none!important;}
body:not(.is-kiosk) .kiosk-modal.kiosk-alert-modal.is-visible{
  opacity:1!important;
  pointer-events:auto!important;
}
body:not(.is-kiosk) .kiosk-alert-card{
  width:min(430px,calc(100vw - 30px))!important;
  max-height:min(78vh,560px)!important;
  overflow:auto!important;
  display:grid!important;
  gap:14px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(0,212,255,.10),transparent 36%),
    linear-gradient(145deg,rgba(22,16,35,.98),rgba(8,5,14,.99)) padding-box,
    var(--grad) border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.06) inset!important;
  color:var(--text)!important;
}
body:not(.is-kiosk) .kiosk-alert-card .kiosk-modal__head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
body:not(.is-kiosk) .kiosk-alert-card .kiosk-modal__head small{
  display:block!important;
  margin-bottom:2px!important;
  color:rgba(255,255,255,.58)!important;
  font-size:.76rem!important;
  font-weight:850!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
body:not(.is-kiosk) .kiosk-alert-card .kiosk-modal__head h3{
  margin:0!important;
  color:#fff!important;
  font-size:1.05rem!important;
  line-height:1.2!important;
}
body:not(.is-kiosk) .kiosk-alert-card .kiosk-round-btn{
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.04)!important;
  color:#fff!important;
  cursor:pointer!important;
}
body:not(.is-kiosk) .kiosk-alert-body{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:flex-start!important;
  padding:13px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body:not(.is-kiosk) .kiosk-alert-icon{
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,211,90,.13)!important;
  color:#ffd45a!important;
}
body:not(.is-kiosk) .kiosk-alert-body p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  line-height:1.46!important;
  font-size:.92rem!important;
}
body:not(.is-kiosk) .kiosk-alert-card .kiosk-modal__actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
body:not(.is-kiosk) .kiosk-alert-card .kiosk-filter-btn{
  min-height:44px!important;
  padding:0 16px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  cursor:pointer!important;
  font-weight:850!important;
}
body:not(.is-kiosk) #checkoutForm:not([hidden]) :is(#quickDataCheckoutGroup,#deliveryCheckoutGroup,#paymentCheckoutGroup){
  scroll-margin-top:16px!important;
  scroll-margin-bottom:220px!important;
}
@media(max-width:767px){
  body:not(.is-kiosk) .kiosk-alert-card{border-radius:22px!important;padding:16px!important;}
  body:not(.is-kiosk) .kiosk-alert-body{grid-template-columns:38px minmax(0,1fr)!important;padding:11px!important;}
  body:not(.is-kiosk) .kiosk-alert-icon{width:38px!important;height:38px!important;border-radius:14px!important;}
}

/* Promoções nos cards públicos */
.product-card__image{position:relative;}


.price-promo{
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
  line-height:1.05;
}
.price-old{
  color:rgba(255,255,255,.42);
  font-size:.68rem;
  font-weight:750;
  text-decoration:line-through;
  white-space:nowrap;
}
.price-new{
  color:#34f5a2;
  font-size:.88rem;
  font-weight:950;
  white-space:nowrap;
}
.price-stack__row .price-promo + strong{margin-left:0;}
@media(max-width:640px){
.price-old{font-size:.58rem;}
  .price-new{font-size:.78rem;}
}

/* v12 — Cartola: remove card vazio dos Correios quando ainda não há opções/status */
#cartolaDrawer #freteCorreiosCard:not([hidden]):has(#freteCorreiosOptions[hidden]):has(#freteCorreiosStatus[hidden]){
  display:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  min-height:0!important;
}


/* V13: não deixar wrappers ocultos de frete/Correios ocuparem espaço na Cartola. */
#cartolaDrawer #freteCorreiosCard[hidden],
#cartolaDrawer #freteCorreiosOptions[hidden],
#cartolaDrawer #freteCorreiosStatus[hidden],
#cartolaDrawer .shipping-quote-card[hidden],
#cartolaDrawer .shipping-options[hidden],
#cartolaDrawer .shipping-quote-status[hidden]{display:none!important;margin:0!important;padding:0!important;border:0!important;min-height:0!important;}
#cartolaDrawer #deliveryCheckoutGroup{gap:6px!important;}
#cartolaDrawer #deliveryCheckoutGroup > :empty{display:none!important;}


/* Hotfix v14 — destaque de promoção dentro da Cartola da loja. */
#cartolaDrawer .cart-item__promo{color:#ffd36a!important;font-weight:850!important;}
#cartolaDrawer .cart-item__promo i{color:#ff7a1a;margin-right:4px;}
#cartolaDrawer .cart-item__promo b{color:#fff!important;}
#cartolaDrawer .cart-item__promo s{opacity:.72;}

/* Hotfix v15 — filtros da loja e Cartola compacta */
body:not(.is-kiosk) .search-card{
  background:#000!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.38)!important;
}
.cart-item--compact .cart-item__content{gap:2px!important;line-height:1.15!important;}
.cart-item--compact .cart-item__content strong{line-height:1.15!important;}
.cart-item--compact .cart-item__content small{line-height:1.22!important;}
.cart-item__price-line{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap;}
.cart-item__promo-inline{display:inline-flex;align-items:center;gap:5px;color:#ffd166;font-weight:800;}
.cart-item__promo-inline s{opacity:.65;color:var(--muted);font-weight:700;}
.cart-item__promo-inline b{color:#fff;font-weight:900;}

/* Hotfix v16 — ajustes finos loja pública: filtros, preço promocional e Cartola */
.price-new{display:inline-flex!important;align-items:center!important;gap:4px!important;}
.price-new i{color:#ff7a1a!important;font-size:.9em!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));}
.cart-item__price-line{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;}
.cart-item__price-line > span{display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:0!important;}
@media(max-width:767px){
  body:not(.is-kiosk) .search-row--main{grid-template-columns:minmax(0,1.35fr) minmax(116px,.65fr)!important;}
  body:not(.is-kiosk) .field--mode{min-width:116px!important;}
  body:not(.is-kiosk) .field--mode select{font-size:.82rem!important;padding-left:30px!important;padding-right:24px!important;text-overflow:clip!important;}
  body:not(.is-kiosk) .field--mode i{left:10px!important;}
}

/* Hotfix v17 — Botão voltar ao topo dentro da Cartola pública */
#cartolaDrawer .drawer__sheet{position:relative;}
.cartola-back-top{
  position:fixed;
  right:clamp(18px,2.4vw,34px);
  bottom:calc(150px + env(safe-area-inset-bottom));
  z-index:12050;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.86);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 14px 32px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(10px);
}
.cartola-back-top:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.34);}
.cartola-back-top[hidden]{display:none!important;}
@media (max-width:720px){
  .cartola-back-top{right:16px;bottom:calc(142px + env(safe-area-inset-bottom));width:42px;height:42px;}
}

/* =========================================================
   v19i — Home: atalhos abaixo do hero ocupam a largura do container
   ========================================================= */
.hero-screen .shortcut-grid,
#screen-inicio .shortcut-grid{
  width:100%;
  max-width:none!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (max-width:767px){
  .hero-screen .shortcut-grid,
  #screen-inicio .shortcut-grid{
    grid-template-columns:1fr;
  }
}

/* v20.8 — composição do produto e quantidade das variações */
.product-composition{
  display:grid;
  gap:7px;
  margin:.25rem 0 .65rem;
  padding:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.product-composition[hidden]{display:none!important}
.product-composition__title{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.product-composition__chips{display:flex;flex-wrap:wrap;gap:5px}
.product-composition__chips span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);padding:3px 8px;color:#fff;font-size:.8rem;line-height:1.15}


.product-simple-stock{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 6px}
.product-simple-stock[hidden]{display:none!important}
.product-simple-stock span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);border-radius:999px;padding:5px 9px;color:#fff;font-size:.84rem;font-weight:750;line-height:1}
.product-simple-stock i{color:var(--accent);font-size:.95rem}


/* =========================================================
   V21-F2.5.1 — Cartola vazia com orientação amigável
   - restaura conteúdo do drawer quando ainda não há itens
   - não altera regra de disponibilidade, envio ou persistência
   ========================================================= */
#cartolaDrawer .cartola-empty-state{
  display:grid!important;
  justify-items:center!important;
  text-align:center!important;
  gap:12px!important;
  margin-top:10px!important;
  padding:28px 18px!important;
  border:1px dashed rgba(255,255,255,.18)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))!important;
  color:rgba(255,255,255,.82)!important;
}
#cartolaDrawer .cartola-empty-state[hidden]{display:none!important;}
#cartolaDrawer .cartola-empty-state__icon{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:20px!important;
  color:#ffe68a!important;
  background:rgba(255,209,102,.12)!important;
  border:1px solid rgba(255,209,102,.28)!important;
  box-shadow:0 0 0 1px rgba(0,212,255,.10),0 18px 44px rgba(0,0,0,.28)!important;
  font-size:1.65rem!important;
}
#cartolaDrawer .cartola-empty-state strong{
  color:#fff!important;
  font-size:1.2rem!important;
  line-height:1.15!important;
  font-weight:950!important;
}
#cartolaDrawer .cartola-empty-state p{
  max-width:360px!important;
  margin:0!important;
  color:rgba(255,255,255,.70)!important;
  font-size:.95rem!important;
  line-height:1.45!important;
}
#cartolaDrawer .cartola-empty-state__tips{
  width:100%!important;
  display:grid!important;
  gap:8px!important;
  margin-top:2px!important;
}
#cartolaDrawer .cartola-empty-state__tips span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:rgba(255,255,255,.74)!important;
  font-size:.82rem!important;
  font-weight:800!important;
}
#cartolaDrawer .cartola-empty-state__tips i{color:#ffe68a!important;}

/* =========================================================
   V21-F2.5.2 — Correção Cartola vazia da LOJA pública
   - corrige override antigo que escondia #checkoutIntro com display:none!important
   - vale somente quando a Cartola não tem itens e o JS remove o atributo hidden
   - não afeta Quiosque, envio, disponibilidade ou pagamentos
   ========================================================= */
#cartolaDrawer #checkoutIntro.cartola-empty-state:not([hidden]){
  display:grid!important;
}
#cartolaDrawer #checkoutIntro.cartola-empty-state[hidden]{
  display:none!important;
}
#cartolaDrawer .cart-items-block[hidden] + .cart-items-block[hidden] ~ #checkoutStep,
#cartolaDrawer #checkoutStep{
  min-height:auto!important;
}

/* Ajuste Codex 2026-06-19: fundo branco apenas nas areas de imagem dos produtos. */
.product-card__image,
.product-main-wrap,
.thumb-column button,
.related-card img,
.context-change-item img,
.order-test-item img,
#cartolaDrawer .cart-item img,
body.is-kiosk .product-card__image,
body.is-kiosk .product-card__media,
body.is-kiosk .product-main-wrap{
  background:#fff!important;
}
.product-card__image img,
.product-main-wrap img,
.thumb-column img,
.related-card img,
.context-change-item img,
.order-test-item img,
#cartolaDrawer .cart-item img,
body.is-kiosk .product-card__image img,
body.is-kiosk .product-card__media img,
body.is-kiosk .product-main-wrap img{
  background:#fff!important;
}
/* v55 - carregamento progressivo de imagens */
@keyframes magicMediaShimmer{
  0%{background-position:180% 0}
  100%{background-position:-180% 0}
}
.product-card__image,
.thumb-column button,
.product-main-wrap,
.fullscreen-gallery__figure{
  background-color:#fff;
  background-image:linear-gradient(100deg,#eceff3 8%,#fff 18%,#eceff3 33%);
  background-size:220% 100%;
  animation:magicMediaShimmer 1.15s linear infinite;
}
.product-main-wrap{overflow:hidden;border-radius:24px}
.magic-image-load{opacity:0!important;transition:opacity .22s ease!important}
.magic-image-load.is-loaded{opacity:1!important}
.product-card__image:has(>img.magic-image-load.is-loaded),
.thumb-column button:has(>img.magic-image-load.is-loaded),
.product-main-wrap:has(>img.magic-image-load.is-loaded),
.fullscreen-gallery__figure:has(img.magic-image-load.is-loaded){
  background-image:none;
  animation:none;
}
@media (prefers-reduced-motion:reduce){
  .product-card__image,.thumb-column button,.product-main-wrap,.fullscreen-gallery__figure{animation:none}
  .magic-image-load{transition:none!important}
}

/* Categoria e tema publicos: texto legivel em vez do rotulo redundante e das reticencias. */
.tile-card--thumb .tile-card__content strong{
  display:block;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

/* v57 — categorias/temas: hierarquia visual e truncagem aprovada em 2 linhas. */
.tile-card--thumb .tile-card__content strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  white-space:normal!important;
  text-overflow:ellipsis!important;
  line-height:1.15!important;
  max-height:2.3em!important;
}
.tile-card--thumb[data-level="1"]{margin-left:clamp(6px,.8vw,14px);}
.tile-card--thumb[data-level="2"]{margin-left:clamp(12px,1.6vw,28px);}
.tile-card--thumb[data-level="3"]{margin-left:clamp(18px,2.4vw,42px);}

/* ========================================================================== 
   ERP Magic V55 — filtros responsivos do Quiosque + seleção rainbow
   ========================================================================== */
body.is-kiosk #kioskModeActions{display:none!important}
body.is-kiosk .field--mode{display:flex!important}
body.is-kiosk #modeSelect{display:block!important}
body.is-kiosk #searchCard{position:sticky!important;top:0!important;z-index:120!important}
body.is-kiosk #searchCard .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(280px,2fr) minmax(150px,.72fr) minmax(132px,.62fr) minmax(420px,1.6fr)!important;
  gap:10px!important;align-items:stretch!important
}
body.is-kiosk #searchCard .field--search{grid-column:1!important;order:1!important}
body.is-kiosk #searchCard .kiosk-date-field{grid-column:2!important;order:2!important}
body.is-kiosk #searchCard .kiosk-mode-select-field{grid-column:3!important;order:3!important}
body.is-kiosk #searchCard .kiosk-filter-nav{grid-column:4!important;order:4!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
body.is-kiosk #searchCard .kiosk-filter-nav__btn,
body.is-kiosk #searchCard .kiosk-filter-collapse-toggle{min-width:0!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
body.is-kiosk #searchCard #clearFiltersBtn,
body.is-kiosk #searchCard #kioskFullscreenCatalogBtn{display:none!important}
body.is-kiosk #searchCard .search-row--advanced{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
body.is-kiosk #searchCard .search-row--advanced[hidden]{display:none!important}
body.is-kiosk #searchCard.is-collapsed{padding-block:8px!important}
body.is-kiosk.kiosk-filters-collapsed #searchCard .search-row--advanced{display:none!important}
body.is-kiosk .variation-choice-card.is-active{border-color:transparent!important;background:linear-gradient(#160923,#160923) padding-box,linear-gradient(90deg,#ff4242,#ffc400,#22c55e,#06b6d4,#7c3aed) border-box!important}

@media(max-width:1180px){
  body.is-kiosk #searchCard .search-row--main{grid-template-columns:minmax(240px,1.7fr) minmax(145px,.72fr) minmax(125px,.62fr)!important}
  body.is-kiosk #searchCard .field--search{grid-column:1!important}
  body.is-kiosk #searchCard .kiosk-date-field{grid-column:2!important}
  body.is-kiosk #searchCard .kiosk-mode-select-field{grid-column:3!important}
  body.is-kiosk #searchCard .kiosk-filter-nav{grid-column:1/-1!important;grid-row:2!important}
  body.is-kiosk #searchCard .search-row--advanced{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:760px){
  body.is-kiosk #searchCard{border-radius:0 0 20px 20px!important;padding:10px!important}
  body.is-kiosk #searchCard .search-row--main{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}
  body.is-kiosk #searchCard .field--search{grid-column:1/-1!important;grid-row:1!important;order:1!important}
  body.is-kiosk #searchCard .kiosk-date-field{grid-column:1!important;grid-row:2!important;order:2!important}
  body.is-kiosk #searchCard .kiosk-mode-select-field{grid-column:2!important;grid-row:2!important;order:3!important}
  body.is-kiosk #searchCard .kiosk-filter-nav{grid-column:1/-1!important;grid-row:3!important;order:4!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.is-kiosk #searchCard .kiosk-filter-nav__copy strong{font-size:.82rem!important}
  body.is-kiosk #searchCard .kiosk-filter-nav__icon{display:none!important}
  body.is-kiosk #searchCard .search-row--advanced{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding-top:8px!important}
  body.is-kiosk.kiosk-filters-collapsed #searchCard .search-row--main{grid-template-columns:minmax(0,1fr) auto!important}
  body.is-kiosk.kiosk-filters-collapsed #searchCard .field--search{grid-column:1!important;grid-row:1!important}
  body.is-kiosk.kiosk-filters-collapsed #searchCard .kiosk-date-field,
  body.is-kiosk.kiosk-filters-collapsed #searchCard .kiosk-mode-select-field{display:none!important}
  body.is-kiosk.kiosk-filters-collapsed #searchCard .kiosk-filter-nav{display:grid!important;grid-column:2!important;grid-row:1!important;grid-template-columns:46px!important}
  body.is-kiosk.kiosk-filters-collapsed #searchCard .kiosk-filter-nav__btn:not(.kiosk-filter-collapse-toggle){display:none!important}
  body.is-kiosk.kiosk-filters-collapsed #searchCard .kiosk-filter-collapse-toggle{display:flex!important;width:46px!important}
}


/* ============================================================
   V57 — apresentação pública e zoom sem corte
   ============================================================ */
body:not(.is-kiosk) .catalog-fullscreen-btn{
  display:inline-flex!important;align-items:center;justify-content:center;gap:.45rem;
}
body:not(.is-kiosk) .fullscreen-gallery__stage{
  width:100vw!important;height:100dvh!important;min-height:100dvh!important;
  padding:64px 18px 86px!important;box-sizing:border-box!important;overflow:hidden!important;
}
body:not(.is-kiosk) .fullscreen-gallery__figure{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  display:grid!important;place-items:center!important;overflow:hidden!important;background:#05020a!important;
}
body:not(.is-kiosk) .fullscreen-gallery__figure img,
body:not(.is-kiosk) #fullscreenGalleryImage{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center center!important;display:block!important;
}
@media (max-width:767.98px){
  body:not(.is-kiosk) .catalog-fullscreen-btn span{display:none!important;}
  body:not(.is-kiosk) .catalog-fullscreen-btn{min-width:44px!important;padding-inline:.75rem!important;}
  body:not(.is-kiosk) .fullscreen-gallery__stage{padding:58px 8px 104px!important;}
}


/* ============================================================
   ERP Magic V58 — filtros públicos estáveis e zoom realmente contido
   ============================================================ */
body:not(.is-kiosk) #searchCard .search-row--main{
  display:grid!important;
  grid-template-columns:minmax(320px,1fr) minmax(150px,190px) auto auto auto!important;
  grid-template-areas:"search mode present clear filters"!important;
  gap:8px!important;align-items:stretch!important;
}
body:not(.is-kiosk) #searchCard .field--search{grid-area:search!important;min-width:0!important;}
body:not(.is-kiosk) #searchCard .field--mode{grid-area:mode!important;min-width:0!important;}
body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn{grid-area:present!important;}
body:not(.is-kiosk) #searchCard #clearFiltersBtn{grid-area:clear!important;}
body:not(.is-kiosk) #searchCard #toggleAdvancedBtn{grid-area:filters!important;}
body:not(.is-kiosk) #searchCard .search-row--main > *{margin:0!important;min-height:46px!important;}

body:not(.is-kiosk) .fullscreen-gallery__stage{
  display:flex!important;align-items:center!important;justify-content:center!important;
}
body:not(.is-kiosk) .fullscreen-gallery__figure{
  display:flex!important;align-items:center!important;justify-content:center!important;
}
body:not(.is-kiosk) .fullscreen-gallery__figure img,
body:not(.is-kiosk) #fullscreenGalleryImage{
  width:auto!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
  flex:0 1 auto!important;
}

@media(max-width:760px){
  body:not(.is-kiosk) #searchCard .search-row--main,
  body:not(.is-kiosk) #searchCard.is-collapsed .search-row--main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,38%) repeat(3,minmax(0,1fr))!important;
    grid-template-areas:
      "search search search mode mode"
      "present present clear clear filters"!important;
    gap:8px!important;
  }
  body:not(.is-kiosk) #searchCard .search-row--main > *{min-height:46px!important;}
  body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn span,
  body:not(.is-kiosk) #searchCard #clearFiltersBtn span,
  body:not(.is-kiosk) #searchCard #toggleAdvancedBtn span{display:inline!important;}
  body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn,
  body:not(.is-kiosk) #searchCard #clearFiltersBtn,
  body:not(.is-kiosk) #searchCard #toggleAdvancedBtn{width:100%!important;min-width:0!important;padding-inline:8px!important;}
  body:not(.is-kiosk) .fullscreen-gallery__stage{padding:58px 8px 104px!important;}
}

/* ============================================================
   ERP Magic V59 — barra principal dos filtros da Loja
   - Apresentar sempre compacto por ícone
   - sem truncamento/reticências nos botões de ação
   - 1 linha no desktop e 2 linhas no mobile
   ============================================================ */
body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn{
  width:46px!important;min-width:46px!important;max-width:46px!important;
  padding:0!important;display:grid!important;place-items:center!important;
}
body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn span{display:none!important;}
body:not(.is-kiosk) #searchCard #clearFiltersBtn,
body:not(.is-kiosk) #searchCard #toggleAdvancedBtn{
  min-width:max-content!important;width:auto!important;padding-inline:14px!important;
}
body:not(.is-kiosk) #searchCard #clearFiltersBtn span,
body:not(.is-kiosk) #searchCard #toggleAdvancedBtn span{
  display:inline!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
body:not(.is-kiosk) #searchCard .search-row--main{
  grid-template-columns:minmax(260px,1fr) minmax(132px,180px) 46px max-content max-content!important;
  grid-template-areas:"search mode present clear filters"!important;
}
@media(min-width:761px) and (max-width:980px){
  body:not(.is-kiosk) #searchCard #clearFiltersBtn,
  body:not(.is-kiosk) #searchCard #toggleAdvancedBtn{width:46px!important;min-width:46px!important;padding:0!important;display:grid!important;place-items:center!important;}
  body:not(.is-kiosk) #searchCard #clearFiltersBtn span,
  body:not(.is-kiosk) #searchCard #toggleAdvancedBtn span{display:none!important;}
}
@media(max-width:760px){
  body:not(.is-kiosk) #searchCard .search-row--main,
  body:not(.is-kiosk) #searchCard.is-collapsed .search-row--main{
    grid-template-columns:minmax(0,1fr) minmax(104px,38%)!important;
    grid-template-areas:
      "search mode"
      "present clear"
      "present filters"!important;
    gap:8px!important;
  }
  body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn{
    grid-row:2/4!important;height:100%!important;min-height:92px!important;
  }
  body:not(.is-kiosk) #searchCard #clearFiltersBtn,
  body:not(.is-kiosk) #searchCard #toggleAdvancedBtn{
    width:100%!important;min-width:0!important;justify-content:center!important;padding-inline:8px!important;
  }
}
@media(max-width:360px){
  body:not(.is-kiosk) #searchCard #clearFiltersBtn span,
  body:not(.is-kiosk) #searchCard #toggleAdvancedBtn span{display:none!important;}
}
/* V59.1 — correção final: exatamente duas linhas no mobile. */
@media(max-width:760px){
  body:not(.is-kiosk) #searchCard .search-row--main,
  body:not(.is-kiosk) #searchCard.is-collapsed .search-row--main{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-areas:
      "search search search search mode mode"
      "present clear clear filters filters filters"!important;
  }
  body:not(.is-kiosk) #searchCard .catalog-fullscreen-btn{
    grid-row:auto!important;height:46px!important;min-height:46px!important;
    width:46px!important;min-width:46px!important;justify-self:start!important;
  }
}


/* ============================================================
   Pré-migração V149 — imagens estáveis, fundo branco e viewport
   ============================================================ */
.product-card__image,
.product-main-wrap,
.thumb-column button,
.fullscreen-gallery__figure{
  background:#fff!important;
}
.product-card__image img,
.product-main-wrap img,
.thumb-column button img,
.fullscreen-gallery__figure img{
  object-fit:contain!important;
  object-position:center!important;
}
body:not(.is-kiosk) #productModal .modal-card--product{
  max-height:100dvh!important;
  overflow:hidden!important;
}
body:not(.is-kiosk) #productModal .product-modal-body{
  min-height:0!important;
  overflow:auto!important;
}
body:not(.is-kiosk) #productModal .product-modal-gallery{
  min-height:0!important;
}
body:not(.is-kiosk) #productModal .product-main-wrap{
  min-height:0!important;
  max-height:calc(100dvh - 118px)!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.is-kiosk) #productModal .product-main-wrap img{
  width:100%!important;
  height:100%!important;
  max-height:calc(100dvh - 118px)!important;
  aspect-ratio:auto!important;
}
body:not(.is-kiosk) .fullscreen-gallery{
  background:#fff!important;
}
body:not(.is-kiosk) .fullscreen-gallery__stage{
  width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  padding:0!important;
  position:relative!important;
}
body:not(.is-kiosk) .fullscreen-gallery__figure{
  width:100%!important;
  height:100%!important;
  max-height:100dvh!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
}
body:not(.is-kiosk) .fullscreen-gallery__figure img{
  width:100%!important;
  height:100%!important;
  max-width:100vw!important;
  max-height:100dvh!important;
}
body:not(.is-kiosk) .fullscreen-gallery__caption,
body:not(.is-kiosk) .fullscreen-gallery__controls,
body:not(.is-kiosk) .fullscreen-gallery__close,
body:not(.is-kiosk) .fullscreen-gallery__nav{
  position:absolute!important;
  z-index:12!important;
}


/* ERP Magic — pré-migração V71: galeria fullscreen canônica */
#fullscreenGallery.fullscreen-gallery{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  padding:0!important;margin:0!important;background:#fff!important;z-index:20000!important;
}
#fullscreenGallery .fullscreen-gallery__stage{
  position:relative!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
  padding:0!important;margin:0!important;background:#fff!important;overflow:hidden!important;display:grid!important;place-items:center!important;
}
#fullscreenGallery .fullscreen-gallery__figure{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;
  display:grid!important;place-items:center!important;background:#fff!important;overflow:hidden!important;
}
#fullscreenGallery #fullscreenGalleryImage{
  display:block!important;width:100%!important;height:100%!important;max-width:100vw!important;max-height:100dvh!important;
  object-fit:contain!important;object-position:center!important;background:#fff!important;margin:0!important;padding:0!important;
}
#fullscreenGallery .fullscreen-gallery__close,
#fullscreenGallery .fullscreen-gallery__nav,
#fullscreenGallery .fullscreen-gallery__controls,
#fullscreenGallery .fullscreen-gallery__caption{position:absolute!important;z-index:3!important;}
#fullscreenGallery .fullscreen-gallery__close{top:max(14px,env(safe-area-inset-top))!important;right:max(14px,env(safe-area-inset-right))!important;}
#fullscreenGallery .fullscreen-gallery__nav--prev{left:max(12px,env(safe-area-inset-left))!important;top:50%!important;transform:translateY(-50%)!important;}
#fullscreenGallery .fullscreen-gallery__nav--next{right:max(12px,env(safe-area-inset-right))!important;top:50%!important;transform:translateY(-50%)!important;}
#fullscreenGallery .fullscreen-gallery__controls{top:max(14px,env(safe-area-inset-top))!important;left:50%!important;transform:translateX(-50%)!important;}
#fullscreenGallery .fullscreen-gallery__caption{
  left:50%!important;bottom:max(18px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;
  width:min(760px,calc(100vw - 32px))!important;padding:.72rem 1rem!important;border-radius:16px!important;
  color:#fff!important;background:rgba(15,23,42,.76)!important;backdrop-filter:blur(10px)!important;text-align:center!important;
}
#fullscreenGallery .icon-btn,#fullscreenGallery .soft-btn{background:rgba(15,23,42,.78)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;backdrop-filter:blur(9px)!important;}
@media(max-width:700px){
  #fullscreenGallery .fullscreen-gallery__caption{bottom:max(12px,env(safe-area-inset-bottom))!important;padding:.58rem .72rem!important;}
  #fullscreenGallery .fullscreen-gallery__caption small{display:none!important;}
  #fullscreenGallery .fullscreen-gallery__nav{width:42px!important;height:42px!important;}
}

/* ERP Magic — pré-migração R4: disponibilidade, vitrines e modal desktop */
body:not(.is-kiosk) .product-card__image{
  position:relative!important;
  isolation:isolate;
}
body:not(.is-kiosk) .product-card.is-date-unavailable .product-card__date-unavailable{
  display:grid!important;
  opacity:1!important;
  visibility:visible!important;
}
body:not(.is-kiosk) .product-card__date-unavailable{
  position:absolute!important;
  inset:0!important;
  z-index:8!important;
  min-width:100%!important;
  min-height:100%!important;
  background:rgba(7,4,12,.62)!important;
  backdrop-filter:blur(1.5px);
}
.dynamic-highlights:empty{display:none!important;}
.dynamic-highlights{
  display:grid;
  gap:clamp(28px,4vw,58px);
}
.dynamic-highlight-section{min-width:0;}

body:not(.is-kiosk) #productModal{
  overflow:hidden!important;
  overscroll-behavior:contain!important;
  padding:16px!important;
}
body:not(.is-kiosk) #productModal .modal-card--product{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:min(1120px,calc(100vw - 32px))!important;
  height:min(880px,calc(100dvh - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  min-height:0!important;
  overflow:hidden!important;
}
body:not(.is-kiosk) #productModal .modal-head{
  position:relative!important;
  top:auto!important;
  grid-row:1!important;
  flex:0 0 auto!important;
}
body:not(.is-kiosk) #productModal .product-modal-body{
  grid-row:2!important;
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  align-content:start!important;
}
@media(max-width:700px){
  body:not(.is-kiosk) #productModal{padding:0!important;}
  body:not(.is-kiosk) #productModal .modal-card--product{
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
}

/* ============================================================
   Pré-migração R5 — modal mobile canônico e selo Na Cartola
   ============================================================ */
body:not(.is-kiosk) .product-card__in-cart{
  position:absolute!important;
  inset:0!important;
  z-index:9!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
  background:rgba(7,4,12,.48)!important;
  backdrop-filter:blur(1.5px)!important;
  color:#fff!important;
  text-align:center!important;
}
body:not(.is-kiosk) .product-card__in-cart i{
  width:50px!important;
  height:50px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 auto 8px!important;
  font-size:1.65rem!important;
  background:var(--grad)!important;
  color:#12091c!important;
  box-shadow:0 12px 28px rgba(0,0,0,.3)!important;
}
body:not(.is-kiosk) .product-card__in-cart strong{
  display:block!important;
  font-size:.86rem!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
body:not(.is-kiosk) .product-card.is-in-cart{
  border-color:rgba(72,225,151,.42)!important;
}

@media(max-width:700px){
  body:not(.is-kiosk) #productModal{
    display:grid!important;
    place-items:stretch!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body:not(.is-kiosk) #productModal .modal-card--product{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:100vw!important;
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  body:not(.is-kiosk) #productModal .modal-head{
    grid-row:1!important;
    position:relative!important;
    top:auto!important;
    z-index:5!important;
    min-width:0!important;
    padding:12px 14px!important;
  }
  body:not(.is-kiosk) #productModal .product-modal-title-wrap{
    min-width:0!important;
    overflow:hidden!important;
  }
  body:not(.is-kiosk) #productModal .product-modal-title-wrap h3,
  body:not(.is-kiosk) #productModal .product-modal-code{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body:not(.is-kiosk) #productModal .product-modal-body{
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:not(.is-kiosk) #productModal .product-modal-gallery{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
    padding:10px!important;
    background:#0b0712!important;
  }
  body:not(.is-kiosk) #productModal .product-main-wrap{
    order:1!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body:not(.is-kiosk) #productModal .product-main-wrap img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:58dvh!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 auto!important;
    background:#fff!important;
  }
  body:not(.is-kiosk) #productModal .thumb-column{
    order:2!important;
    display:flex!important;
    grid-auto-flow:unset!important;
    grid-template-columns:none!important;
    width:100%!important;
    min-width:0!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:2px!important;
    scrollbar-width:none!important;
  }
  body:not(.is-kiosk) #productModal .thumb-column::-webkit-scrollbar{display:none!important;}
  body:not(.is-kiosk) #productModal .thumb-column button{
    flex:0 0 66px!important;
    width:66px!important;
    height:66px!important;
    border-radius:12px!important;
  }
  body:not(.is-kiosk) #productModal .product-modal-info{
    position:relative!important;
    z-index:2!important;
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    gap:11px!important;
    padding:14px 14px calc(24px + env(safe-area-inset-bottom))!important;
    background:#120d1d!important;
  }
  body:not(.is-kiosk) #productModal .rent-context-inline{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body:not(.is-kiosk) #productModal .product-related__rail{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* ============================================================
   Pré-migração R6 — largura fluida, vitrines Netflix e Cartola
   ============================================================ */
body:not(.is-kiosk) .page{
  width:min(1920px,calc(100% - clamp(24px,4vw,80px)))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
body:not(.is-kiosk) .hero-screen,
body:not(.is-kiosk) .catalog-shell,
body:not(.is-kiosk) .screen,
body:not(.is-kiosk) .home-highlight-stack{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body:not(.is-kiosk) .catalog-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,238px),1fr))!important;
  width:100%!important;
  min-width:0!important;
}

body:not(.is-kiosk) .home-highlight-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(28px,4vw,58px)!important;
}
body:not(.is-kiosk) .home-highlight-stack>.rail-section,
body:not(.is-kiosk) .dynamic-highlight-section{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
body:not(.is-kiosk) .dynamic-highlights{
  display:contents!important;
}
body:not(.is-kiosk) .product-rail{
  --magic-rail-gap:14px;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:86%!important;
  grid-template-columns:none!important;
  justify-content:start!important;
  align-items:stretch!important;
  gap:var(--magic-rail-gap)!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px max(7%,10px) 10px 0!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:0!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
body:not(.is-kiosk) .product-rail::-webkit-scrollbar{display:none!important;}
body:not(.is-kiosk) .product-rail>.product-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:normal!important;
}
@media(min-width:600px){
  body:not(.is-kiosk) .product-rail{grid-auto-columns:45%!important;padding-right:5%!important;}
}
@media(min-width:900px){
  body:not(.is-kiosk) .product-rail{grid-auto-columns:30.5%!important;padding-right:4%!important;}
}
@media(min-width:1280px){
  body:not(.is-kiosk) .product-rail{grid-auto-columns:22.5%!important;padding-right:3%!important;}
}
@media(min-width:1600px){
  body:not(.is-kiosk) .product-rail{grid-auto-columns:18.2%!important;padding-right:2.5%!important;}
}

/* A marcação usa exatamente a mesma composição do Quiosque. */
body:not(.is-kiosk) .product-card__in-cart{
  position:absolute!important;
  inset:0!important;
  z-index:9!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(4,2,8,.46)!important;
  color:#fff!important;
  text-align:center!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  pointer-events:none!important;
  backdrop-filter:none!important;
}
body:not(.is-kiosk) .product-card__in-cart>div{
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:8px!important;
  transform:translateY(-2px)!important;
}
body:not(.is-kiosk) .product-card__in-cart span{
  display:grid!important;
  place-items:center!important;
  width:clamp(66px,7vw,96px)!important;
  height:clamp(66px,7vw,96px)!important;
  border-radius:999px!important;
  background:rgba(14,10,22,.84)!important;
  border:2px solid rgba(255,255,255,.76)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.34)!important;
  margin:0!important;
}
body:not(.is-kiosk) .product-card__in-cart span i{
  width:auto!important;
  height:auto!important;
  margin:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  font-size:clamp(1.35rem,2.2vw,2.4rem)!important;
  color:#fff!important;
  line-height:1!important;
}
body:not(.is-kiosk) .product-card__in-cart small{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.66)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

@media(max-width:700px){
  body:not(.is-kiosk) .page{
    width:calc(100% - 20px)!important;
  }
  body:not(.is-kiosk) .catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body:not(.is-kiosk) .product-rail{
    grid-auto-columns:86%!important;
    padding-right:14%!important;
  }
}
body:not(.is-kiosk) .product-card.is-in-cart{border-color:rgba(255,255,255,.18)!important;}
body:not(.is-kiosk) .product-card__in-cart small{font-size:clamp(.72rem,.95vw,.9rem)!important;letter-spacing:.06em!important;line-height:1!important;}


/* ============================================================
   Pré-migração R7 — estado do produto já adicionado à Cartola
   ============================================================ */
body:not(.is-kiosk) #productModal .modal-note.is-cart{
  background:rgba(124,58,237,.13)!important;
  border-color:rgba(167,139,250,.34)!important;
  color:#f2eaff!important;
}
body:not(.is-kiosk) #productModal .modal-note.is-cart .note-line>i{
  color:#c4b5fd!important;
}

/* ERP Magic V18.1 — identificação de campanha sazonal na Loja */
.price-promo.is-up .price-old{text-decoration:none;color:#7c3aed}.price-promo.is-up .price-new{color:#f59e0b}

/* ========================================================================== */
/* ERP Magic 0907605p1 — UX dos modos Contingência e Catálogo + WhatsApp      */
/* ========================================================================== */
.checkout-operation-notice{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:flex-start;margin:0 0 10px;padding:13px 14px;border:1px solid rgba(139,92,246,.34);border-radius:17px;background:linear-gradient(135deg,rgba(139,92,246,.13),rgba(79,70,229,.06));color:#f8fafc}.checkout-operation-notice[hidden]{display:none!important}.checkout-operation-notice__icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(139,92,246,.18);color:#c4b5fd;font-size:1.05rem}.checkout-operation-notice strong{display:block;font-size:.84rem;line-height:1.25;margin:1px 0 4px}.checkout-operation-notice p{margin:0;color:#cbd5e1;font-size:.76rem;line-height:1.45}.checkout-operation-notice.is-contingencia{border-color:rgba(248,211,79,.35);background:linear-gradient(135deg,rgba(248,211,79,.12),rgba(245,158,11,.06))}.checkout-operation-notice.is-contingencia .checkout-operation-notice__icon{background:rgba(248,211,79,.15);color:#fde68a}.checkout-operation-notice.is-whatsapp{border-color:rgba(37,211,102,.35);background:linear-gradient(135deg,rgba(37,211,102,.13),rgba(16,185,129,.06))}.checkout-operation-notice.is-whatsapp .checkout-operation-notice__icon{background:rgba(37,211,102,.16);color:#86efac}.primary-btn--whatsapp{background:linear-gradient(135deg,#25d366,#16a34a)!important;border-color:rgba(37,211,102,.75)!important;color:#05140a!important;box-shadow:0 12px 28px rgba(37,211,102,.22)!important}.primary-btn--whatsapp:hover{filter:brightness(1.04)}.checkout-group--payment.is-mode-hidden{display:none!important}.checkout-mode-intro.is-operation-mode{display:block!important;border-color:rgba(139,92,246,.24);background:rgba(139,92,246,.07)}
@media(max-width:520px){.checkout-operation-notice{padding:11px 12px;border-radius:15px}.checkout-operation-notice p{font-size:.73rem}.checkout-operation-notice__icon{width:33px;height:33px}}

/* ERP Magic 0907605p1 — identidade canônica dos itens na Loja/Cartola. */
.cart-item__identity,
.order-test-item__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .28rem;
  margin-top: .22rem;
  color: var(--muted, #6b7280);
  font-size: .76rem;
  line-height: 1.3;
}
.cart-item__identity .cart-item__code,
.order-test-item__identity .cart-item__code {
  color: var(--text, #111827);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 800;
}
.cart-item__identity .identity-sep,
.order-test-item__identity .identity-sep {
  opacity: .45;
}
#productSimpleStockInfo {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  align-items: center;
}
#productSimpleStockInfo > span {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  padding: .32rem .48rem;
  border: 1px solid rgba(127,127,127,.18);
  border-radius: 999px;
  background: rgba(127,127,127,.07);
  font-size: .76rem;
  font-weight: 700;
}


/* ============================================================
   V21.3 — Entrega didática, datas no Chrome, grade e promoções
   ============================================================ */
#cartolaDrawer .delivery-rule-guide{
  margin:2px 0 8px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(255,255,255,.055);
  overflow:hidden;
}
#cartolaDrawer .delivery-rule-guide summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 11px;cursor:pointer;list-style:none;color:#fff;
}
#cartolaDrawer .delivery-rule-guide summary::-webkit-details-marker{display:none;}
#cartolaDrawer .delivery-rule-guide summary>span{display:flex;align-items:center;gap:8px;min-width:0;}
#cartolaDrawer .delivery-rule-guide summary strong{font-size:.84rem;line-height:1.25;}
#cartolaDrawer .delivery-rule-guide summary .bi-info-circle{color:#7dd3fc;flex:0 0 auto;}
#cartolaDrawer .delivery-rule-guide summary>.bi-chevron-down{font-size:.78rem;transition:transform .18s ease;}
#cartolaDrawer .delivery-rule-guide[open] summary>.bi-chevron-down{transform:rotate(180deg);}
#cartolaDrawer .delivery-rule-guide>div{padding:0 11px 10px 35px;color:rgba(255,255,255,.75);font-size:.79rem;line-height:1.42;}
#cartolaDrawer .delivery-rule-guide[data-kind="warning"]{border-color:rgba(255,193,7,.45);background:rgba(255,193,7,.1);}
#cartolaDrawer .delivery-rule-guide[data-kind="warning"] summary .bi-info-circle{color:#ffd54f;}
#cartolaDrawer .delivery-rule-guide[data-kind="mixed"]{border-color:rgba(167,139,250,.34);}

/* O ícone nativo do Chrome ganha contraste sem esconder o valor da data. */
body input[type="date"]{color-scheme:dark;}
body input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1!important;cursor:pointer!important;border-radius:8px!important;padding:3px!important;
  background-color:rgba(255,255,255,.14)!important;
  filter:invert(1) brightness(1.55) contrast(1.1)!important;
}

/* Poucos resultados ocupam somente as colunas naturais da grade. */
body:not(.is-kiosk) .catalog-grid{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,238px),1fr))!important;
  justify-content:start!important;
}

/* Quiosque segue a mesma assinatura promocional visual da Loja. */
body.is-kiosk .price-new{color:#fff!important;}
body.is-kiosk .price-new i{color:#ff7a1a!important;}

/* Mantém os cards compactos também quando há poucos resultados na Loja. */
@media (max-width: 700px) {
  body:not(.is-kiosk) .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 360px) {
  body:not(.is-kiosk) .catalog-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ERP Magic 0907605p1 V6 — aviso operacional no topo da Cartola */
.checkout-mode-intro.checkout-mode-intro--top{
  display:block!important;
  margin:0 0 12px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(139,92,246,.34);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(139,92,246,.13),rgba(79,70,229,.06));
  color:#f8fafc;
}
.checkout-mode-intro.checkout-mode-intro--top[hidden]{display:none!important}
.checkout-mode-intro.checkout-mode-intro--top summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px;cursor:pointer;list-style:none;font-weight:800;
}
.checkout-mode-intro.checkout-mode-intro--top summary::-webkit-details-marker{display:none}
.checkout-mode-intro__lead{display:flex;align-items:center;gap:10px;color:#f8fafc!important}
.checkout-mode-intro__lead>i{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.1);font-size:1rem}
.checkout-mode-intro__chevron{transition:transform .2s ease;color:#cbd5e1}
.checkout-mode-intro[open] .checkout-mode-intro__chevron{transform:rotate(180deg)}
.checkout-mode-intro.checkout-mode-intro--top p{margin:0;padding:0 14px 13px 58px;color:#dbe3ef;font-size:.77rem;line-height:1.45}
.checkout-mode-intro.checkout-mode-intro--top.is-contingencia{border-color:rgba(248,211,79,.4);background:linear-gradient(135deg,rgba(248,211,79,.15),rgba(245,158,11,.07))}
.checkout-mode-intro.checkout-mode-intro--top.is-contingencia .checkout-mode-intro__lead>i{color:#fde68a;background:rgba(248,211,79,.14)}
.checkout-mode-intro.checkout-mode-intro--top.is-whatsapp{border-color:rgba(37,211,102,.4);background:linear-gradient(135deg,rgba(37,211,102,.15),rgba(16,185,129,.07))}
.checkout-mode-intro.checkout-mode-intro--top.is-whatsapp .checkout-mode-intro__lead>i{color:#86efac;background:rgba(37,211,102,.16)}
.checkout-group--attention{animation:magicCheckoutAttention .75s ease}
@keyframes magicCheckoutAttention{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@media(max-width:520px){.checkout-mode-intro.checkout-mode-intro--top summary{padding:11px 12px}.checkout-mode-intro.checkout-mode-intro--top p{padding:0 12px 11px 54px;font-size:.73rem}}

/* Chrome/Edge: contraste do seletor nativo de data em campos escuros. */
body:not(.is-kiosk) input[type="date"]::-webkit-calendar-picker-indicator,
body.is-kiosk input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1!important;filter:invert(1) sepia(.15) saturate(.8) brightness(1.35)!important;cursor:pointer;
}


/* ERP Magic 0907605p1 V7 — aviso dos modos assistidos estável no topo da Cartola */
.checkout-mode-intro--top{
  flex:0 0 auto!important;
  align-self:stretch!important;
  min-height:max-content!important;
  height:auto!important;
  overflow:visible!important;
}
.checkout-mode-intro--top>summary{min-height:46px!important;flex:0 0 auto!important}
.checkout-mode-intro--top[open] .checkout-mode-intro__body{
  display:block!important;
  height:auto!important;
  min-height:max-content!important;
  flex:0 0 auto!important;
  overflow:visible!important;
}

/* V8 — atributos comerciais e contexto silencioso */
.product-card__attrs{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}.product-card__attrs span{display:inline-flex;max-width:100%;padding:.14rem .38rem;border:1px solid rgba(255,255,255,.11);border-radius:999px;font-size:.68rem;line-height:1.15;color:#d8cfdf;white-space:normal;overflow-wrap:anywhere}

/* ERP Magic 0907605p1 V8.2.9 — modal de produto: faixa intermediária */
/*
 * Entre tablet e notebook estreito, a galeria ainda herdava altura/encaixe do
 * desktop enquanto o corpo já caminhava para uma coluna. Reservamos altura
 * física para a mídia e empilhamos a informação antes de ocorrer sobreposição.
 * Mobile (<=700px) continua usando o layout canônico já existente.
 */
@media (min-width: 701px) and (max-width: 1180px) {
  body:not(.is-kiosk) #productModal {
    padding: 14px !important;
  }
  body:not(.is-kiosk) #productModal .modal-card--product {
    width: min(980px, calc(100vw - 28px)) !important;
    height: min(900px, calc(100dvh - 28px)) !important;
    max-width: none !important;
  }
  body:not(.is-kiosk) #productModal .product-modal-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    gap: 14px !important;
    padding: 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  body:not(.is-kiosk) #productModal .product-modal-gallery {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }
  body:not(.is-kiosk) #productModal .thumb-column {
    min-width: 0 !important;
    max-height: clamp(300px, 50dvh, 500px) !important;
    overflow-y: auto !important;
  }
  body:not(.is-kiosk) #productModal .product-main-wrap {
    position: relative !important;
    width: 100% !important;
    height: clamp(320px, 50dvh, 520px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    display: grid !important;
    place-items: center !important;
  }
  body:not(.is-kiosk) #productModal .product-main-wrap img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }
  body:not(.is-kiosk) #productModal .product-modal-info {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
}

@media (min-width: 701px) and (max-width: 1180px) and (max-height: 720px) {
  body:not(.is-kiosk) #productModal .product-main-wrap {
    height: clamp(250px, 42dvh, 360px) !important;
  }
  body:not(.is-kiosk) #productModal .thumb-column {
    max-height: clamp(230px, 42dvh, 340px) !important;
  }
}

/* ============================================================
   ERP Magic 0907605p1 V8.2.10 — mídia sem crop na faixa intermediária
   - não fixa a imagem em um retângulo largo;
   - respeita a proporção natural com contain;
   - miniaturas também permanecem inteiras;
   - o corpo do modal rola, a foto não é sacrificada.
   ============================================================ */
@media (min-width: 701px) and (max-width: 1180px) {
  body:not(.is-kiosk) #productModal .product-main-wrap {
    width:100%!important;
    height:auto!important;
    min-height:260px!important;
    max-height:none!important;
    padding:10px!important;
    overflow:visible!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
  }
  body:not(.is-kiosk) #productModal .product-main-wrap img {
    position:static!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(58dvh,620px)!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:auto!important;
  }
  body:not(.is-kiosk) #productModal .thumb-column {
    align-content:start!important;
    max-height:min(58dvh,620px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  body:not(.is-kiosk) #productModal .thumb-column button {
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body:not(.is-kiosk) #productModal .thumb-column button img {
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}
@media (min-width: 701px) and (max-width: 1180px) and (max-height:720px) {
  body:not(.is-kiosk) #productModal .product-main-wrap img {
    max-height:min(48dvh,430px)!important;
  }
  body:not(.is-kiosk) #productModal .thumb-column {
    max-height:min(48dvh,430px)!important;
  }
}

/* ERP Magic 0907605p1 V8.2.11 — aviso assistido participa do fluxo da Cartola */
#cartolaDrawer .checkout-mode-intro.checkout-mode-intro--top{
  display:block!important;position:relative!important;z-index:1!important;
  min-height:0!important;height:auto!important;overflow:hidden!important;
}
#cartolaDrawer .checkout-mode-intro--top>summary{position:relative!important;z-index:2!important;}
#cartolaDrawer .checkout-mode-intro--top .checkout-mode-intro__body{
  display:none;position:relative!important;z-index:1!important;
  width:100%;height:auto!important;min-height:0!important;overflow:visible!important;
}
#cartolaDrawer .checkout-mode-intro--top[open] .checkout-mode-intro__body{display:block!important;}
#cartolaDrawer .checkout-mode-intro--top .checkout-mode-intro__body>p{
  display:block!important;position:relative!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0 14px 13px 58px!important;
}
#cartolaDrawer .cart-section--itens{position:relative!important;z-index:0!important;clear:both!important;}
@media(max-width:520px){
  #cartolaDrawer .checkout-mode-intro--top .checkout-mode-intro__body>p{padding:0 12px 11px 54px!important;}
}

/* ERP Magic 0907605p1 V8.2.12 — Cartola assistida sem compressão + controles nativos legíveis */
#cartolaDrawer .drawer__body{
  grid-auto-rows:max-content!important;
  align-content:start!important;
}
#cartolaDrawer .checkout-mode-intro.checkout-mode-intro--top{
  flex:0 0 auto!important;
  align-self:stretch!important;
  height:auto!important;
  min-height:fit-content!important;
  max-height:none!important;
  overflow:visible!important;
  contain:none!important;
}
#cartolaDrawer .checkout-mode-intro--top>summary{
  flex:0 0 auto!important;
  min-height:46px!important;
  height:auto!important;
}
#cartolaDrawer .checkout-mode-intro--top .checkout-mode-intro__body,
#cartolaDrawer .checkout-mode-intro--top[open] .checkout-mode-intro__body,
#cartolaDrawer .checkout-mode-intro--top .checkout-mode-intro__body>p{
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
#cartolaDrawer .cart-section--itens,
#cartolaDrawer .cart-items-stack,
#cartolaDrawer .cart-items-block{
  min-height:max-content!important;
}

/* Chrome/Edge: o ícone nativo fica dentro de uma pastilha clara; não some no fundo escuro. */
body:not(.is-kiosk) #productModal input[type="date"],
body:not(.is-kiosk) #cartolaDrawer input[type="date"],
body:not(.is-kiosk) #cartolaDrawer input[type="time"],
body:not(.is-kiosk) #cartolaDrawer input[type="datetime-local"],
body.is-kiosk input[type="date"],
body.is-kiosk input[type="time"],
body.is-kiosk input[type="datetime-local"]{
  color-scheme:dark!important;
}
body:not(.is-kiosk) #productModal input[type="date"]::-webkit-calendar-picker-indicator,
body:not(.is-kiosk) #cartolaDrawer input[type="date"]::-webkit-calendar-picker-indicator,
body:not(.is-kiosk) #cartolaDrawer input[type="time"]::-webkit-calendar-picker-indicator,
body:not(.is-kiosk) #cartolaDrawer input[type="datetime-local"]::-webkit-calendar-picker-indicator,
body.is-kiosk input[type="date"]::-webkit-calendar-picker-indicator,
body.is-kiosk input[type="time"]::-webkit-calendar-picker-indicator,
body.is-kiosk input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  opacity:1!important;
  width:22px!important;
  height:22px!important;
  padding:4px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.22)!important;
  filter:none!important;
  cursor:pointer!important;
}

/* ERP Magic V8.2.13 — seletor de data com contraste nativo sem bloco branco no Chromium.
   Firefox ignora o pseudo WebKit e preserva o ícone nativo que já funciona bem. */
@supports selector(input::-webkit-calendar-picker-indicator) {
  body:not(.is-kiosk) #productModal input[type="date"],
  body:not(.is-kiosk) #productModal input[type="datetime-local"],
  body:not(.is-kiosk) #productModal input[type="time"],
  body:not(.is-kiosk) #cartolaDrawer input[type="date"],
  body:not(.is-kiosk) #cartolaDrawer input[type="datetime-local"],
  body:not(.is-kiosk) #cartolaDrawer input[type="time"],
  body:not(.is-kiosk) .checkout-form input[type="date"],
  body:not(.is-kiosk) .checkout-form input[type="datetime-local"],
  body:not(.is-kiosk) .checkout-form input[type="time"] {
    color-scheme: normal !important;
  }
  body:not(.is-kiosk) #productModal input[type="date"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) #productModal input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) #productModal input[type="time"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) #cartolaDrawer input[type="date"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) #cartolaDrawer input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) #cartolaDrawer input[type="time"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) .checkout-form input[type="date"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) .checkout-form input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  body:not(.is-kiosk) .checkout-form input[type="time"]::-webkit-calendar-picker-indicator {
    opacity: .92 !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 1px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: invert(1) brightness(1.35) !important;
    cursor: pointer !important;
  }
}

/* ERP Magic V8.2.14 — ajustes de checkout/rodapé. */
#clientePagamentoCombinarChoice .payment-choice__icon{color:#c4b5fd!important}.site-footer #footerAddressLink:hover{color:#fff!important}.site-footer #footerAddressLink[aria-disabled="true"]{pointer-events:none;opacity:.72}

/* ERP Magic 0907605p1 V8.2.19 — imagem principal sem moldura dupla na faixa intermediária */
@media (min-width: 701px) and (max-width: 1180px) {
  body:not(.is-kiosk) #productModal .product-main-wrap {
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    display:block!important;
    border-radius:24px!important;
    background:#fff!important;
  }
  body:not(.is-kiosk) #productModal .product-main-wrap img {
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
  }
}
