
:root { --yellow:#f4c900; --yellow-soft:#ffe04d; --ink:#090909; --paper:#f5f4f0; --muted:#a4a4a4; --radius:22px; --font-site:Gotham, "Gotham SSm", "Montserrat", "Avenir Next", Arial, sans-serif; }
* { box-sizing:border-box; font-family:inherit; }
html { scroll-behavior:smooth; font-family:var(--font-site); }
body { margin:0; background:var(--ink); color:#fff; font-family:var(--font-site); -webkit-font-smoothing:antialiased; }
button,input,select,textarea,option { font-family:var(--font-site); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.header { position:fixed; inset:0 0 auto 0; height:92px; z-index:50; display:flex; align-items:center; justify-content:center; padding:0 5vw; background:rgba(5,5,5,.78); border-bottom:1px solid rgba(255,255,255,.08); box-shadow:0 8px 30px rgba(0,0,0,.2); backdrop-filter:blur(22px) saturate(150%); -webkit-backdrop-filter:blur(22px) saturate(150%); }
.brand { display:flex; flex-direction:column; line-height:.85; letter-spacing:-.06em; }
.header .brand { align-items:center; text-align:center; }
.cart-shortcut { position:absolute; right:max(20px,5vw); top:50%; width:46px; height:46px; display:grid; place-items:center; transform:translateY(-50%); border:1px solid #ffffff20; border-radius:15px; background:#ffffff0d; color:#fff; transition:.2s ease; }
.cart-shortcut:hover,.cart-shortcut.active { border-color:var(--yellow); background:var(--yellow); color:#090909; }
.cart-shortcut svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cart-shortcut span { position:absolute; top:-6px; right:-6px; min-width:21px; height:21px; padding:0 5px; display:grid; place-items:center; border:2px solid #090909; border-radius:999px; background:var(--yellow); color:#090909; font-size:10px; font-weight:900; }
.brand-logo { display:block; width:auto; height:76px; object-fit:contain; }
.footer-logo { height:100px; }
.brand b { font-family:var(--font-site); font-style:italic; font-weight:700; font-size:24px; }
.brand small { margin-top:8px; font-size:9px; letter-spacing:.38em; color:#aaa; }
.bottom-nav { position:fixed; z-index:100; left:50%; bottom:max(16px, env(safe-area-inset-bottom)); transform:translateX(-50%); width:min(460px,calc(100% - 28px)); height:68px; padding:7px 10px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; border:1px solid #ffffff1c; border-radius:24px; background:#141414e8; box-shadow:0 16px 50px #000b; backdrop-filter:blur(22px); }
.bottom-nav a { height:54px; min-width:0; border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#888; transition:.2s ease; }
.bottom-nav svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bottom-nav span { font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.bottom-nav a:hover { color:#ddd; }
.bottom-nav a.active { color:#090909; background:var(--yellow); }
.hero { min-height:78vh; position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:128px 7vw 72px; background:#080808; }
.hero::before { content:""; position:absolute; inset:-30px; z-index:-2; background:url("../images/insta-1.jpg") center 62%/cover no-repeat; filter:blur(14px); transform:scale(1.05); opacity:.64; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#050505e8 0%,#0505059c 55%,#050505a8 100%); }
.hero-content { position:relative; width:min(830px,100%); z-index:2; }
.eyebrow { color:var(--yellow); font-size:11px; font-weight:900; letter-spacing:.26em; text-transform:uppercase; }
h1,h2 { font-family:var(--font-site); font-weight:700; letter-spacing:-.045em; text-transform:none; margin:0; line-height:.96; }
.hero h1 { font-size:clamp(54px,7vw,108px); }
.typed-title { min-height:1.92em; }
.typing-cursor { display:inline-block; width:.055em; height:.82em; margin-left:.08em; vertical-align:-.04em; background:var(--yellow); animation:cursor-blink .75s steps(1) infinite; }
@keyframes cursor-blink { 50% { opacity:0; } }
h1 em,h2 em { color:var(--yellow); font-style:normal; }
.actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:34px; }
.button { display:inline-flex; gap:24px; align-items:center; justify-content:center; min-height:52px; padding:16px 24px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; border:1px solid #ffffff55; border-radius:999px; transition:.25s ease; }
.button:hover { transform:translateY(-2px); border-color:white; }
.button.primary { background:var(--yellow); border-color:var(--yellow); color:#090909; }
.button.ghost { background:#00000055; }
.button.disabled { background:#ddd; border-color:#ddd; color:#777; cursor:not-allowed; }
.button.disabled:hover { transform:none; border-color:#ddd; }
.section { padding:120px 7vw; }
.statement { background:var(--paper); color:#0b0b0b; text-align:center; }
.statement h2,.join h2 { font-size:clamp(50px,7vw,104px); }
.statement h2 em { display:inline-block; margin-top:12px; padding:.08em .18em .12em; border-radius:.18em; background:var(--yellow); color:#090909; }
.statement>p:not(.eyebrow) { max-width:670px; margin:28px auto 54px; color:#555; line-height:1.7; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:940px; margin:auto; }
.stats div { display:flex; flex-direction:column; padding:32px; border:1px solid #deddd7; border-radius:var(--radius); background:#fff; transition:opacity .08s linear; }
.stats div:last-child { border-color:#deddd7; }
.stats strong { font-family:var(--font-site); font-weight:700; font-size:48px; }
.stats span { color:#777; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.gallery-section { background:#0c0c0c; overflow:hidden; }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:36px; }
.section-heading h2 { font-size:clamp(44px,6vw,80px); }
.section-heading>a { font-size:11px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid var(--yellow); padding-bottom:8px; }
.insta-carousel { display:grid; grid-auto-flow:column; grid-auto-columns:min(31vw,420px); gap:22px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scroll-padding-inline:calc(50vw - min(15.5vw,210px)); scrollbar-width:none; padding:18px calc(50vw - min(15.5vw,210px)) 24px; margin-inline:-7vw; cursor:grab; user-select:none; }
.insta-carousel::-webkit-scrollbar { display:none; }
.insta-carousel:active { cursor:grabbing; }
.insta-carousel a { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); background:#222; scroll-snap-align:center; opacity:.44; filter:blur(3px); transform:scale(.88); transition:opacity .38s ease,filter .38s ease,transform .38s ease; }
.insta-carousel a[data-active="true"] { opacity:1; filter:none; transform:scale(1); }
.insta-carousel img { width:100%; height:100%; object-fit:cover; transition:.4s ease; }
.insta-carousel a[data-active="true"]:hover img { transform:scale(1.025); filter:brightness(.88); }
.carousel-hint { margin:18px 0 0; color:#777; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.carousel-hint span { color:var(--yellow); margin-left:5px; }
.carousel-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; }
.carousel-footer .carousel-hint { margin:0; }
.carousel-controls { display:flex; align-items:center; gap:8px; }
.carousel-arrow,.carousel-reset { min-height:44px; border:1px solid #ffffff26; background:#171717; color:#fff; border-radius:999px; cursor:pointer; transition:.2s ease; }
.carousel-arrow { width:44px; font-size:19px; }
.carousel-reset { padding:0 18px; color:#090909; background:var(--yellow); border-color:var(--yellow); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.carousel-arrow:hover,.carousel-reset:hover { transform:translateY(-2px); border-color:var(--yellow); }
.join { text-align:center; background:radial-gradient(circle at center,#403600,#080808 55%); }
.join .button { margin-top:42px; }
.footer { padding:58px 7vw 30px; border-top:1px solid #272727; display:flex; flex-direction:column; gap:20px; align-items:center; text-align:center; color:#8d8d8d; font-size:12px; }
.footer .brand { color:white; align-items:center; }
.footer .socials { display:flex; justify-content:center; gap:18px; text-transform:uppercase; letter-spacing:.08em; }
.footer>small { width:100%; padding-top:28px; border-top:1px solid #202020; }
.page-hero { min-height:540px; padding:170px 7vw 80px; display:flex; flex-direction:column; justify-content:end; background:radial-gradient(circle at 80% 30%,#4d4100,#0a0a0a 55%); }
.page-hero h1 { max-width:1000px; font-size:clamp(60px,8vw,120px); }
.page-hero>p:last-child { max-width:620px; color:#aaa; font-size:18px; line-height:1.6; }
body[data-page="sobre"] .page-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#050505;
}
body[data-page="sobre"] .page-hero::before {
  content:"";
  position:absolute;
  z-index:-2;
  inset:-14% -2%;
  background:url("../images/paixao-comunidade.webp") center 66% / cover no-repeat;
  transform:translate3d(0,var(--page-hero-parallax,0px),0) scale(1.045);
  will-change:transform;
}
body[data-page="sobre"] .page-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,3,3,.88) 0%,rgba(3,3,3,.55) 58%,rgba(3,3,3,.34) 100%),
    linear-gradient(0deg,rgba(3,3,3,.82) 0%,rgba(3,3,3,.08) 65%,rgba(3,3,3,.38) 100%);
}
body[data-page="sobre"] .page-hero h1,
body[data-page="sobre"] .page-hero p {
  position:relative;
  z-index:1;
  text-shadow:0 3px 28px rgba(0,0,0,.76);
}
body[data-page="sobre"] .page-hero>p:last-child {
  color:rgba(255,255,255,.78);
}
body[data-page="loja"] .page-hero { min-height:440px; padding-top:125px; padding-bottom:60px; }
.events-page { padding-bottom:92px; }
.floating-back { position:fixed; z-index:90; left:50%; bottom:max(20px,env(safe-area-inset-bottom)); transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); box-shadow:0 14px 40px rgba(0,0,0,.42); }
.content { padding:90px 7vw; background:var(--paper); color:#111; }
.content.dark { background:#0b0b0b; color:white; }
.content h2 { font-size:clamp(42px,5vw,72px); margin-bottom:32px; }
.lead { font-size:20px; line-height:1.8; max-width:900px; color:#555; }
.dark .lead { color:#aaa; }
.grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); margin-top:42px; }
.grid.two { grid-template-columns:repeat(2,1fr); }
.grid.four { grid-template-columns:repeat(4,1fr); }
.card { position:relative; border:1px solid #d8d8d4; border-radius:var(--radius); padding:28px; min-height:210px; overflow:hidden; background:#fff; }
.dark .card { background:#111; border-color:#2a2a2a; }
.card-mark { color:var(--yellow); font-weight:900; letter-spacing:-.2em; }
.card h3 { font-size:24px; text-transform:uppercase; margin:22px 0 14px; }
.card p { color:#666; line-height:1.65; }
.dark .card p { color:#aaa; }
.event-card { border-top:4px solid var(--yellow); }
.event-meta { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--yellow); }
.events-list h2 { margin-bottom:42px; }
.event-accordion { max-width:1100px; }
.event-item { border:1px solid #2a2a2a; border-radius:var(--radius); overflow:hidden; background:#111; transition:border-color .25s ease,background .25s ease; }
.event-item[open] { border-color:#504500; background:#13130f; }
.event-item summary { min-height:112px; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; list-style:none; font-size:clamp(22px,3vw,36px); font-weight:700; letter-spacing:-.035em; }
.event-item summary::-webkit-details-marker { display:none; }
.event-item summary span { display:flex; flex-direction:column; gap:9px; }
.event-item summary small { color:var(--yellow); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.event-item summary i { position:relative; flex:0 0 42px; width:42px; height:42px; border-radius:50%; background:var(--yellow); }
.event-item summary i::before,.event-item summary i::after { content:""; position:absolute; left:50%; top:50%; width:15px; height:2px; border-radius:2px; background:#090909; transform:translate(-50%,-50%); transition:transform .25s ease; }
.event-item summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.event-item[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.event-details { padding:0 32px 32px; border-top:1px solid #282820; }
.event-details .lead { margin-top:28px; }
.event-details .grid { margin-top:32px; }
.form { max-width:760px; display:grid; gap:14px; }
.form input,.form textarea { border:1px solid #bbb; background:white; padding:16px; font:inherit; width:100%; }
.form textarea { min-height:150px; }
.shop-item { display:flex; flex-direction:column; }
.product-image { min-height:220px; background:#eee url("../images/placeholder.webp") center/contain no-repeat; }
.price { color:#9a7d00; font-family:var(--font-site); font-weight:700; font-size:28px; }
.shop-hero { min-height:430px; padding:132px 7vw 62px; display:flex; align-items:flex-end; justify-content:space-between; gap:32px; background:#080808; }
.shop-hero-copy { max-width:780px; }
.shop-hero h1 { margin-top:12px; font-size:clamp(52px,7vw,96px); }
.shop-hero-copy>p:last-child { max-width:610px; margin:22px 0 0; color:#aaa; font-size:16px; line-height:1.65; }
.shop-status { flex:0 0 auto; padding:13px 20px; border-radius:999px; background:var(--yellow); color:#090909; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.shop-content { padding:34px 7vw 110px; background:var(--paper); color:#101010; }
.shop-search { max-width:760px; height:58px; margin:-61px auto 38px; padding:0 18px; position:relative; z-index:2; display:flex; align-items:center; gap:12px; border:1px solid #e4e3dd; border-radius:18px; background:#fff; box-shadow:0 14px 38px #00000014; }
.shop-search svg { width:21px; fill:none; stroke:#777; stroke-width:1.8; }
.shop-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:#777; font:inherit; }
.shop-search span { padding:7px 10px; border-radius:999px; background:#eee; color:#888; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.shop-promo { min-height:250px; padding:34px; display:flex; align-items:center; justify-content:space-between; gap:30px; overflow:hidden; border-radius:28px; background:var(--yellow); }
.shop-promo>div:first-child { position:relative; z-index:1; max-width:610px; }
.promo-pill { display:inline-block; margin-bottom:18px; padding:7px 12px; border-radius:999px; background:#111; color:#fff; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.shop-promo h2 { font-size:clamp(38px,5vw,68px); }
.shop-promo p { max-width:560px; margin:18px 0 0; line-height:1.55; }
.promo-mark { margin-right:-28px; color:#090909; font-size:clamp(90px,17vw,210px); font-weight:900; font-style:italic; letter-spacing:-.12em; opacity:.08; transform:rotate(-7deg); }
.shop-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:58px 0 20px; }
.shop-section-heading h2 { margin-top:7px; font-size:clamp(34px,4vw,54px); }
.shop-section-heading>span { color:#777; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.category-strip { display:flex; gap:9px; overflow-x:auto; padding-bottom:5px; scrollbar-width:none; }
.category-strip::-webkit-scrollbar { display:none; }
.category-strip button { flex:0 0 auto; padding:12px 18px; border:1px solid #dddcd6; border-radius:999px; background:#fff; color:#666; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.category-strip button.active { border-color:#111; background:#111; color:#fff; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.product-card { min-width:0; overflow:hidden; border:1px solid #e0dfda; border-radius:25px; background:#fff; }
.product-card { color:#111; transition:transform .2s ease,box-shadow .2s ease; }
.product-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px #00000012; }
.product-card[hidden] { display:none; }
.product-visual { position:relative; aspect-ratio:1; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#eee; }
.product-visual>span { position:absolute; z-index:2; top:14px; left:14px; padding:7px 10px; border-radius:999px; background:#111; color:#fff; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-visual button { position:absolute; z-index:2; top:12px; right:12px; width:35px; height:35px; display:grid; place-items:center; border:0; border-radius:50%; background:#ffffffd9; color:#111; }
.product-visual button svg { width:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.product-visual img { width:84%; height:84%; object-fit:contain; mix-blend-mode:multiply; }
.product-copy { padding:20px; }
.product-copy>p { margin:0 0 7px; color:#999; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.product-copy h3 { min-height:2.5em; margin:0; font-size:17px; line-height:1.25; }
.product-copy strong { display:block; margin-top:17px; font-size:22px; }
.product-coming-soon { display:block; margin-top:16px; padding:12px; border-radius:999px; background:#eee; color:#888; text-align:center; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.product-page { min-height:100vh; padding:126px 7vw 90px; background:var(--paper); color:#111; }
.product-back { position:fixed; z-index:80; top:106px; left:max(18px,calc((100vw - 1320px)/2)); width:48px; height:48px; display:grid; place-items:center; margin:0; border:1px solid #ffffff26; border-radius:50%; background:#111e; color:#fff; box-shadow:0 12px 30px #0004; backdrop-filter:blur(18px); font-size:24px; font-weight:700; transition:.2s ease; }
.product-back:hover { transform:translateX(-2px); background:var(--yellow); color:#111; }
.product-detail { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:56px; max-width:1180px; margin:auto; }
.product-detail-image { min-height:560px; display:grid; place-items:center; overflow:hidden; border-radius:32px; background:#e9e8e3; }
.product-detail-image img { width:84%; height:84%; object-fit:contain; mix-blend-mode:multiply; }
.product-info { align-self:center; }
.product-info h1 { margin:10px 0 18px; font-size:clamp(42px,5vw,72px); line-height:1; }
.product-detail-price { display:block; font-size:32px; }
.product-description { margin:22px 0 18px; color:#666; line-height:1.65; }
.product-availability { margin:0 0 30px; padding:14px 16px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:12px; border:1px solid #d7d5c7; border-radius:16px; background:#fffdf0; }
.product-availability-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:var(--yellow); color:#090909; font-size:19px; font-weight:900; }
.product-availability-icon::before { content:"◷"; }
.product-availability>span:last-child { min-width:0; display:grid; gap:4px; }
.product-availability strong { color:#111; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.product-availability small { color:#666; font-size:11px; line-height:1.45; }
.product-availability.ready { border-color:#bcd9b7; background:#f3fbf1; }
.product-availability.ready .product-availability-icon { background:#267a35; color:#fff; }
.product-availability.ready .product-availability-icon::before { content:"✓"; }
.product-info fieldset { margin:0 0 24px; padding:0; border:0; }
.product-info legend,.quantity-label { margin-bottom:10px; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.option-row { display:flex; gap:9px; flex-wrap:wrap; }
.option-row input { position:absolute; opacity:0; pointer-events:none; }
.option-row span { min-width:48px; min-height:44px; padding:0 15px; display:grid; place-items:center; border:1px solid #d1d0ca; border-radius:14px; background:#fff; color:#555; cursor:pointer; }
.option-row input:checked+span { border-color:#111; background:#111; color:#fff; }
.color-options { gap:12px; }
.color-options label { position:relative; display:grid; place-items:center; padding:4px; cursor:pointer; }
.color-options .color-swatch { width:34px; min-width:34px; height:34px; min-height:34px; padding:0; display:block; border:2px solid #d1d0ca; border-radius:8px; box-shadow:inset 0 0 0 2px #fff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.color-options .color-preto { background:#080808; }
.color-options .color-branco { background:#fff; }
.color-options .color-amarelo { background:var(--yellow); }
.color-options input:checked+.color-swatch { border-color:#111; background-color:var(--swatch-color); color:inherit; box-shadow:0 0 0 2px var(--paper),0 0 0 4px #111,inset 0 0 0 2px #fff; transform:scale(1.04); }
.color-options input:checked+.color-preto { --swatch-color:#080808; }
.color-options input:checked+.color-branco { --swatch-color:#fff; }
.color-options input:checked+.color-amarelo { --swatch-color:var(--yellow); }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.quantity-label { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.quantity-control { display:grid; grid-template-columns:38px 46px 38px; align-items:center; padding:3px; border:1px solid #deded9; border-radius:999px; background:#f4f4f1; box-shadow:inset 0 1px 2px #00000008; }
.quantity-control button,.quantity-control input { height:36px; border:0; background:transparent; text-align:center; font:inherit; font-weight:750; }
.quantity-control button { width:36px; border-radius:50%; color:#2b2b2b; font-size:20px; font-weight:400; cursor:pointer; transition:.18s ease; }
.quantity-control button:hover { background:#fff; box-shadow:0 2px 8px #00000010; }
.quantity-control button:active { transform:scale(.93); }
.quantity-control input { width:54px; appearance:textfield; }
.add-cart-button { width:100%; min-height:58px; margin-top:24px; border:0; border-radius:999px; background:var(--yellow); color:#090909; font-weight:900; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
.add-cart-button:disabled { background:#777; color:#fff; cursor:not-allowed; opacity:.72; }
.cart-feedback { min-height:20px; margin:14px 0 0; color:#537600; text-align:center; font-size:12px; font-weight:700; opacity:0; transition:.2s ease; }
.cart-feedback.visible { opacity:1; }
.cart-toast { position:fixed; z-index:1000; top:calc(env(safe-area-inset-top, 0px) + 16px); left:50%; right:auto; width:min(420px,calc(100vw - 28px)); max-width:calc(100vw - 28px); box-sizing:border-box; padding:14px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid #ffffff1f; border-radius:19px; background:#111111f2; color:#fff; box-shadow:0 18px 54px #0009; backdrop-filter:blur(22px); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-18px) scale(.98); transition:opacity .24s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s; }
.cart-toast.visible { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0) scale(1); transition-delay:0s; }
.cart-toast-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:var(--yellow); color:#090909; font-weight:900; }
.cart-toast>span:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:4px; }
.cart-toast strong { font-size:12px; }
.cart-toast small { color:#aaa; font-size:10px; }
.cart-toast a { padding:10px 12px; border-radius:999px; background:#2a2a2a; font-size:9px; font-weight:900; text-transform:uppercase; }
.cart-page { min-height:100vh; padding-top:92px; background:var(--paper); color:#111; }
.cart-heading { padding:74px 7vw 42px; background:#0a0a0a; color:#fff; text-align:center; }
.cart-heading h1 { margin:10px 0 16px; font-size:clamp(52px,7vw,92px); }
.cart-heading>p:last-child { color:#999; }
.cart-content { min-height:440px; padding:54px 7vw 100px; }
.cart-empty { max-width:580px; margin:42px auto; text-align:center; }
.cart-empty-icon { width:76px; height:76px; margin:0 auto 24px; display:grid; place-items:center; border-radius:24px; background:#fff; color:#111; box-shadow:0 12px 30px #0000000d; }
.cart-empty-icon svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cart-empty h2 { margin:0; font-size:34px; }
.cart-empty p { margin:13px 0 28px; color:#777; }
.cart-empty .button { width:auto; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; max-width:1180px; margin:auto; align-items:start; }
.cart-items { display:grid; gap:13px; }
.cart-item { display:grid; grid-template-columns:132px minmax(0,1fr) auto; gap:20px; padding:18px; border:1px solid #deddd8; border-radius:24px; background:#fff; }
.cart-item-image { width:132px; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border-radius:18px; background:#eee; }
.cart-item-image img { width:84%; height:84%; object-fit:contain; mix-blend-mode:multiply; }
.cart-item-info { min-width:0; align-self:center; }
.cart-item-info p { margin:0 0 7px; color:#999; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.cart-item-info h2 { margin:0 0 10px; font-size:22px; line-height:1.1; }
.cart-item-info>strong { font-size:15px; }
.cart-remove { width:34px; height:34px; margin-top:12px; display:grid; place-items:center; padding:0; border:1px solid #ff3b3b25; border-radius:11px; background:#ff3b3b0d; color:#d82323; cursor:pointer; transition:.2s ease; }
.cart-remove:hover { border-color:#d82323; background:#d82323; color:#fff; }
.cart-remove svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cart-item-actions { min-width:150px; display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:20px; }
.cart-item-subtotal { font-size:21px; }
.cart-summary { position:sticky; top:112px; padding:28px; border-radius:24px; background:#111; color:#fff; }
.cart-summary>p { margin:0 0 25px; color:var(--yellow); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.cart-summary>div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid #ffffff17; color:#aaa; }
.cart-summary>div strong { color:#fff; }
.cart-summary .cart-grand-total { margin-top:8px; align-items:end; border:0; color:#fff; font-size:17px; }
.cart-summary .cart-grand-total strong { color:var(--yellow); font-size:28px; }
.cart-checkout { width:100%; min-height:54px; margin-top:22px; display:grid; place-items:center; border:0; border-radius:999px; background:var(--yellow); color:#090909; font-weight:900; text-transform:uppercase; cursor:pointer; }
.cart-summary .cart-keep-shopping { display:block; margin-top:18px; padding:9px 4px; color:#fff; text-align:center; font-size:12px; font-weight:800; letter-spacing:.02em; text-decoration:none; }
.cart-summary .cart-keep-shopping:hover { color:var(--yellow); }
.cart-clear { width:100%; margin-top:4px; padding:10px 4px; border:0; background:transparent; color:#ff6259; text-align:center; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.cart-clear:hover { color:#ff867f; }
.checkout-steps { width:min(680px,100%); margin:34px auto 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; }
.checkout-steps li { position:relative; display:grid; justify-items:center; gap:8px; color:#777; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.checkout-steps li>a { position:relative; z-index:2; display:grid; justify-items:center; gap:8px; color:inherit; text-decoration:none; }
.checkout-steps li.locked>a { pointer-events:none; cursor:default; }
.checkout-steps li>a b { font:inherit; }
.checkout-steps li.done>a:hover span { transform:translateY(-2px); box-shadow:0 5px 16px #f6d50045; }
.checkout-steps li:not(:last-child)::after { content:""; position:absolute; z-index:0; top:15px; left:calc(50% + 18px); width:calc(100% - 36px); height:2px; background:#333; }
.checkout-steps li.done:not(:last-child)::after { background:var(--yellow); }
.checkout-steps span { position:relative; z-index:1; width:32px; height:32px; display:grid; place-items:center; border:2px solid #555; border-radius:50%; background:#0a0a0a; color:#888; transition:.2s ease; }
.checkout-steps .done span { border-color:var(--yellow); background:var(--yellow); color:#090909; }
.checkout-steps .active span { border-color:var(--yellow); background:#0a0a0a; color:var(--yellow); box-shadow:0 0 8px #f6d500a8,0 0 20px #f6d50045; }
.checkout-steps .active { color:var(--yellow); text-shadow:0 0 10px #f6d50075; }
.checkout-page { min-height:100vh; padding:132px 20px 80px; background:var(--paper); color:#111; }
.checkout-heading { max-width:760px; margin:0 auto 34px; text-align:center; }
.checkout-heading h1 { margin:9px 0 13px; font-size:clamp(40px,6vw,70px); line-height:1; }
.checkout-heading>p:not(.eyebrow) { color:#777; }
.checkout-heading .checkout-steps li:not(.active):not(.done) { color:#999; }
.checkout-heading .checkout-steps span { background:var(--paper); }
.checkout-heading .checkout-steps li:not(:last-child)::after { background:#d5d4ce; }
.checkout-options { max-width:700px; margin:auto; display:grid; gap:12px; }
.checkout-option { position:relative; min-height:82px; padding:14px 16px; display:grid; grid-template-columns:46px minmax(0,1fr) 22px; align-items:center; gap:13px; border:1px solid #deddd8; border-radius:18px; background:#fff; box-shadow:0 2px 9px #00000008; cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease; }
.checkout-option:hover { border-color:#c4c3be; box-shadow:0 5px 18px #0000000d; transform:translateY(-1px); }
.checkout-option:has(input:checked) { border-color:#aaa9a3; background:#fffef4; box-shadow:0 0 0 2px #f6d50055,0 5px 18px #0000000b; }
.checkout-option input { position:absolute; opacity:0; pointer-events:none; }
.checkout-option-icon { width:46px; height:46px; display:grid; place-items:center; color:#222; }
.checkout-option-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.checkout-option>span:nth-of-type(2) { display:grid; gap:6px; }
.checkout-option strong { font-size:15px; letter-spacing:-.01em; }
.checkout-option small { color:#777; font-size:11px; line-height:1.4; }
.checkout-option i { position:relative; width:21px; height:21px; border:1.5px solid #c5c4bf; border-radius:50%; background:#f7f7f5; transition:.2s ease; }
.checkout-option i::after { content:""; position:absolute; inset:4px; border-radius:50%; background:#111; opacity:0; transform:scale(.45); transition:.2s ease; }
.checkout-option input:checked~i { border-color:#111; background:var(--yellow); }
.checkout-option input:checked~i::after { opacity:1; transform:scale(1); }
.checkout-next { width:100%; min-height:58px; margin-top:14px; border:0; border-radius:999px; background:var(--yellow); color:#090909; font-weight:900; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; }
.checkout-back { padding:10px; color:#444; text-align:center; font-size:12px; font-weight:800; }
.checkout-error { min-height:18px; margin:0; color:#c51d1d; text-align:center; font-size:12px; font-weight:700; }
.checkout-order-total { margin-top:8px; padding:20px 22px; display:flex; justify-content:space-between; align-items:center; border-radius:18px; background:#111; color:#fff; }
.checkout-order-total strong { color:var(--yellow); font-size:24px; }
.confirm-modal { position:fixed; z-index:300; inset:0; padding:24px; display:grid; place-items:center; background:#0007; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; }
.confirm-modal.visible { opacity:1; visibility:visible; }
.confirm-modal-dialog { width:min(360px,100%); padding:27px 24px 20px; border:1px solid #ffffff1f; border-radius:22px; background:#f7f7f5f5; color:#111; box-shadow:0 24px 70px #0008; text-align:center; transform:scale(.96) translateY(8px); transition:transform .22s ease; }
.confirm-modal.visible .confirm-modal-dialog { transform:scale(1) translateY(0); }
.confirm-modal-icon { width:46px; height:46px; margin:0 auto 17px; display:grid; place-items:center; border-radius:50%; background:#ff3b3014; color:#d42b22; }
.confirm-modal-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.confirm-modal h2 { margin:0 0 8px; font-size:20px; letter-spacing:-.02em; }
.confirm-modal p { margin:0 auto 22px; max-width:280px; color:#6d6d6a; font-size:13px; line-height:1.45; }
.confirm-modal-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.confirm-modal button { min-height:44px; border:0; border-radius:13px; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.confirm-modal-cancel { background:#e8e8e5; color:#222; }
.confirm-modal-delete { background:#d92d25; color:#fff; }
body.modal-open { overflow:hidden; }
.account-panel { max-width:900px; margin:auto; padding:40px; border:1px solid #333; background:#111; }
.account-panel label { display:block; margin-bottom:6px; color:#aaa; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.account-panel input { width:100%; padding:14px; margin-bottom:18px; background:#080808; color:white; border:1px solid #333; }

@media(max-width:900px){
  .header { height:80px; padding:0 20px; background:rgba(5,5,5,.8); }
  .header .brand-logo { height:67px; }
  .header .brand b { font-size:21px; }
  .header .brand small { font-size:8px; }
  .grid,.grid.four { grid-template-columns:repeat(2,1fr); }
  .insta-carousel { grid-auto-columns:min(55vw,380px); padding-inline:calc(50vw - min(27.5vw,190px)); scroll-padding-inline:calc(50vw - min(27.5vw,190px)); }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cart-layout { grid-template-columns:1fr; }
  .cart-summary { position:static; }
}
@media(min-width:901px) and (max-width:1120px){
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:620px){
  body { padding-bottom:96px; }
  .hero { min-height:72svh; padding:104px 24px 72px; align-items:center; justify-content:center; }
  .hero h1 { font-size:clamp(43px,12.5vw,62px); }
  .hero::before { inset:-18px; filter:blur(10px); opacity:.68; }
  .hero::after { background:linear-gradient(0deg,#050505f2 0%,#0505058c 68%,#050505a8 100%); }
  .actions { display:grid; grid-template-columns:1fr; width:min(420px,100%); margin-inline:auto; }
  .button { width:100%; }
  .section,.content { padding:76px 24px; }
  .page-hero { padding:140px 24px 60px; min-height:470px; }
  body[data-page="loja"] .page-hero { min-height:390px; padding:108px 24px 48px; }
  .stats { grid-template-columns:1fr; }
  .stats div { border-right:0; border-bottom:1px solid #ccc; }
  .section-heading { align-items:start; flex-direction:column; gap:20px; }
  .insta-carousel { grid-auto-columns:76vw; gap:16px; padding-inline:12vw; scroll-padding-inline:12vw; margin-inline:-24px; }
  .carousel-footer { align-items:flex-end; }
  .carousel-reset { min-height:40px; padding-inline:14px; }
  .grid,.grid.two,.grid.four { grid-template-columns:1fr; }
  .event-item summary { min-height:96px; padding:24px 20px; }
  .event-item summary i { flex-basis:38px; width:38px; height:38px; }
  .event-details { padding:0 20px 20px; }
  .footer { padding-left:24px; padding-right:24px; }
  .footer>small { padding-bottom:12px; }
  .shop-hero { min-height:auto; padding:101px 24px 76px; align-items:flex-start; flex-direction:column; gap:24px; }
  .shop-hero h1 { font-size:45px; line-height:.98; }
  .shop-hero-copy>p:last-child { margin-top:18px; font-size:13px; line-height:1.55; }
  .shop-status { padding:10px 15px; font-size:9px; }
  .shop-content { padding:22px 18px 82px; }
  .shop-search { height:54px; margin:-27px 0 22px; border-radius:17px; }
  .shop-search input { font-size:12px; }
  .shop-promo { position:relative; min-height:190px; padding:24px; border-radius:24px; align-items:center; }
  .shop-promo h2 { font-size:36px; }
  .shop-promo p { max-width:260px; font-size:11px; line-height:1.5; }
  .promo-mark { position:absolute; right:17px; margin:0; font-size:116px; }
  .shop-section-heading { margin:42px 2px 17px; }
  .shop-section-heading h2 { font-size:30px; }
  .shop-section-heading>span { max-width:100px; text-align:right; }
  .category-strip { margin-right:-18px; padding-right:18px; }
  .category-strip button { padding:11px 15px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .product-card { border-radius:19px; }
  .product-visual { aspect-ratio:1; }
  .product-visual>span { top:9px; left:9px; padding:6px 8px; font-size:7px; }
  .product-visual button { top:8px; right:8px; width:31px; height:31px; }
  .product-copy { padding:14px; }
  .product-copy h3 { min-height:2.7em; font-size:13px; }
  .product-copy strong { margin-top:12px; font-size:18px; }
  .product-coming-soon { margin-top:12px; padding:10px 6px; font-size:8px; }
  .product-page { padding:112px 18px 72px; }
  .product-back { top:92px; left:18px; width:44px; height:44px; font-size:22px; }
  .product-detail { grid-template-columns:1fr; gap:26px; }
  .product-detail-image { min-height:auto; aspect-ratio:1/1.05; border-radius:24px; }
  .product-info h1 { font-size:38px; }
  .product-detail-price { font-size:28px; }
  .product-description { font-size:13px; }
  .cart-shortcut { right:15px; width:43px; height:43px; border-radius:14px; }
  .cart-toast { top:calc(env(safe-area-inset-top, 0px) + 12px); left:50%; right:auto; width:calc(100vw - 24px); max-width:calc(100vw - 24px); grid-template-columns:38px minmax(0,1fr) auto; padding:11px; border-radius:17px; }
  .cart-toast-icon { width:38px; height:38px; }
  .cart-toast a { padding:9px 10px; font-size:8px; }
  .cart-page { padding-top:80px; }
  .cart-heading { padding:48px 22px 34px; }
  .cart-heading h1 { font-size:46px; }
  .cart-heading>p:last-child { margin-bottom:0; font-size:12px; }
  .cart-content { padding:30px 14px 76px; }
  .cart-empty { margin:56px auto; }
  .cart-empty h2 { font-size:28px; }
  .cart-item { grid-template-columns:92px minmax(0,1fr); gap:13px; padding:12px; border-radius:20px; }
  .cart-item-image { width:92px; border-radius:15px; }
  .cart-item-info h2 { font-size:17px; }
  .cart-item-actions { grid-column:1/-1; width:100%; min-width:0; flex-direction:row; align-items:center; }
  .cart-item-subtotal { font-size:20px; }
  .cart-summary { padding:22px; border-radius:20px; }
  .checkout-page { padding:108px 14px 70px; }
  .checkout-heading { margin-bottom:27px; }
  .checkout-heading h1 { font-size:40px; }
  .checkout-heading>p:not(.eyebrow) { font-size:12px; line-height:1.5; }
  .checkout-steps { margin-top:27px; }
  .checkout-steps li { font-size:7px; letter-spacing:.02em; }
  .checkout-steps span { width:28px; height:28px; }
  .checkout-steps li:not(:last-child)::after { top:13px; left:calc(50% + 15px); width:calc(100% - 30px); }
  .checkout-option { min-height:78px; padding:12px 13px; grid-template-columns:42px minmax(0,1fr) 20px; gap:11px; border-radius:16px; }
  .checkout-option-icon { width:42px; height:42px; font-size:8px; }
  .checkout-option-icon svg { width:26px; height:26px; }
  .checkout-option strong { font-size:14px; }
  .checkout-option small { font-size:10px; }
}

/* Liquid Glass — adapted from the visual language of liquid-glass-react.
   The advanced refraction is progressively enhanced; Safari keeps the
   translucent, highlighted fallback without losing contrast. */
:root {
  --glass-dark:rgba(18,18,18,.58);
  --glass-dark-strong:rgba(15,15,15,.76);
  --glass-light:rgba(255,255,255,.58);
  --glass-light-strong:rgba(255,255,255,.78);
  --glass-stroke:rgba(255,255,255,.22);
  --glass-stroke-dark:rgba(10,10,10,.11);
  --glass-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.2);
  --glass-shadow-light:0 18px 46px rgba(31,31,25,.10),inset 0 1px 0 rgba(255,255,255,.82);
  --glass-blur:22px;
  --glass-saturation:145%;
}

.liquid-glass {
  --glass-x:50%;
  --glass-y:50%;
  isolation:isolate;
}

.button.liquid-glass,.carousel-control.liquid-glass,.carousel-reset.liquid-glass,
.category-strip button.liquid-glass,.product-card.liquid-glass,.card.liquid-glass,
.event-item.liquid-glass,.product-visual button.liquid-glass,.option-list label.liquid-glass,
.quantity-control.liquid-glass,.cart-item.liquid-glass,
.checkout-option.liquid-glass,.checkout-order-total.liquid-glass,
.confirm-modal-dialog.liquid-glass,.account-panel.liquid-glass {
  position:relative;
  overflow:hidden;
}

.liquid-glass::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:.58;
  background:
    radial-gradient(circle at var(--glass-x) var(--glass-y),rgba(255,255,255,.28),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.18),transparent 38%,rgba(244,201,0,.045) 72%,rgba(255,255,255,.08));
  mix-blend-mode:screen;
  transition:opacity .25s ease;
}

.liquid-glass:hover::after { opacity:.88; }
.liquid-glass>* { position:relative; z-index:1; }

.header {
  background:linear-gradient(180deg,rgba(13,13,13,.68),rgba(8,8,8,.46));
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 38px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(26px) saturate(160%);
  -webkit-backdrop-filter:blur(26px) saturate(160%);
}

.bottom-nav {
  overflow:hidden;
  border-color:rgba(255,255,255,.23);
  background:linear-gradient(145deg,rgba(34,34,34,.72),rgba(12,12,12,.58));
  box-shadow:0 20px 58px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(28px) saturate(165%);
  -webkit-backdrop-filter:blur(28px) saturate(165%);
}

.bottom-nav a { position:relative; overflow:hidden; }
.bottom-nav a.active {
  background:linear-gradient(145deg,#ffe65f,#efc100);
  box-shadow:0 7px 18px rgba(244,201,0,.24),inset 0 1px 0 rgba(255,255,255,.6);
}

.cart-shortcut,.product-back,.carousel-control,.carousel-reset,.product-visual button {
  overflow:hidden;
  border-color:var(--glass-stroke);
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055));
  box-shadow:0 12px 30px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(18px) saturate(155%);
  -webkit-backdrop-filter:blur(18px) saturate(155%);
}

.button:not(.primary),.category-strip button,.cart-toast a,.checkout-back {
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 9px 24px rgba(0,0,0,.15);
  backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
}

.button.primary,.add-cart-button,.cart-checkout,.checkout-next {
  background:linear-gradient(145deg,#ffe45a 0%,#f4c900 54%,#dbaa00 100%);
  box-shadow:0 12px 28px rgba(244,201,0,.2),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(123,91,0,.2);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.button.primary:hover,.add-cart-button:hover,.cart-checkout:hover,.checkout-next:hover {
  transform:translateY(-2px);
  filter:saturate(1.06);
  box-shadow:0 16px 34px rgba(244,201,0,.28),inset 0 1px 0 rgba(255,255,255,.78);
}

.card,.event-item,.product-card,.cart-item,.checkout-option,.account-panel {
  border-color:rgba(19,19,16,.11);
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.5));
  box-shadow:var(--glass-shadow-light);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));
}

.dark .card,.account-panel {
  border-color:var(--glass-stroke);
  background:linear-gradient(145deg,rgba(32,32,32,.68),rgba(12,12,12,.55));
  box-shadow:var(--glass-shadow);
}

.product-card {
  overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .28s ease,border-color .28s ease;
}

.product-card:hover {
  transform:translateY(-6px) scale(1.008);
  border-color:rgba(255,255,255,.78);
  box-shadow:0 22px 52px rgba(25,25,20,.16),inset 0 1px 0 rgba(255,255,255,.9);
}

.product-visual,.product-detail-image,.cart-item-image {
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.92),transparent 38%),
    linear-gradient(145deg,rgba(235,235,230,.88),rgba(211,211,204,.7));
}

.category-strip {
  scrollbar-width:none;
}

.category-strip button {
  position:relative;
  overflow:hidden;
  border-color:rgba(16,16,14,.1);
  background:rgba(255,255,255,.52);
  color:#4b4b48;
  box-shadow:0 8px 24px rgba(20,20,16,.07),inset 0 1px 0 rgba(255,255,255,.9);
}

.category-strip button.active {
  border-color:rgba(244,201,0,.55);
  background:linear-gradient(145deg,rgba(255,230,83,.95),rgba(244,201,0,.82));
  color:#111;
  box-shadow:0 10px 24px rgba(244,201,0,.18),inset 0 1px 0 rgba(255,255,255,.72);
}

.option-list label,.color-options label {
  overflow:hidden;
  border-color:rgba(15,15,13,.11);
  background:rgba(255,255,255,.48);
  box-shadow:0 7px 20px rgba(20,20,16,.06),inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
}

.option-list label:has(input:checked) {
  border-color:rgba(20,20,18,.75);
  background:rgba(255,255,255,.84);
  box-shadow:0 0 0 2px rgba(244,201,0,.72),0 10px 24px rgba(20,20,16,.1),inset 0 1px 0 #fff;
}

.quantity-control {
  border-color:rgba(15,15,13,.1);
  background:rgba(255,255,255,.56);
  box-shadow:0 9px 26px rgba(20,20,16,.08),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
}

.quantity-control button {
  background:rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}

.quantity-control button:hover {
  background:#fff;
  box-shadow:0 5px 14px rgba(20,20,16,.1),inset 0 1px 0 #fff;
}

.cart-toast {
  overflow:hidden;
  border-color:var(--glass-stroke);
  background:linear-gradient(145deg,rgba(35,35,35,.78),rgba(10,10,10,.66));
  box-shadow:0 22px 58px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.19);
  backdrop-filter:blur(28px) saturate(165%);
  -webkit-backdrop-filter:blur(28px) saturate(165%);
}

.cart-summary,.checkout-order-total {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,rgba(31,31,31,.82),rgba(8,8,8,.74));
  box-shadow:0 22px 54px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.15);
  backdrop-filter:blur(24px) saturate(155%);
  -webkit-backdrop-filter:blur(24px) saturate(155%);
}

.checkout-option {
  overflow:hidden;
  min-height:78px;
  border-radius:22px;
  transition:transform .28s cubic-bezier(.2,.75,.2,1),box-shadow .25s ease,border-color .25s ease;
}

.checkout-option:hover { transform:translateY(-3px); }
.checkout-option:has(input:checked) {
  border-color:rgba(244,201,0,.66);
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,250,218,.68));
  box-shadow:0 0 0 2px rgba(244,201,0,.28),0 18px 40px rgba(35,31,8,.11),inset 0 1px 0 #fff;
}

.checkout-option i {
  border-color:rgba(20,20,18,.18);
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.05),0 3px 9px rgba(0,0,0,.05);
}

.checkout-steps span {
  border-color:rgba(255,255,255,.2);
  background:rgba(10,10,10,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.checkout-heading .checkout-steps span {
  border-color:rgba(15,15,13,.12);
  background:rgba(255,255,255,.5);
  box-shadow:0 6px 18px rgba(20,20,16,.07),inset 0 1px 0 rgba(255,255,255,.88);
}

.checkout-steps .active span {
  border-color:rgba(255,222,48,.9);
  background:linear-gradient(145deg,rgba(55,51,15,.86),rgba(15,15,12,.72));
  color:#ffe454;
  box-shadow:0 0 12px rgba(246,213,0,.58),0 0 30px rgba(246,213,0,.23),inset 0 1px 0 rgba(255,255,255,.2);
}

.confirm-modal {
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}

.confirm-modal-dialog {
  overflow:hidden;
  border-color:rgba(255,255,255,.72);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(244,244,240,.64));
  box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 #fff;
  backdrop-filter:blur(34px) saturate(165%);
  -webkit-backdrop-filter:blur(34px) saturate(165%);
}

.confirm-modal button {
  border:1px solid rgba(20,20,18,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.confirm-modal-cancel { background:rgba(231,231,227,.74); }
.confirm-modal-delete { background:linear-gradient(145deg,#ff6259,#d92d25); }

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .header,.bottom-nav,.cart-toast,.cart-summary,.checkout-order-total,.dark .card,.account-panel { background:rgba(18,18,18,.94); }
  .card,.event-item,.product-card,.cart-item,.checkout-option,.confirm-modal-dialog { background:rgba(255,255,255,.96); }
}

@media (prefers-reduced-motion:reduce) {
  .liquid-glass::after,.product-card,.checkout-option,.button,.quantity-control button { transition:none!important; }
  .product-card:hover,.checkout-option:hover,.button:hover { transform:none!important; }
}

@media(max-width:620px) {
  :root { --glass-blur:18px; }
  .bottom-nav { border-radius:26px; }
  .product-card:hover,.checkout-option:hover { transform:none; }
  .confirm-modal-dialog { border-radius:25px; }
}

/* v1.3 — Liquid Glass de alta presença */
:root {
  --glass-blur:32px;
  --glass-saturation:185%;
  --glass-edge:rgba(255,255,255,.48);
  --glass-shine:rgba(255,255,255,.26);
  --glass-yellow:rgba(244,201,0,.22);
}

.header {
  background:
    linear-gradient(180deg,rgba(24,24,22,.62),rgba(4,4,4,.34))!important;
  border-bottom-color:rgba(255,255,255,.22)!important;
  box-shadow:
    0 18px 55px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(34px) saturate(190%) contrast(108%)!important;
  -webkit-backdrop-filter:blur(34px) saturate(190%) contrast(108%)!important;
}

.bottom-nav {
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.38)!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.04) 38%,rgba(7,7,7,.34) 72%),
    rgba(13,13,13,.46)!important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.58),
    0 0 0 1px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.56),
    inset 0 -1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(38px) saturate(210%) contrast(112%)!important;
  -webkit-backdrop-filter:blur(38px) saturate(210%) contrast(112%)!important;
}

.bottom-nav::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-70% -15% 45%;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),rgba(244,201,0,.18),transparent);
  filter:blur(13px);
  transform:rotate(-4deg);
  pointer-events:none;
}

.bottom-nav::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:180px;
  height:90px;
  left:var(--glass-x,50%);
  top:var(--glass-y,50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.25),transparent 68%);
  filter:blur(12px);
  transform:translate(-50%,-50%);
  opacity:.8;
  pointer-events:none;
  transition:left .16s ease,top .16s ease;
}

.bottom-nav a {
  border:1px solid transparent;
  color:rgba(255,255,255,.64)!important;
}

.bottom-nav a:hover {
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff!important;
}

.bottom-nav a.active {
  border-color:rgba(255,229,91,.86)!important;
  background:
    linear-gradient(145deg,rgba(255,231,105,.98),rgba(244,201,0,.82))!important;
  color:#090909!important;
  box-shadow:
    0 8px 28px rgba(244,201,0,.34),
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -1px 0 rgba(110,83,0,.15)!important;
}

.liquid-glass {
  isolation:isolate;
  transform:translateZ(0);
}

.liquid-glass::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(255,255,255,.08) 34%,rgba(244,201,0,.22) 67%,rgba(255,255,255,.38));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.liquid-glass::after {
  opacity:.78!important;
  background:
    radial-gradient(circle at var(--glass-x) var(--glass-y),rgba(255,255,255,.54),rgba(255,255,255,.13) 17%,transparent 38%),
    linear-gradient(118deg,rgba(255,255,255,.22),transparent 28%,transparent 68%,rgba(244,201,0,.13))!important;
  mix-blend-mode:screen;
}

.dark .card,
.event-item,
.account-panel,
.cart-summary,
.checkout-order-total,
.cart-toast {
  background:
    linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.035) 46%,rgba(7,7,7,.23)),
    rgba(13,13,13,.52)!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:
    0 24px 65px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(34px) saturate(190%)!important;
  -webkit-backdrop-filter:blur(34px) saturate(190%)!important;
}

.product-card,
.card:not(.dark .card),
.cart-item,
.checkout-option,
.confirm-modal-dialog,
.shop-search {
  background:
    linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.50) 55%,rgba(242,240,224,.32))!important;
  border-color:rgba(255,255,255,.92)!important;
  box-shadow:
    0 22px 55px rgba(34,32,18,.15),
    0 0 0 1px rgba(25,25,20,.06),
    inset 0 1px 0 #fff,
    inset 0 -1px 0 rgba(255,255,255,.44)!important;
  backdrop-filter:blur(30px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(30px) saturate(180%)!important;
}

.product-card:hover,
.checkout-option:hover {
  transform:translateY(-5px) scale(1.008);
  box-shadow:
    0 30px 75px rgba(34,32,18,.21),
    0 0 0 1px rgba(244,201,0,.18),
    inset 0 1px 0 #fff!important;
}

.checkout-option.selected,
.checkout-option:has(input:checked) {
  border-color:rgba(244,201,0,.95)!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,241,164,.46)),
    rgba(255,255,255,.62)!important;
  box-shadow:
    0 20px 58px rgba(244,201,0,.18),
    0 0 0 2px rgba(244,201,0,.34),
    inset 0 1px 0 #fff!important;
}

.quantity-control {
  border-color:rgba(255,255,255,.72)!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.30))!important;
  box-shadow:
    0 10px 26px rgba(20,20,15,.12),
    inset 0 1px 0 #fff,
    inset 0 -1px 0 rgba(0,0,0,.05)!important;
  backdrop-filter:blur(20px) saturate(170%);
  -webkit-backdrop-filter:blur(20px) saturate(170%);
}

.quantity-control button {
  background:rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
}

.quantity-control button:hover {
  background:rgba(255,255,255,.84);
  box-shadow:0 5px 16px rgba(0,0,0,.13),inset 0 1px 0 #fff;
}

.confirm-modal {
  background:rgba(2,2,2,.38)!important;
  backdrop-filter:blur(24px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(145%)!important;
}

.confirm-modal-dialog {
  border-color:rgba(255,255,255,.95)!important;
  box-shadow:
    0 40px 120px rgba(0,0,0,.50),
    0 0 70px rgba(255,255,255,.09),
    inset 0 1px 0 #fff!important;
}

.checkout-steps .active span {
  color:#ffe15a!important;
  text-shadow:0 0 8px rgba(244,201,0,.72),0 0 22px rgba(244,201,0,.42);
}

@media(max-width:620px) {
  .header {
    background:linear-gradient(180deg,rgba(18,18,17,.68),rgba(5,5,5,.40))!important;
  }
  .bottom-nav {
    background:
      linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.035) 44%,rgba(6,6,6,.36)),
      rgba(12,12,12,.50)!important;
    backdrop-filter:blur(28px) saturate(205%)!important;
    -webkit-backdrop-filter:blur(28px) saturate(205%)!important;
  }
}

/* v1.4 — acabamento e correções de navegação */
.bottom-nav {
  left:50%!important;
  right:auto!important;
  width:min(430px,calc(100% - 32px))!important;
  padding:7px!important;
  border-radius:999px!important;
  transform:translateX(-50%)!important;
}

.bottom-nav::before {
  inset:-55% 4% 58%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),rgba(244,201,0,.07),transparent)!important;
  filter:blur(18px)!important;
  opacity:.55!important;
}

.bottom-nav::after {
  width:130px!important;
  height:64px!important;
  background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%)!important;
  filter:blur(18px)!important;
  opacity:.42!important;
}

.bottom-nav a {
  border-radius:999px!important;
}

.liquid-glass::after {
  opacity:.38!important;
  background:
    radial-gradient(circle at var(--glass-x) var(--glass-y),rgba(255,255,255,.23),rgba(255,255,255,.055) 18%,transparent 40%),
    linear-gradient(118deg,rgba(255,255,255,.10),transparent 30%,transparent 72%,rgba(244,201,0,.055))!important;
}

.liquid-glass:hover::after {
  opacity:.52!important;
}

.cart-shortcut {
  overflow:visible!important;
}

.cart-shortcut::before,
.cart-shortcut::after {
  border-radius:inherit;
}

.cart-shortcut span {
  z-index:5!important;
  top:-8px!important;
  right:-8px!important;
  overflow:visible!important;
  box-shadow:0 3px 10px rgba(0,0,0,.32);
}

.checkout-back,
.checkout-back.liquid-glass {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.checkout-back::before,
.checkout-back::after {
  display:none!important;
}

.checkout-back:hover {
  color:#111!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:620px) {
  .bottom-nav {
    width:calc(100% - 32px)!important;
    border-radius:999px!important;
  }
}

/* v1.6 — movimento suave entre abas, telas e atualizações do carrinho */
.bottom-nav {
  --nav-index:0;
  isolation:isolate;
}

.bottom-nav .bottom-nav-indicator {
  position:absolute;
  z-index:0;
  top:7px;
  bottom:7px;
  left:7px;
  width:calc((100% - 14px) / 4);
  border-radius:999px;
  background:
    linear-gradient(145deg,rgba(255,232,90,.98),rgba(244,201,0,.93));
  box-shadow:
    0 7px 20px rgba(244,201,0,.20),
    inset 0 1px 0 rgba(255,255,255,.72);
  transform:translateX(calc(var(--nav-index) * 100%));
  transition:transform .42s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.bottom-nav a {
  z-index:1;
}

.bottom-nav a.active {
  background:transparent!important;
  box-shadow:none!important;
}

.bottom-nav a svg,
.bottom-nav a span {
  transition:color .26s ease,transform .36s cubic-bezier(.22,1,.36,1);
}

.bottom-nav a.active svg {
  transform:translateY(-1px) scale(1.06);
}

[data-cart-count].count-bump {
  animation:only-cart-count-bump .48s cubic-bezier(.2,1.7,.35,1);
}

@keyframes only-cart-count-bump {
  0% { transform:scale(.72); }
  42% {
    transform:scale(1.34);
    box-shadow:0 0 0 6px rgba(244,201,0,.18),0 5px 14px rgba(0,0,0,.34);
  }
  100% { transform:scale(1); }
}

@media(prefers-reduced-motion:reduce) {
  .bottom-nav .bottom-nav-indicator,
  .bottom-nav a svg,
  .bottom-nav a span,
  .motion-enabled body main,
  .motion-enabled body .product-page,
  .motion-enabled body .cart-page,
  .motion-enabled body .checkout-page {
    transition:none!important;
  }
  [data-cart-count].count-bump { animation:none!important; }
}

/* v1.7 — seleção minimalista e navegação por arraste */
.bottom-nav {
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
}

.bottom-nav .bottom-nav-indicator {
  display:none!important;
}

.bottom-nav a,
.bottom-nav a.active {
  color:#888!important;
  background:transparent!important;
  box-shadow:none!important;
}

.bottom-nav a::before,
.bottom-nav a::after {
  display:none!important;
}

.bottom-nav a svg {
  color:#888;
  filter:none;
  transition:
    color .22s ease,
    filter .28s ease,
    transform .3s cubic-bezier(.22,1,.36,1);
}

.bottom-nav a span {
  color:#888;
  text-shadow:none;
  transition:color .22s ease,opacity .22s ease;
}

.bottom-nav a.active svg,
.bottom-nav.nav-dragging a.nav-drag-active svg {
  color:var(--yellow);
  filter:
    drop-shadow(0 0 4px rgba(246,213,0,.7))
    drop-shadow(0 0 11px rgba(246,213,0,.32));
  transform:translateY(-1px) scale(1.08);
}

.bottom-nav.nav-dragging a.active:not(.nav-drag-active) svg {
  color:#888;
  filter:none;
  transform:none;
}

.bottom-nav.nav-dragging a.nav-drag-active span {
  color:#aaa;
}

@media(prefers-reduced-motion:reduce) {
  .bottom-nav a svg,
  .bottom-nav a span {
    transition:none!important;
  }
}

/* v1.8 — leitura reforçada e destaque completo da aba ativa */
.bottom-nav a,
.bottom-nav a.active {
  color:#b8b8b8!important;
  opacity:1!important;
}

.bottom-nav a svg {
  color:#b8b8b8;
  opacity:.9;
}

.bottom-nav a span {
  color:#b8b8b8;
  opacity:.88;
}

.bottom-nav a:hover svg,
.bottom-nav a:hover span {
  color:#e4e4e4;
  opacity:1;
}

.bottom-nav a.active svg,
.bottom-nav a.active span,
.bottom-nav.nav-dragging a.nav-drag-active svg,
.bottom-nav.nav-dragging a.nav-drag-active span {
  color:var(--yellow)!important;
  opacity:1;
}

.bottom-nav a.active span,
.bottom-nav.nav-dragging a.nav-drag-active span {
  text-shadow:
    0 0 5px rgba(246,213,0,.7),
    0 0 13px rgba(246,213,0,.34);
}

.bottom-nav.nav-dragging a.active:not(.nav-drag-active) svg,
.bottom-nav.nav-dragging a.active:not(.nav-drag-active) span {
  color:#b8b8b8!important;
  filter:none;
  text-shadow:none;
  transform:none;
  opacity:.88;
}

/* v1.9 — navegação por ícones e destaque do próximo evento */
.bottom-nav {
  grid-template-columns:repeat(5,1fr);
  height:68px;
  padding:7px 9px;
  overflow:visible;
}

.bottom-nav a,
.bottom-nav a.active {
  height:54px;
  overflow:visible;
  gap:0;
}

.bottom-nav a > span:not(.next-event-icon) {
  display:none!important;
}

.bottom-nav a > svg {
  width:24px;
  height:24px;
}

.bottom-nav .instagram-dot {
  fill:currentColor;
  stroke:none;
}

.bottom-nav .next-event-nav {
  z-index:3;
}

.bottom-nav .next-event-icon {
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#090909;
  background:var(--yellow);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:
    0 7px 18px rgba(0,0,0,.42),
    0 0 10px rgba(246,213,0,.34);
  transform:translateY(-7px);
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s ease;
}

.bottom-nav a.next-event-nav .next-event-icon svg,
.bottom-nav a.next-event-nav.active .next-event-icon svg,
.bottom-nav.nav-dragging a.next-event-nav.nav-drag-active .next-event-icon svg {
  width:27px;
  height:27px;
  color:#090909!important;
  stroke:#090909;
  filter:none!important;
  transform:none!important;
}

.bottom-nav .next-event-nav:hover .next-event-icon,
.bottom-nav .next-event-nav.active .next-event-icon,
.bottom-nav.nav-dragging .next-event-nav.nav-drag-active .next-event-icon {
  transform:translateY(-9px) scale(1.06);
  box-shadow:
    0 8px 21px rgba(0,0,0,.46),
    0 0 13px rgba(246,213,0,.48);
}

.bottom-nav.nav-dragging .next-event-nav.active:not(.nav-drag-active) .next-event-icon {
  transform:translateY(-7px);
}

.next-event-page {
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 48%,rgba(246,213,0,.055),transparent 30%),
    #090909;
}

.next-event-main {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:126px 24px 116px;
}

.next-event-waiting {
  width:min(680px,100%);
  text-align:center;
}

.waiting-symbol {
  width:92px;
  height:92px;
  margin:0 auto 30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:31px;
  color:var(--yellow);
  background:rgba(255,255,255,.055);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 18px 48px rgba(0,0,0,.32),
    0 0 24px rgba(246,213,0,.08);
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
}

.waiting-symbol svg {
  width:43px;
  height:43px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.next-event-waiting h1 {
  margin:12px 0 22px;
  color:#fff;
  font-size:clamp(46px,7vw,88px);
  line-height:.94;
  letter-spacing:-.055em;
}

.next-event-waiting h1 em {
  color:var(--yellow);
  font-style:normal;
}

.next-event-waiting > p:not(.eyebrow) {
  width:min(500px,100%);
  margin:0 auto;
  color:#aaa;
  font-size:clamp(14px,2vw,17px);
  line-height:1.7;
}

.waiting-status {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:34px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#c4c4c4;
  background:rgba(255,255,255,.045);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.waiting-status i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 9px rgba(246,213,0,.6);
  animation:waitingPulse 1.8s ease-in-out infinite;
}

@keyframes waitingPulse {
  50% { opacity:.35; transform:scale(.72); }
}

@media(max-width:600px) {
  .bottom-nav {
    width:calc(100% - 24px);
    padding-inline:7px;
  }

  .bottom-nav .next-event-icon {
    width:54px;
    height:54px;
  }

  .next-event-main {
    padding-inline:20px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .waiting-status i {
    animation:none;
  }
}

/* v2.0 — alinhamentos do header/menu e ícone de sacolinha */
.header .cart-shortcut,
.header .cart-shortcut.liquid-glass {
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%) translateZ(0)!important;
}

.bottom-nav .next-event-nav {
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.bottom-nav .next-event-icon {
  transform:none;
}

.bottom-nav .next-event-nav:hover .next-event-icon,
.bottom-nav .next-event-nav.active .next-event-icon,
.bottom-nav.nav-dragging .next-event-nav.nav-drag-active .next-event-icon {
  transform:scale(1.06);
}

.bottom-nav.nav-dragging .next-event-nav.active:not(.nav-drag-active) .next-event-icon {
  transform:none;
}

/* v2.1 — card interativo da Administração */
.administration {
  overflow:hidden;
}

.administration > h2 {
  margin-bottom:42px;
}

.admin-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),350px));
  justify-content:center;
  align-items:start;
  gap:28px;
}

.admin-card {
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:350px;
  aspect-ratio:2 / 3;
  justify-self:center;
  overflow:hidden;
  overflow:clip;
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  background:#111;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.admin-card:focus-visible {
  outline:2px solid var(--yellow);
  outline-offset:5px;
}

.admin-car,
.admin-person,
.admin-shade,
.admin-car-info,
.admin-name,
.admin-hint {
  position:absolute;
}

.admin-car {
  z-index:-3;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  object-fit:cover;
  object-position:center;
  filter:saturate(.82) contrast(1.08) brightness(.78);
  transform:scale(1.10);
  transition:filter .65s ease,transform .8s cubic-bezier(.22,1,.36,1);
}

.admin-shade {
  z-index:-2;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 28%,rgba(0,0,0,.82) 100%),
    linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.18));
  transition:background .6s ease;
}

.admin-person {
  z-index:1;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  object-fit:cover;
  object-position:center bottom;
  filter:drop-shadow(0 16px 25px rgba(0,0,0,.5));
  transform:translate3d(0,0,0) scale(1.10);
  transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .42s ease;
  pointer-events:none;
}

.admin-name {
  z-index:3;
  left:25px;
  right:25px;
  bottom:24px;
  color:#fff;
  text-shadow:0 2px 15px rgba(0,0,0,.8);
  transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .35s ease;
}

.admin-name h3 {
  margin:0;
  font-size:clamp(25px,4vw,38px);
  line-height:1;
  letter-spacing:-.045em;
}

.admin-name p {
  margin:8px 0 0;
  color:var(--yellow);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.admin-hint {
  z-index:3;
  top:20px;
  right:20px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  color:rgba(255,255,255,.82);
  background:rgba(5,5,5,.34);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:opacity .3s ease;
}

.admin-car-info {
  z-index:2;
  left:25px;
  right:25px;
  bottom:24px;
  max-width:60%;
  color:#fff;
  opacity:0;
  text-shadow:0 2px 15px rgba(0,0,0,.8);
  transform:translate3d(-22px,12px,0);
  transition:opacity .35s ease .08s,transform .6s cubic-bezier(.22,1,.36,1);
}

.admin-car-info span,
.admin-car-info small {
  display:block;
  color:var(--yellow);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.admin-car-info strong {
  display:block;
  margin:9px 0 5px;
  font-size:clamp(28px,5vw,46px);
  line-height:.94;
  letter-spacing:-.05em;
}

.admin-card.is-open .admin-person {
  opacity:.94;
  transform:translate3d(58%,2%,0) scale(1.10);
}

.admin-card.is-open .admin-name {
  opacity:0;
  transform:translate3d(0,18px,0);
}

.admin-card.is-open .admin-hint {
  opacity:0;
}

.admin-card.is-open .admin-car-info {
  opacity:1;
  transform:translate3d(0,0,0);
}

.admin-card.is-open .admin-car {
  filter:saturate(.95) contrast(1.06) brightness(.88);
  transform:scale(1.11);
}

.admin-card.is-open .admin-shade {
  background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.12) 63%,rgba(0,0,0,.78) 100%);
}

@media(max-width:600px) {
  .administration > h2 {
    margin-bottom:28px;
  }

  .admin-grid {
    grid-template-columns:minmax(0,1fr);
    gap:22px;
  }

  .admin-card {
    width:min(92%,330px,calc((100svh - 250px) * .6667));
    border-radius:25px;
  }

  .admin-name {
    left:21px;
    bottom:21px;
  }

  .admin-car-info {
    left:21px;
    right:21px;
    bottom:21px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .admin-card *,
  .admin-card {
    transition-duration:.01ms!important;
  }
}

/* v3.1 — card stack real, compacto e com conteúdo centralizado */
.values-section {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr);
  align-items:center;
  gap:clamp(46px,8vw,120px);
  overflow:hidden;
}

.values-copy {
  min-width:0;
}

.values-copy h2 {
  margin-bottom:32px;
}

.values-stack-wrap {
  width:100%;
  min-width:0;
  display:grid;
  justify-items:center;
}

.values-stack {
  position:relative;
  width:min(100%,430px);
  height:290px;
  touch-action:pan-y;
  perspective:1200px;
  isolation:isolate;
  overflow:visible;
}

.values-stack > .value-card {
  --stack-scale:1;
  --stack-rotation:0deg;
  position:absolute!important;
  inset:0!important;
  width:100%;
  height:100%;
  margin:0;
  min-height:0;
  padding:clamp(24px,4vw,36px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:30px;
  transform:translate3d(0,0,0) scale(var(--stack-scale)) rotate(var(--stack-rotation));
  transform-origin:50% 50%;
  opacity:var(--stack-opacity,1);
  box-shadow:0 26px 58px rgba(20,20,15,.16),inset 0 1px 0 rgba(255,255,255,.9);
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
  will-change:transform;
  transition:
    transform .52s cubic-bezier(.22,1,.36,1),
    opacity .38s ease,
    box-shadow .3s ease;
}

.values-stack > .value-card:not(.is-front) {
  pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(247,244,224,.58));
  box-shadow:0 16px 40px rgba(20,20,15,.12),inset 0 1px 0 rgba(255,255,255,.88);
}

.values-stack > .value-card.is-front {
  cursor:grab;
}

.values-stack > .value-card.is-dragging {
  cursor:grabbing;
  transition:none;
}

.values-stack > .value-card.is-leaving {
  pointer-events:none;
  opacity:0;
  transform:
    translate3d(var(--throw-x,120%),var(--throw-y,10px),80px)
    rotate(var(--throw-rotation,12deg))
    scale(.98);
  transition:
    transform .46s cubic-bezier(.32,.72,0,1),
    opacity .32s ease;
}

.value-card:focus-visible {
  outline:3px solid var(--yellow);
  outline-offset:5px;
}

.value-card .card-mark {
  position:absolute;
  top:30px;
  left:32px;
  font-size:24px;
}

.value-number {
  position:absolute;
  top:27px;
  right:31px;
  color:rgba(15,15,15,.22);
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
}

.value-card h3 {
  max-width:94%;
  margin:0 0 16px;
  font-size:clamp(25px,3.5vw,38px);
  line-height:.98;
  letter-spacing:-.045em;
}

.value-card p {
  max-width:94%;
  margin:0;
  font-size:clamp(11px,1.15vw,14px);
  line-height:1.55;
}

.values-hint {
  margin:30px 0 0;
  color:#7d7d76;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.values-hint span {
  display:inline-grid;
  place-items:center;
  width:27px;
  height:27px;
  margin-right:8px;
  border-radius:50%;
  background:#111;
  color:var(--yellow);
  font-size:14px;
  letter-spacing:0;
}

@media(max-width:800px) {
  .values-section {
    grid-template-columns:1fr;
    gap:42px;
  }

  .values-stack {
    width:min(88vw,390px);
    height:clamp(270px,68vw,290px);
  }
}

@media(max-width:600px) {
  body[data-page="sobre"] .page-hero::before {
    inset:-10% -5%;
    background-position:47% 64%;
    transform:translate3d(0,var(--page-hero-parallax,0px),0) scale(1.03);
  }

  body[data-page="sobre"] .page-hero::after {
    background:
      linear-gradient(0deg,rgba(3,3,3,.92) 0%,rgba(3,3,3,.38) 62%,rgba(3,3,3,.5) 100%);
  }
}

@media(max-width:480px) {
  .values-stack {
    width:min(86vw,350px);
    height:clamp(268px,73vw,285px);
  }

  .value-card {
    padding:25px;
    border-radius:25px;
  }

  .value-card h3 {
    max-width:92%;
    margin-bottom:12px;
    font-size:clamp(23px,7.2vw,31px);
  }

  .value-card p {
    font-size:11px;
    line-height:1.48;
  }

  .value-card .card-mark {
    top:24px;
    left:25px;
  }

  .value-number {
    top:23px;
    right:25px;
  }

  .values-hint {
    margin-top:25px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .value-card {
    transition-duration:.01ms!important;
  }

  body[data-page="sobre"] .page-hero::before {
    transform:scale(1.045);
    will-change:auto;
  }
}

/* v3.3 — quatro administradores e título longo corrigido */
.value-card h3 {
  min-width:0;
  width:100%;
  overflow-wrap:normal;
  text-wrap:balance;
}

.value-card--long h3 {
  max-width:100%;
  font-size:clamp(23px,3vw,34px);
  letter-spacing:-.05em;
}

@media(max-width:480px) {
  .value-card--long h3 {
    max-width:100%;
    font-size:clamp(21px,6.3vw,27px);
    line-height:1.02;
  }
}

/* v3.4 — catálogo oficial e galeria de produtos */
.product-visual .product-photo {
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center!important;
  mix-blend-mode:normal;
}

.product-visual:has(.product-photo) {
  background:#fff;
}

.product-gallery {
  min-width:0;
}

.product-detail-image {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  touch-action:pan-y;
  user-select:none;
}

.product-detail-image img {
  width:94%;
  height:94%;
  object-fit:contain!important;
  object-position:center!important;
  mix-blend-mode:normal;
}

.product-detail-image.gallery-transition-blur img {
  animation:product-image-blur .62s cubic-bezier(.4,0,.2,1) both;
}

@keyframes product-image-blur {
  0% {
    opacity:1;
    filter:blur(0);
    transform:scale(1);
  }
  47%,53% {
    opacity:0;
    filter:blur(22px);
    transform:scale(.985);
  }
  100% {
    opacity:1;
    filter:blur(0);
    transform:scale(1);
  }
}

.product-detail-image:has([data-product-image]) {
  background:#fff;
}

.product-gallery-control {
  position:absolute;
  z-index:3;
  top:50%;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid #ffffff85;
  border-radius:50%;
  background:#111111b8;
  color:#fff;
  box-shadow:0 10px 28px #0003;
  backdrop-filter:blur(12px);
  transform:translateY(-50%);
  font:500 32px/1 system-ui,sans-serif;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.product-gallery-control:hover {
  background:var(--yellow);
  color:#111;
  transform:translateY(-50%) scale(1.04);
}

.product-gallery-control.previous { left:16px; }
.product-gallery-control.next { right:16px; }
.product-gallery-control[hidden] { display:none; }

.product-gallery-count {
  position:absolute;
  z-index:3;
  right:16px;
  bottom:16px;
  padding:8px 11px;
  border-radius:999px;
  background:#111111c7;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(12px);
}

.product-gallery-progress {
  --gallery-progress:25%;
  width:min(180px,42%);
  height:4px;
  margin:14px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:#d4d2ca;
}

.product-gallery-progress::after {
  content:"";
  display:block;
  width:var(--gallery-progress);
  height:100%;
  border-radius:inherit;
  background:var(--yellow);
  box-shadow:0 0 10px #f6d50066;
  transition:width .28s ease;
}

.product-gallery-progress[hidden] { display:none; }

/* O botão da página de eventos deve permanecer centralizado, inclusive no mobile,
   onde a regra global dos botões usa largura total. */
.events-page .floating-back {
  left:50%;
  right:auto;
  width:max-content !important;
  max-width:calc(100% - 32px);
  margin:0;
  transform:translateX(-50%);
  text-align:center;
}

.next-event-history {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:clamp(2rem, 5vw, 3.5rem);
  text-align:center;
}

.next-event-history .eyebrow { margin-bottom:.8rem; }

.next-event-history .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin-inline:auto;
}

/* v4.4 — contato direto, histórico completo e glow do próximo evento */
.contact-direct {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  align-items:center;
  gap:clamp(34px,7vw,100px);
}

.contact-direct > div { max-width:760px; }
.contact-direct .button { margin-top:28px; }
.contact-socials {
  padding:32px;
  border:1px solid #d8d8d4;
  border-radius:var(--radius);
  background:#fff;
}
.contact-socials .lead { margin-bottom:0; font-size:17px; }

.event-accordion {
  display:grid;
  gap:14px;
}

.event-numbers {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:32px 0 0;
}

.event-numbers div {
  min-width:0;
  padding:22px;
  border:1px solid #2a2a2a;
  border-top:3px solid var(--yellow);
  border-radius:18px;
  background:#101010;
}

.event-numbers dt {
  color:#999;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.event-numbers dd {
  margin:12px 0 0;
  color:#fff;
  font-size:clamp(18px,2vw,26px);
  font-weight:700;
  line-height:1.18;
}

.bottom-nav .next-event-icon {
  border-color:transparent!important;
  outline:0!important;
}

.bottom-nav .next-event-nav:hover .next-event-icon,
.bottom-nav .next-event-nav.active .next-event-icon,
.bottom-nav.nav-dragging .next-event-nav.nav-drag-active .next-event-icon {
  border-color:transparent!important;
  outline:0!important;
  box-shadow:
    0 8px 21px rgba(0,0,0,.46),
    0 0 9px rgba(246,213,0,.72),
    0 0 24px rgba(246,213,0,.5),
    0 0 42px rgba(246,213,0,.22)!important;
}

.bottom-nav .next-event-nav:focus-visible {
  outline:0;
}

@media(max-width:850px) {
  .event-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .event-numbers div:last-child:nth-child(odd) { grid-column:1/-1; }
  .contact-direct { grid-template-columns:1fr; }
}

@media(max-width:520px) {
  .event-item summary { padding:23px 20px; }
  .event-details { padding:0 20px 24px; }
  .event-numbers { grid-template-columns:1fr; }
  .event-numbers div:last-child:nth-child(odd) { grid-column:auto; }
  .contact-direct .button { width:100%; }
}

.form-helper {
  margin:.15rem 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}

.form-error {
  min-height:1.2em;
  margin:0;
  color:#ffcc21;
  font-size:.82rem;
}

.privacy-content {
  max-width:780px;
  margin-inline:auto;
}

.privacy-content h2 { margin-top:2rem; }

@media(max-width:700px) {
  .product-gallery-control {
    width:40px;
    height:40px;
    font-size:27px;
  }

  .product-gallery-control.previous { left:10px; }
  .product-gallery-control.next { right:10px; }
  .product-gallery-count { right:10px; bottom:10px; }
  .product-gallery-progress {
    width:38%;
    margin-top:11px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .product-detail-image::before,
  .product-detail-image::after {
    display:none;
    animation:none !important;
  }
}

/* v4.5 — métricas enxutas e botão central elevado */
.event-numbers {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.bottom-nav .next-event-nav,
.bottom-nav .next-event-nav:hover,
.bottom-nav .next-event-nav.active,
.bottom-nav.nav-dragging .next-event-nav.nav-drag-active {
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.bottom-nav .next-event-icon {
  width:66px;
  height:66px;
  border:0!important;
  outline:0!important;
  transform:translateY(-10px);
  box-shadow:0 9px 22px rgba(0,0,0,.48);
}

.bottom-nav .next-event-nav:hover .next-event-icon,
.bottom-nav .next-event-nav.active .next-event-icon,
.bottom-nav.nav-dragging .next-event-nav.nav-drag-active .next-event-icon {
  border:0!important;
  outline:0!important;
  transform:translateY(-10px) scale(1.04);
  box-shadow:
    0 10px 24px rgba(0,0,0,.5),
    0 0 10px rgba(246,213,0,.78),
    0 0 26px rgba(246,213,0,.5),
    0 0 46px rgba(246,213,0,.24)!important;
}

.bottom-nav.nav-dragging .next-event-nav.active:not(.nav-drag-active) .next-event-icon {
  transform:translateY(-10px);
  box-shadow:0 9px 22px rgba(0,0,0,.48)!important;
}

@media(max-width:520px) {
  .event-numbers { grid-template-columns:1fr; }
}

/* v4.6 — mantém o botão central perfeitamente circular em qualquer largura */
.bottom-nav .next-event-icon {
  box-sizing:border-box;
  flex:0 0 66px;
  width:66px;
  min-width:66px;
  max-width:66px;
  height:66px;
  min-height:66px;
  max-height:66px;
  aspect-ratio:1 / 1;
  border-radius:50%!important;
}

/* v6.0 — promoção de lançamento da loja */
.launch-sale-banner {
  margin:38px 0 0;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #126c3630;
  border-radius:20px;
  background:linear-gradient(135deg,#e9f8ee,#f6fff8);
  color:#0d5a2b;
}

.launch-sale-banner strong {
  font-size:clamp(17px,2vw,23px);
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.launch-sale-banner span {
  flex:0 0 auto;
  padding:8px 12px;
  border-radius:999px;
  background:#168447;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.products-heading {
  margin-top:34px;
}

.product-copy {
  padding:17px 20px 19px;
}

.product-copy h3 {
  min-height:0;
}

.product-price {
  margin-top:10px;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px 8px;
}

.product-price strong {
  margin:0;
  color:#168447;
  font-size:22px;
  line-height:1;
}

.product-price del,
.product-detail-pricing del,
.cart-item-price del {
  color:#aaa;
  font-size:12px;
  font-weight:650;
}

.product-price span,
.product-detail-pricing span,
.cart-item-price span {
  flex-basis:100%;
  width:max-content;
  max-width:max-content;
  padding:5px 8px;
  border-radius:7px;
  background:#dff4e6;
  color:#0d5a2b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
}

.product-detail-pricing {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px 10px;
}

.product-detail-pricing .product-detail-price {
  color:#168447;
}

.product-detail-pricing span {
  margin-top:2px;
}

.cart-item-price {
  margin-top:7px;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px 8px;
}

.cart-item-price strong {
  color:#168447;
}

.cart-item-price span {
  flex-basis:auto;
}

@media(max-width:600px) {
  .launch-sale-banner {
    padding:16px;
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .product-copy {
    padding:14px 13px 16px;
  }

  .product-price {
    gap:5px 6px;
  }

  .product-price strong {
    font-size:18px;
  }
}
