*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Montserrat',sans-serif;
}

body{
background:#f4c430;
color:#16120a;
overflow-x:hidden;
line-height:1.5;
}

body.site-intro-active{
overflow:hidden;
}

.site-intro{
position:fixed;
inset:0;
z-index:9999;
display:grid;
place-items:center;
padding:0;
background:
radial-gradient(circle at 50% 50%,rgba(226,184,86,.16),transparent 36%),
linear-gradient(180deg,#020202 0%,#0a0907 48%,#020202 100%);
background-size:135% 135%,100% 100%;
opacity:1;
visibility:visible;
transition:opacity .55s ease, visibility .55s ease;
overflow:hidden;
isolation:isolate;
animation:introBackdropFlow 5.8s ease-in-out infinite;
}

.site-intro::before,
.site-intro::after{
content:"";
position:absolute;
z-index:-1;
pointer-events:none;
}

.site-intro::before{
inset:0;
background:
linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.04) 20%,rgba(0,0,0,.04) 80%,rgba(0,0,0,.46)),
linear-gradient(180deg,rgba(0,0,0,.52),transparent 22% 78%,rgba(0,0,0,.62));
opacity:.72;
}

.site-intro::after{
inset:clamp(14px,2.4vw,34px);
border-top:1px solid rgba(226,184,86,.22);
border-bottom:1px solid rgba(226,184,86,.16);
background:
linear-gradient(90deg,transparent 0%,rgba(226,184,86,.18) 50%,transparent 100%) top/100% 1px no-repeat,
linear-gradient(90deg,transparent 0%,rgba(226,184,86,.1) 50%,transparent 100%) bottom/100% 1px no-repeat;
opacity:.8;
animation:introFrameBreath 4.8s ease-in-out infinite;
}

@keyframes introBackdropFlow{
0%,100%{
background-position:50% 44%,center;
}
50%{
background-position:50% 58%,center;
}
}

@keyframes introFrameBreath{
0%,100%{
opacity:.55;
}
50%{
opacity:.9;
}
}

.site-intro.is-hidden{
opacity:0;
visibility:hidden;
pointer-events:none;
}

.site-intro-video{
position:relative;
z-index:1;
width:100vw;
height:auto;
max-width:100%;
max-height:100svh;
aspect-ratio:16/9;
display:block;
object-fit:contain;
background:transparent;
border:0;
box-shadow:0 30px 96px rgba(0,0,0,.58);
animation:introVideoReveal 1.05s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes introVideoReveal{
0%{
opacity:0;
filter:brightness(.72) saturate(.86);
transform:scale(.992);
}
100%{
opacity:1;
filter:brightness(1) saturate(1);
transform:scale(1);
}
}

.site-intro-skip{
position:absolute;
right:clamp(16px,3vw,34px);
bottom:clamp(16px,3vw,34px);
min-height:42px;
padding:0 18px;
border:1px solid rgba(226,184,86,.42);
border-radius:999px;
background:rgba(5,5,5,.64);
color:#f7f4ec;
font-size:12px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
cursor:pointer;
box-shadow:0 12px 28px rgba(0,0,0,.34);
backdrop-filter:blur(8px);
}

.site-intro-skip:hover{
background:#d9b452;
color:#111;
}

/* HEADER */

.header{

position:fixed;
top:0;
width:100%;
height:70px;

display:grid;
grid-template-columns:52px 1fr 52px;
align-items:center;
justify-content:center;

padding:0 40px;

background:rgba(15,15,15,0.88);
-webkit-backdrop-filter:blur(10px);
backdrop-filter:blur(10px);

z-index:999;
}

.brand{
display:flex;
align-items:center;
justify-content:center;
position:absolute;
left:50%;
transform:translateX(-50%);
width:min(190px,42vw);
height:58px;
text-decoration:none;
}

.brand img{
width:100%;
height:100%;
display:block;
object-fit:contain;
}

/* MENU */

nav{
position:absolute;
left:40px;
top:calc(100% + 12px);
}

.menu{
display:none;
flex-direction:column;
gap:14px;
list-style:none;
align-items:center;
  width:min(230px,calc(100vw - 40px));
  padding:14px;
border:1px solid rgba(215,177,90,.22);
border-radius:18px;
background:rgba(12,12,12,.96);
box-shadow:0 18px 38px rgba(0,0,0,.28);
}

.menu.active{
display:flex;
}

.menu a{
text-decoration:none;
color:#f3efe7;
font-size:13px;
font-weight:500;
letter-spacing:1.8px;
display:flex;
align-items:center;
width:100%;
padding:11px 16px;
border:1px solid rgba(215,177,90,.14);
border-radius:999px;
background:rgba(255,255,255,.02);
box-shadow:none;
transition:transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease;
position:relative;
overflow:hidden;
}

#open-cart{
display:none;
}

.menu a i{
display:none;
font-size:18px;
}

.menu a span{
display:inline;
}

.menu a::before{
content:"";
position:absolute;
left:18px;
right:18px;
top:8px;
height:1px;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
opacity:.55;
}

.menu a:hover{
color:#fff;
border-color:rgba(215,177,90,.34);
background:rgba(215,177,90,.08);
transform:translateY(-1px);
}


/* HAMBURGUER */

.menu-toggle{
display:flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
border:1px solid rgba(215,177,90,.26);
border-radius:999px;
background:rgba(255,255,255,.04);
color:#f3efe7;
font-size:24px;
cursor:pointer;
position:relative;
z-index:1002;
}

.cart-toggle-mobile{
display:flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
border:1px solid rgba(215,177,90,.26);
border-radius:999px;
background:rgba(255,255,255,.04);
color:#f3efe7;
font-size:22px;
cursor:pointer;
line-height:1;
position:absolute;
right:40px;
top:50%;
transform:translateY(-50%);
z-index:1002;
}

.cart-toggle-emoji{
font-size:19px;
}

.cart-count{
position:absolute;
top:-4px;
right:-4px;
min-width:18px;
height:18px;
padding:0 5px;
display:flex;
align-items:center;
justify-content:center;
border-radius:999px;
background:#d7b15a;
color:#111;
font-size:11px;
font-weight:700;
line-height:1;
}

.cart-count-inline{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:18px;
height:18px;
padding:0 5px;
margin-left:6px;
border-radius:999px;
background:#d7b15a;
color:#111;
font-size:11px;
font-weight:700;
line-height:1;
vertical-align:middle;
}

/* HERO CARROSSEL */

.hero-carousel{
width:100vw;
height:clamp(260px,46vw,520px);
margin:70px auto 0;
margin-left:calc(50% - 50vw);
position:relative;
overflow:hidden;
border-radius:0;
background:#111;
box-shadow:none;
}

.hero-track{
height:100%;
display:flex;
transition:transform .55s ease;
touch-action:pan-y;
}

.hero-slide{
min-width:100%;
height:100%;
}

.hero-slide img{
width:100%;
height:100%;
display:block;
object-fit:cover;
background:#111;
}

.hero-placeholder{
width:100%;
height:100%;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#151515,#2a2414);
color:#f4c430;
font-size:clamp(28px,5vw,56px);
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
}

.hero-share-banner{
width:100%;
height:100%;
position:relative;
overflow:hidden;
display:grid;
grid-template-columns:minmax(260px,.9fr) minmax(300px,1fr);
align-items:center;
gap:clamp(18px,4vw,64px);
padding:clamp(26px,4.5vw,58px) clamp(36px,7vw,110px);
background:
radial-gradient(circle at 72% 28%,rgba(244,196,48,.28),transparent 28%),
radial-gradient(circle at 18% 78%,rgba(255,255,255,.12),transparent 24%),
linear-gradient(135deg,#050505 0%,#17120a 54%,#050505 100%);
color:#fff;
isolation:isolate;
}

.hero-share-banner::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(90deg,rgba(244,196,48,.08) 1px,transparent 1px),
linear-gradient(0deg,rgba(244,196,48,.06) 1px,transparent 1px);
background-size:54px 54px;
mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
opacity:.45;
transform:perspective(700px) rotateX(58deg) translateY(18%);
transform-origin:center bottom;
z-index:-1;
}

.hero-share-banner::after{
content:"";
position:absolute;
width:44%;
aspect-ratio:1;
right:7%;
top:50%;
border:1px solid rgba(244,196,48,.18);
border-radius:50%;
background:radial-gradient(circle,rgba(244,196,48,.18),transparent 62%);
filter:blur(.2px);
transform:translateY(-50%);
animation:sharePulse 4s ease-in-out infinite;
z-index:-1;
}

.share-scene{
position:relative;
height:min(72%,360px);
min-height:190px;
perspective:900px;
transform-style:preserve-3d;
}

.share-card{
position:absolute;
display:grid;
place-items:center;
border:1px solid rgba(244,196,48,.42);
border-radius:20px;
background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.05));
box-shadow:0 24px 56px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.08);
backdrop-filter:blur(8px);
color:#f4c430;
animation:shareFloat 4.8s ease-in-out infinite;
}

.share-card i{
font-size:clamp(34px,5vw,70px);
filter:drop-shadow(0 0 18px rgba(244,196,48,.3));
}

.share-card-a{
width:clamp(116px,16vw,210px);
height:clamp(116px,16vw,210px);
left:8%;
top:12%;
transform:rotateY(-22deg) rotateX(10deg) translateZ(45px);
}

.share-card-b{
width:clamp(96px,12vw,160px);
height:clamp(96px,12vw,160px);
right:18%;
bottom:8%;
animation-delay:-1.6s;
transform:rotateY(24deg) rotateX(-8deg) translateZ(82px);
}

.share-card-c{
width:clamp(82px,10vw,132px);
height:clamp(82px,10vw,132px);
right:8%;
top:8%;
animation-delay:-3s;
transform:rotateY(32deg) rotateZ(8deg) translateZ(110px);
}

.share-copy{
position:relative;
z-index:1;
display:flex;
flex-direction:column;
align-items:center;
justify-self:center;
gap:clamp(8px,1.5vw,14px);
max-width:480px;
text-align:center;
}

.share-logo{
width:clamp(86px,12vw,150px);
height:auto;
object-fit:contain;
background:transparent;
border:0;
border-radius:0;
box-shadow:none;
mix-blend-mode:normal;
filter:none;
}

.share-logo-banner{
width:clamp(170px,24vw,330px);
max-height:clamp(82px,14vw,170px);
object-fit:contain;
background:transparent;
border:0;
box-shadow:none;
}

.share-kicker{
display:inline-flex;
align-items:center;
padding:7px 12px;
border:1px solid rgba(244,196,48,.36);
border-radius:999px;
background:rgba(0,0,0,.28);
color:#f4c430;
font-size:clamp(11px,1.1vw,13px);
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}

.share-copy strong{
font-size:clamp(34px,5.4vw,76px);
line-height:.92;
letter-spacing:0;
text-transform:uppercase;
text-shadow:0 12px 34px rgba(0,0,0,.52);
}

.share-copy p{
max-width:390px;
color:#f5ead0;
font-size:clamp(14px,1.6vw,19px);
line-height:1.45;
margin-left:auto;
margin-right:auto;
}

.share-site-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:9px;
max-width:100%;
min-height:44px;
padding:0 18px;
border:1px solid rgba(244,196,48,.7);
border-radius:999px;
background:#f4c430;
color:#111;
font-size:14px;
font-weight:900;
text-transform:uppercase;
letter-spacing:.02em;
line-height:1.2;
text-align:center;
cursor:pointer;
box-shadow:0 16px 34px rgba(244,196,48,.22);
animation:shareButtonPop 2.8s ease-in-out infinite;
}

@keyframes shareFloat{
0%,100%{
translate:0 0;
}
50%{
translate:0 -18px;
}
}

@keyframes sharePulse{
0%,100%{
opacity:.76;
scale:1;
}
50%{
opacity:.42;
scale:1.08;
}
}

@keyframes shareButtonPop{
0%,100%{
transform:translateY(0);
}
50%{
transform:translateY(-4px);
}
}

.hero-instagram{
width:100%;
height:100%;
position:relative;
display:block;
overflow:hidden;
text-decoration:none;
background:#050505;
}

.hero-instagram::before{
content:"";
position:absolute;
inset:-18px;
background-image:url("RafaGrife/banner-instagram-rafael-grife.webp");
background-size:cover;
background-position:center;
filter:blur(18px) brightness(.55) saturate(1.08);
transform:scale(1.04);
}

.hero-instagram img{
width:100%;
height:100%;
display:block;
position:relative;
z-index:1;
object-fit:contain;
object-position:center center;
background:transparent;
}

.hero-control{
position:absolute;
top:50%;
transform:translateY(-50%);
width:42px;
height:42px;
border:1px solid rgba(244,196,48,.45);
border-radius:999px;
background:rgba(0,0,0,.48);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:2;
}

.hero-prev{
left:16px;
}

.hero-next{
right:16px;
}

.hero-indicators{
position:absolute;
left:0;
right:0;
bottom:16px;
display:flex;
align-items:center;
justify-content:center;
gap:9px;
z-index:2;
}

.hero-indicators button{
width:9px;
height:9px;
border:none;
border-radius:999px;
background:rgba(255,255,255,.52);
cursor:pointer;
transition:width .25s ease, background .25s ease;
}

.hero-indicators button.is-active{
width:28px;
background:#f4c430;
}

/* PRODUTOS */

.produtos{

padding:72px 24px;
max-width:1180px;
margin:0 auto;
}

.categoria-arte{
width:100vw;
min-height:140px;
margin:0 0 34px calc(50% - 50vw);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden;
background:
linear-gradient(135deg,rgba(12,12,12,.96),rgba(36,30,15,.96)),
repeating-linear-gradient(135deg,rgba(244,196,48,.14) 0,rgba(244,196,48,.14) 1px,transparent 1px,transparent 18px);
color:#f7f4ec;
isolation:isolate;
}

.categoria-arte::before,
.categoria-arte::after{
content:"";
position:absolute;
left:0;
right:0;
height:1px;
background:linear-gradient(90deg,transparent,rgba(244,196,48,.85),transparent);
}

.categoria-arte::before{
top:22px;
}

.categoria-arte::after{
bottom:22px;
}

.categoria-arte span{
font-size:12px;
font-weight:700;
letter-spacing:.22em;
text-transform:uppercase;
color:#d7b15a;
margin-bottom:8px;
}

.categoria-arte strong{
font-family:'Cinzel',serif;
font-size:clamp(34px,5vw,64px);
font-weight:700;
letter-spacing:.08em;
line-height:1;
text-transform:uppercase;
text-shadow:0 12px 32px rgba(0,0,0,.35);
}

.categoria-tenis{
background:
radial-gradient(circle at 18% 45%,rgba(244,196,48,.18),transparent 26%),
linear-gradient(135deg,rgba(10,10,10,.97),rgba(35,33,25,.97)),
repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 2px,transparent 2px,transparent 18px);
}

.categoria-camisas{
background:
linear-gradient(90deg,rgba(244,196,48,.12),transparent 25%,rgba(244,196,48,.12)),
linear-gradient(135deg,rgba(13,13,13,.97),rgba(42,32,14,.97)),
repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 12px);
}

.categoria-mais-vendidos{
background:
radial-gradient(circle at 50% 50%,rgba(244,196,48,.24),transparent 30%),
linear-gradient(90deg,rgba(244,196,48,.14),transparent 22%,rgba(244,196,48,.14)),
linear-gradient(135deg,rgba(8,8,8,.98),rgba(34,25,8,.98)),
repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 2px,transparent 2px,transparent 18px);
}

.categoria-bermudas{
background:
radial-gradient(circle at 80% 40%,rgba(244,196,48,.2),transparent 28%),
linear-gradient(135deg,rgba(16,16,16,.97),rgba(45,37,17,.97)),
repeating-linear-gradient(90deg,rgba(244,196,48,.08) 0,rgba(244,196,48,.08) 8px,transparent 8px,transparent 22px);
}

.categoria-acessorios{
background:
radial-gradient(circle at 50% 50%,rgba(244,196,48,.24),transparent 24%),
linear-gradient(135deg,rgba(8,8,8,.98),rgba(33,25,10,.98)),
repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 14px);
}

.colecao-destaque{
padding:0 40px 24px;
max-width:1180px;
margin:0 auto;
}

.produtos h2,
.carrinho-pagina h2,
.cart-header h2,
.mapa-conteudo h2{

margin-bottom:30px;

font-size:28px;
font-family:'Montserrat',sans-serif !important;
font-weight:700 !important;
line-height:1.12;
display:flex;
align-items:center;
gap:16px;
justify-content:flex-start;
letter-spacing:.08em;
text-transform:uppercase;
color:#16120a;
text-shadow:none;
position:relative;
}

.produtos h2::after,
.carrinho-pagina h2::after,
.cart-header h2::after,
.mapa-conteudo h2::after{
content:"";
flex:0 0 72px;
height:1px;
background:linear-gradient(90deg,rgba(212,175,55,.95),rgba(212,175,55,.18),transparent);
}

.produtos h2::before,
.carrinho-pagina h2::before,
.cart-header h2::before,
.mapa-conteudo h2::before{
content:"";
display:block;
flex:0 0 72px;
height:1px;
background:linear-gradient(90deg,transparent,rgba(212,175,55,.45),rgba(212,175,55,.95));
}

.produtos-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px;
max-width:820px;
margin:0 auto;
}

.mais-vendidos-grid{
max-width:820px;
}

.mais-vendidos-grid .produto img{
height:clamp(230px,28vw,330px);
}

/* SEPARADOR ANIMADO DE CATEGORIAS */

.categoria-arte{
width:100vw;
min-height:auto;
margin:0 0 34px calc(50% - 50vw);
display:grid;
grid-template-rows:38px minmax(78px,auto) 38px;
align-items:stretch;
position:relative;
overflow:hidden;
background:#050505;
color:#f7f4ec;
isolation:isolate;
contain:layout paint;
}

.categoria-arte::before,
.categoria-arte::after{
content:none;
}

.categoria-marquee{
width:100%;
overflow:hidden;
display:flex;
align-items:center;
border-top:1px solid rgba(215,177,90,.42);
border-bottom:1px solid rgba(215,177,90,.28);
background:#050505;
}

.categoria-marquee-track{
display:flex;
width:max-content;
min-width:max-content;
align-items:center;
will-change:transform;
transform:translate3d(0,0,0);
animation:categoria-marquee-left 26s linear infinite;
}

.categoria-marquee-bottom .categoria-marquee-track{
animation-name:categoria-marquee-right;
}

.categoria-marquee-group{
display:flex;
flex-shrink:0;
align-items:center;
gap:18px;
padding-right:18px;
}

.categoria-marquee-item{
font-size:12px;
font-weight:800;
letter-spacing:.22em;
text-transform:uppercase;
white-space:nowrap;
color:#d7b15a;
}

.categoria-marquee-star{
font-size:13px;
line-height:1;
color:#f4c430;
opacity:.9;
}

.categoria-marquee-logo{
width:82px;
height:24px;
display:block;
object-fit:contain;
object-position:center;
flex:0 0 auto;
}

.categoria-title-area{
min-height:78px;
display:grid;
place-items:center;
padding:18px 20px;
position:relative;
background:
linear-gradient(90deg,rgba(244,196,48,.08),transparent 24%,transparent 76%,rgba(244,196,48,.08)),
linear-gradient(135deg,rgba(5,5,5,.98),rgba(24,20,11,.98));
}

.categoria-title-area::before,
.categoria-title-area::after{
content:"";
position:absolute;
top:50%;
width:min(120px,22vw);
height:1px;
background:linear-gradient(90deg,transparent,rgba(215,177,90,.75));
}

.categoria-title-area::before{
left:clamp(14px,5vw,72px);
}

.categoria-title-area::after{
right:clamp(14px,5vw,72px);
transform:scaleX(-1);
}

.categoria-arte strong{
font-family:'Cinzel',serif;
font-size:clamp(34px,4.6vw,58px);
font-weight:700;
letter-spacing:.08em;
line-height:1;
text-align:center;
text-transform:uppercase;
color:#fffaf0;
text-shadow:0 12px 32px rgba(0,0,0,.45);
}

@keyframes categoria-marquee-left{
from{transform:translate3d(-50%,0,0);}
to{transform:translate3d(0,0,0);}
}

@keyframes categoria-marquee-right{
from{transform:translate3d(0,0,0);}
to{transform:translate3d(-50%,0,0);}
}

/* CARD PRODUTO */

.produto{

min-width:0;
width:100%;

background:#fffaf0;

border-radius:18px;

overflow:hidden;

position:relative;
transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;

scroll-snap-align:start;
border:1px solid rgba(50,35,5,.08);
box-shadow:0 16px 34px rgba(60,42,0,.14);
}

.produto::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.28) 45%,transparent 62%);
opacity:0;
transform:translateX(-120%);
transition:opacity .25s ease,transform .55s ease;
pointer-events:none;
}

.produto:hover{
transform:translateY(-8px);
border-color:rgba(122,82,0,.32);
box-shadow:0 24px 48px rgba(60,42,0,.22);
}

.produto:hover::after{
opacity:1;
transform:translateX(120%);
}

.produto:active{
transform:translateY(-2px);
}

.produto img{

width:100%;
height:clamp(230px,28vw,330px);

object-fit:cover;
padding:0;
background:#111;
transition:transform .35s ease,filter .35s ease;
}

.produto:hover img{
transform:scale(1.04);
filter:saturate(1.06) contrast(1.03);
}

.produto:hover img.produto-placeholder,
.produto:hover img.is-missing{
transform:none;
filter:none;
}

.produto img.produto-placeholder,
.produto img.is-missing,
.produto-galeria-item img.is-missing{
object-fit:contain;
padding:32px;
background:#121212;
}

.produto-galeria-item img[src$="logorafa.png"],
.produto-galeria-item img[src$="logorafa.webp"]{
object-fit:contain;
padding:42px;
background:#121212;
}

.produto h3{

margin:16px 18px 0;

font-size:18px;
font-weight:600;
letter-spacing:.3px;
color:#16120a;
}

.produto-link{
display:block;
}

.produto-link-text{
color:inherit;
text-decoration:none;
}

.produto .preco{

color:#7a5200;

margin:10px 18px 0;
font-size:17px;
font-weight:600;
}

.produto button{

width:calc(100% - 36px);

margin:16px auto 18px;

display:block;

padding:12px;

border:1px solid rgba(20,20,20,.1);

background:#111;

color:#f4c430;

cursor:pointer;

border-radius:999px;
font-size:12px;
font-weight:600;
letter-spacing:1.3px;
text-transform:uppercase;
}

/* CARRINHO LATERAL */

.cart-overlay{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.6);

opacity:0;

pointer-events:none;

transition:.3s;
z-index:998;
}

.cart-sidebar{

position:fixed;

right:-400px;

top:0;

width:350px;

height:100%;

background:#101010;
color:#f7f4ec;

padding:30px;

display:flex;
flex-direction:column;
gap:20px;

transition:.4s;

z-index:1000;
}

.cart-sidebar.active{

right:0;
}

.cart-overlay.active{

opacity:1;

pointer-events:auto;
}

.cart-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
}

.cart-header h2{
margin-bottom:0;
width:100%;
color:#f7f4ec;
}

.cart-header h2::before,
.cart-header h2::after{
display:none;
}

.cart-close{
border:none;
background:transparent;
color:#fff;
font-size:26px;
cursor:pointer;
}

#lista-carrinho{
flex:1;
overflow-y:auto;
display:flex;
flex-direction:column;
gap:14px;
padding-right:6px;
}

.cart-empty{
width:100%;
margin:auto 0;
padding:28px 18px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
border:1px solid rgba(212,175,55,.28);
border-radius:18px;
background:
radial-gradient(circle at 50% 0,rgba(212,175,55,.18),transparent 42%),
linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
box-shadow:0 18px 38px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.04);
color:#f7f4ec;
text-align:center;
}

.cart-empty-icon{
width:58px;
height:58px;
display:grid;
place-items:center;
border:1px solid rgba(212,175,55,.45);
border-radius:50%;
background:#050505;
color:#d4af37;
font-size:24px;
box-shadow:0 0 22px rgba(212,175,55,.18);
}

.cart-empty-alert{
border-color:rgba(244,196,48,.55);
background:
radial-gradient(circle at 50% 0,rgba(244,196,48,.24),transparent 46%),
linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
box-shadow:0 20px 44px rgba(0,0,0,.3),0 0 0 1px rgba(244,196,48,.08),inset 0 0 0 1px rgba(255,255,255,.05);
}

.cart-empty-alert .cart-empty-icon{
border-color:rgba(244,196,48,.7);
box-shadow:0 0 28px rgba(244,196,48,.28);
}

.cart-empty strong{
font-size:17px;
letter-spacing:.08em;
text-transform:uppercase;
color:#fff8e7;
}

.cart-empty p{
max-width:230px;
font-size:13px;
line-height:1.45;
color:#d8cfb8;
}

.cart-item{
border:1px solid rgba(212,175,55,.25);
border-radius:14px;
padding:14px;
background:#171717;
color:#f7f4ec;
}

.cart-item h3{
font-size:16px;
margin-bottom:8px;
color:#fff8e7;
}

.cart-item p{
font-size:14px;
margin-bottom:6px;
color:#f2ead8;
}

.cart-item-actions{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
margin-top:10px;
color:#f7f4ec;
}

.cart-item-actions button{
border:1px solid #d4af37;
background:transparent;
color:#d4af37;
padding:8px 12px;
border-radius:6px;
cursor:pointer;
}

.cart-footer{

margin-top:20px;
border-top:1px solid rgba(255,255,255,.1);
padding-top:20px;
display:flex;
flex-direction:column;
gap:12px;
}

.cart-footer p{
font-size:18px;
color:#f7f4ec;
font-weight:700;
}

.cart-footer button{
padding:12px;
border-radius:6px;
border:1px solid #d4af37;
background:transparent;
color:#d4af37;
cursor:pointer;
}

.cart-footer button:hover,
.cart-item-actions button:hover,
.cart-close:hover{
opacity:.85;
}

/* CARRINHO PAGINA */

.carrinho-pagina{
min-height:calc(100vh - 90px);
padding:130px 40px 70px;
background:#f4c430;
}

.carrinho-pagina #lista-carrinho{
max-width:760px;
margin:0 auto;
padding-right:0;
color:#16120a;
}

.resumo{
max-width:760px;
margin:20px auto 0;
padding-top:18px;
border-top:1px solid rgba(22,18,10,.22);
font-size:18px;
font-weight:700;
color:#16120a;
}

/* MAPA */

.mapa-loja{
padding:0 40px 0;
background:#f4c430;
}

.fachada-loja{
width:100vw;
height:clamp(240px,34vw,430px);
margin-left:calc(50% - 50vw);
overflow:hidden;
background:#111;
}

.fachada-loja img{
width:100%;
height:100%;
display:block;
object-fit:cover;
object-position:center;
}

.mapa-conteudo{
max-width:1200px;
margin:0 auto;
padding-top:40px;
}

.mapa-conteudo h2{
font-size:28px;
margin-bottom:10px;
}

.mapa-conteudo p{
color:#3a2b07;
margin-bottom:22px;
line-height:1.6;
}

.mapa-link{
display:block;
text-decoration:none;
}

.mapa-embed{
height:320px;
border-radius:22px;
overflow:hidden;
border:1px solid rgba(215,177,90,.18);
box-shadow:0 22px 50px rgba(0,0,0,.28);
cursor:pointer;
background:#d8e8d3;
}

.leaflet-container{
font-family:'Montserrat',sans-serif;
}

.mapa-popup{
text-align:center;
}

.mapa-popup strong{
display:block;
margin-bottom:4px;
color:#111;
}

/* CONTATO */

.contato-loja{
padding:32px 40px 42px;
background:#f4c430;
}

.contato-conteudo{
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:18px;
}

.contato-item{
display:flex;
align-items:flex-start;
gap:14px;
padding:18px;
border:1px solid rgba(50,35,5,.08);
border-radius:18px;
background:#fffaf0;
text-decoration:none;
color:#16120a;
box-shadow:0 14px 30px rgba(60,42,0,.12);
min-width:0;
}

.contato-item i{
font-size:22px;
color:#d7b15a;
margin-top:2px;
}

.contato-item span{
display:block;
font-size:13px;
color:#66511b;
margin-bottom:6px;
}

.contato-item strong{
font-size:15px;
line-height:1.5;
font-weight:600;
overflow-wrap:anywhere;
}

.horario-funcionamento{
cursor:pointer;
}

.horario-funcionamento summary{
list-style:none;
display:flex;
align-items:flex-start;
gap:14px;
}

.horario-funcionamento summary::-webkit-details-marker{
display:none;
}

.horario-lista{
margin-top:14px;
padding-top:14px;
border-top:1px solid rgba(22,18,10,.12);
}

.horario-lista p{
color:#3a2b07;
font-size:14px;
line-height:1.7;
margin:0;
}

/* PRODUTO DETALHE */

.produto-page{
background:#111;
}

.produto-page .header{
background:rgba(5,5,5,.94);
border-bottom:1px solid rgba(215,177,90,.24);
}

.produto-detalhe-pagina{
padding:70px 0 0;
min-height:100vh;
background:#111;
}

.produto-voltar{
position:fixed;
top:86px;
left:22px;
z-index:990;
display:inline-flex;
align-items:center;
gap:8px;
padding:11px 16px;
border:1px solid rgba(215,177,90,.32);
border-radius:999px;
background:rgba(15,15,15,.72);
-webkit-backdrop-filter:blur(10px);
backdrop-filter:blur(10px);
color:#e0c27a;
font-size:12px;
font-weight:600;
letter-spacing:1.2px;
text-transform:uppercase;
cursor:pointer;
}

.produto-voltar:hover{
border-color:rgba(215,177,90,.52);
background:rgba(215,177,90,.08);
}

.produto-voltar i{
font-size:13px;
}

.produto-detalhe-container{
width:100%;
min-height:calc(100vh - 70px);
display:grid;
grid-template-columns:minmax(0,58vw) minmax(360px,42vw);
gap:0;
align-items:stretch;
}

.produto-galeria{
display:flex;
gap:0;
overflow-x:auto;
overflow-y:hidden;
scroll-snap-type:x mandatory;
scroll-behavior:smooth;
padding-bottom:0;
overscroll-behavior-x:contain;
background:#111;
}

.produto-galeria::-webkit-scrollbar{
height:8px;
}

.produto-galeria::-webkit-scrollbar-track{
background:rgba(17,17,17,.2);
border-radius:999px;
}

.produto-galeria::-webkit-scrollbar-thumb{
background:rgba(122,82,0,.65);
border-radius:999px;
}

.produto-galeria-item{
flex:0 0 100%;
border:none;
padding:0;
background:#111;
border-radius:0;
overflow:hidden;
cursor:pointer;
position:relative;
height:calc(100vh - 70px);
scroll-snap-align:center;
scroll-snap-stop:always;
transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.produto-galeria-item img{
width:100%;
height:100%;
display:block;
object-fit:cover;
}

.produto-galeria-item.is-active{
box-shadow:none;
}

.produto-info{
background:#0f0f0f;
border:none;
border-radius:0;
padding:clamp(30px,5vw,72px);
box-shadow:none;
position:static;
min-height:calc(100vh - 70px);
display:flex;
flex-direction:column;
justify-content:center;
}

.produto-info h1{
font-family:'Montserrat',sans-serif;
font-size:32px;
font-weight:700;
letter-spacing:.02em;
line-height:1.15;
margin-bottom:10px;
color:#f7f4ec;
overflow-wrap:anywhere;
}

.produto-categoria{
color:#b9b3a7;
letter-spacing:1.4px;
text-transform:uppercase;
font-size:12px;
margin-bottom:16px;
}

.produto-preco-detalhe{
font-size:34px;
font-weight:700;
color:#d7b15a;
margin-bottom:26px;
}

.produto-pagamento,
.produto-tamanhos{
margin-bottom:26px;
}

.produto-bloco-topo,
.produto-pagamento{
display:flex;
flex-direction:column;
gap:6px;
}

.produto-pagamento span,
.produto-bloco-topo span{
font-size:14px;
font-weight:600;
color:#f4efe5;
}

.produto-bloco-topo small{
color:#aaa497;
}

.produto-tags{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:12px;
}

#produto-pagamentos{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
align-items:stretch;
gap:10px 12px;
padding:12px;
border:1px solid rgba(215,177,90,.16);
border-radius:16px;
background:rgba(255,255,255,.025);
}

.produto-tag{
border:1px solid rgba(215,177,90,.24);
background:#171717;
color:#f4efe5;
padding:10px 16px;
border-radius:12px;
font-size:14px;
}

.produto-payment{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:42px;
width:100%;
min-width:0;
background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
text-align:center;
}

.produto-payment i{
color:#d7b15a;
font-size:15px;
}

.produto-payment-pix{
border-color:rgba(50,205,180,.34);
}

.produto-payment-pix i{
color:#32cdb4;
}

.produto-payment-cash{
border-color:rgba(90,196,110,.34);
}

.produto-payment-cash i{
color:#63d57c;
}

.produto-payment-card{
border-color:rgba(215,177,90,.42);
grid-column:1 / -1;
max-width:none;
}

.card-flag{
width:100%;
min-width:0;
min-height:42px;
display:inline-flex;
align-items:center;
justify-content:center;
padding:0 13px;
border-radius:10px;
font-size:12px;
font-weight:900;
letter-spacing:.04em;
line-height:1;
box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.16);
}

.card-visa{
position:relative;
overflow:hidden;
background:linear-gradient(135deg,#153c8a 0%,#1d5bbf 52%,#0d2868 100%);
color:#fff;
font-style:italic;
font-size:14px;
letter-spacing:.12em;
text-shadow:0 1px 0 rgba(0,0,0,.3);
}

.card-visa::before{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:5px;
background:#f6b21a;
}

.card-visa::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 38%,transparent 62%);
transform:translateX(-80%);
animation:cardShine 3.8s ease-in-out infinite;
}

.card-mastercard{
position:relative;
gap:7px;
overflow:hidden;
background:linear-gradient(135deg,#1b1010 0%,#161616 48%,#241607 100%);
color:#fff;
text-shadow:0 1px 0 rgba(0,0,0,.45);
isolation:isolate;
}

.card-mastercard::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.14) 40%,transparent 64%);
transform:translateX(-85%);
animation:cardShine 4s ease-in-out infinite;
z-index:0;
pointer-events:none;
}

.card-mastercard span{
width:27px;
height:18px;
position:relative;
display:inline-block;
z-index:1;
filter:drop-shadow(0 2px 4px rgba(0,0,0,.32));
}

.card-mastercard b{
position:relative;
z-index:1;
font:inherit;
}

.card-mastercard span::before,
.card-mastercard span::after{
content:"";
position:absolute;
top:0;
width:18px;
height:18px;
border-radius:50%;
}

.card-mastercard span::before{
left:0;
background:radial-gradient(circle at 35% 35%,#ff5f5f,#eb001b 68%);
}

.card-mastercard span::after{
right:0;
background:radial-gradient(circle at 35% 35%,#ffc46b,#f79e1b 68%);
mix-blend-mode:screen;
}

.card-elo{
position:relative;
overflow:hidden;
background:
radial-gradient(circle at 82% 24%,rgba(244,196,48,.95) 0 7%,transparent 8%),
radial-gradient(circle at 88% 50%,rgba(50,205,180,.95) 0 7%,transparent 8%),
radial-gradient(circle at 82% 76%,rgba(227,69,69,.95) 0 7%,transparent 8%),
linear-gradient(135deg,#151515 0%,#2a2a2a 52%,#090909 100%);
color:#fff;
letter-spacing:.08em;
text-shadow:0 1px 0 rgba(0,0,0,.45);
}

.card-elo::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.16) 42%,transparent 64%);
transform:translateX(-85%);
animation:cardShine 4.2s ease-in-out infinite;
}

@media(max-width:1100px) and (min-width:769px){
#produto-pagamentos{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.produto-payment-card{
grid-column:1 / -1;
}
}

@keyframes cardShine{
0%,55%,100%{
transform:translateX(-80%);
}
72%{
transform:translateX(80%);
}
}

.produto-size{
cursor:pointer;
}

.produto-size.is-selected{
background:rgba(215,177,90,.16);
border-color:rgba(215,177,90,.52);
color:#fff;
}

.produto-add-button{
width:100%;
padding:16px;
border:none;
border-radius:999px;
background:#d7b15a;
color:#111;
font-size:13px;
font-weight:700;
letter-spacing:1.2px;
text-transform:uppercase;
cursor:pointer;
}

.produto-relacionados{
width:100%;
margin:0;
padding:44px max(16px,calc((100vw - 1180px) / 2)) 54px;
background:linear-gradient(180deg,#111 0%,#17120a 100%);
border-top:1px solid rgba(215,177,90,.16);
}

.produto-relacionados[hidden]{
display:none !important;
}

.produto-relacionados-topo{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:8px;
margin:0 0 24px;
text-align:center;
}

.produto-relacionados-topo span{
display:inline-flex;
align-items:center;
gap:8px;
color:#d7b15a;
font-size:11px;
font-weight:900;
letter-spacing:.18em;
text-transform:uppercase;
}

.produto-relacionados-topo span::before{
content:"";
width:28px;
height:1px;
background:rgba(215,177,90,.72);
}

.produto-relacionados-topo span::after{
content:"";
width:28px;
height:1px;
background:rgba(215,177,90,.72);
}

.produto-relacionados-topo h2{
margin:0;
font-family:"Cinzel",serif;
font-size:clamp(24px,3vw,38px);
line-height:1.1;
color:#f7f4ec;
text-transform:uppercase;
text-align:center;
}

.produto-relacionados-carousel{
display:grid;
grid-auto-flow:column;
grid-auto-columns:minmax(210px,248px);
gap:16px;
overflow-x:auto;
overflow-y:hidden;
padding:4px 2px 18px;
scroll-snap-type:x mandatory;
scroll-behavior:smooth;
overscroll-behavior-x:contain;
}

.produto-relacionados-carousel::-webkit-scrollbar{
height:8px;
}

.produto-relacionados-carousel::-webkit-scrollbar-track{
background:rgba(255,255,255,.1);
border-radius:999px;
}

.produto-relacionados-carousel::-webkit-scrollbar-thumb{
background:rgba(122,82,0,.65);
border-radius:999px;
}

.produto-relacionado-card{
scroll-snap-align:start;
background:#0d0d0d;
border:1px solid rgba(215,177,90,.18);
border-radius:8px;
overflow:hidden;
box-shadow:0 18px 36px rgba(0,0,0,.28);
transition:transform .2s ease,border-color .2s ease;
}

.produto-relacionado-card:hover{
transform:translateY(-3px);
border-color:rgba(215,177,90,.42);
}

.produto-relacionado-card a{
display:block;
color:inherit;
text-decoration:none;
}

.produto-relacionado-card img{
width:100%;
height:220px;
display:block;
object-fit:cover;
padding:0;
background:#111;
transition:transform .3s ease,filter .3s ease;
}

.produto-relacionado-card:hover img{
transform:scale(1.04);
filter:saturate(1.05);
}

.produto-relacionado-info{
min-height:128px;
display:grid;
align-content:start;
gap:7px;
padding:13px;
background:linear-gradient(180deg,#111,#0a0a0a);
color:#f7f4ec;
}

.produto-relacionado-info span{
color:#9d8b62;
font-size:10px;
font-weight:900;
letter-spacing:.1em;
line-height:1;
text-transform:uppercase;
}

.produto-relacionado-info h3{
font-size:15px;
line-height:1.25;
margin:0;
overflow-wrap:anywhere;
}

.produto-relacionado-info p{
margin:0;
color:#d7b15a;
font-size:15px;
font-weight:800;
}

.produto-relacionado-info small{
align-self:end;
color:#f7f4ec;
font-size:11px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
}

.produto-marcas{
width:100vw;
margin:0 0 0 calc(50% - 50vw);
padding:18px 0;
overflow:hidden;
background:
linear-gradient(90deg,#050505,#16110a 50%,#050505),
radial-gradient(circle at 50% 0,rgba(215,177,90,.18),transparent 48%);
border-top:1px solid rgba(215,177,90,.24);
border-bottom:1px solid rgba(215,177,90,.24);
}

.produto-marcas-track{
display:flex;
width:max-content;
animation:marcasInfinite 24s linear infinite;
will-change:transform;
}

.produto-marcas:hover .produto-marcas-track{
animation-play-state:paused;
}

.produto-marcas-grupo{
display:flex;
align-items:center;
gap:clamp(18px,3vw,42px);
padding-right:clamp(18px,3vw,42px);
}

.marca-logo{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:max-content;
color:#f7f4ec;
font-weight:900;
line-height:1;
white-space:nowrap;
text-transform:uppercase;
letter-spacing:.08em;
text-shadow:0 0 18px rgba(215,177,90,.16);
opacity:.9;
}

.marca-nike{
font-size:clamp(24px,3.4vw,48px);
font-style:italic;
letter-spacing:.02em;
}

.marca-adidas{
font-size:clamp(20px,2.8vw,40px);
letter-spacing:.14em;
}

.marca-puma{
font-size:clamp(22px,3vw,42px);
font-style:italic;
}

.marca-lacoste{
font-family:"Cinzel",serif;
font-size:clamp(18px,2.4vw,34px);
letter-spacing:.18em;
}

.marca-mizuno{
font-size:clamp(19px,2.6vw,36px);
letter-spacing:.12em;
}

.marca-vans{
font-size:clamp(24px,3.2vw,46px);
letter-spacing:.03em;
}

.marca-new-balance{
font-size:clamp(18px,2.3vw,32px);
letter-spacing:.08em;
}

.marca-diesel{
font-size:clamp(20px,2.8vw,40px);
letter-spacing:.16em;
}

.marca-balenciaga{
font-family:"Cinzel",serif;
font-size:clamp(18px,2.2vw,32px);
letter-spacing:.18em;
}

@keyframes marcasInfinite{
from{
transform:translateX(0);
}
to{
transform:translateX(-50%);
}
}

/* FOOTER */

footer{

text-align:center;

padding:30px;

background:#111;
color:#f7f4ec;
}

footer p{
margin:0;
font-size:14px;
font-weight:500;
letter-spacing:.2px;
}

/* MOBILE */

@media(max-width:768px){

body{
overflow-x:hidden;
}

.header{
height:72px;
padding:0 18px;
grid-template-columns:44px 1fr 44px;
}

.brand{
width:min(166px,48vw);
height:54px;
}

.cart-toggle-mobile,
.menu-toggle{
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
line-height:1;
z-index:1002;
border:1px solid rgba(215,177,90,.18);
border-radius:999px;
background:rgba(255,255,255,.03);
}

.menu-toggle{
position:relative;
}

.cart-toggle-mobile{
position:absolute;
right:18px;
top:50%;
transform:translateY(-50%);
}

nav{
position:absolute;
left:18px;
top:calc(100% + 12px);
}

.menu{

display:none;

flex-direction:column;

position:absolute;

top:calc(100% + 12px);
left:0;

  width:min(210px,calc(100vw - 36px));

background:rgba(0,0,0,.96);

  padding:14px;
  gap:10px;
border:1px solid rgba(212,175,55,.18);
box-shadow:0 18px 40px rgba(0,0,0,.35);
z-index:1001;
}

.menu a{
  font-size:13px;
  padding:10px 12px;
  border-radius:12px;
width:100%;
min-width:0;
display:flex;
align-items:center;
justify-content:flex-start;
white-space:normal;
}

.menu a i{
display:none;
}

.menu a span{
display:inline;
}

#open-cart{
display:none;
}

.cart-sidebar{
width:100%;
max-width:350px;
}

.menu.active{
display:flex;
}

.produtos{
padding:56px 20px;
max-width:100%;
}

.categoria-arte{
min-height:118px;
margin-bottom:26px;
}

.categoria-arte strong{
font-size:34px;
}

.produtos-grid{
gap:18px;
max-width:100%;
}

.colecao-destaque{
padding:0 20px 10px;
}

.produtos h2::before,
.carrinho-pagina h2::before,
.cart-header h2::before,
.mapa-conteudo h2::before{
flex-basis:24px;
}

.produtos h2,
.carrinho-pagina h2,
.cart-header h2,
.mapa-conteudo h2{
gap:8px;
min-width:0;
overflow-wrap:anywhere;
}

.mapa-loja{
padding:0 20px 0;
}

.fachada-loja{
height:clamp(220px,52vw,340px);
}

.mapa-conteudo{
padding-top:30px;
}

.contato-loja{
padding:24px 20px 34px;
}

.contato-conteudo{
grid-template-columns:1fr;
gap:14px;
}

.produto-detalhe-pagina{
padding:72px 0 0;
}

.produto-voltar{
top:84px;
left:14px;
padding:10px 14px;
}

.carrinho-pagina{
padding:110px 20px 44px;
}

.produto-detalhe-container{
grid-template-columns:1fr;
gap:0;
min-height:auto;
}

.produto-galeria{
gap:0;
}

.produto-galeria-item{
flex-basis:100%;
height:min(68vh,560px);
border-radius:0;
}

.produto-info{
position:static;
padding:28px 20px 34px;
border-radius:0;
max-width:100%;
min-height:auto;
justify-content:flex-start;
}

.produto-info h1{
font-size:24px;
}

.produto-preco-detalhe{
font-size:28px;
}

.produto-relacionados{
width:100%;
padding:34px 14px 40px;
}

.produto-relacionados-topo{
align-items:center;
flex-direction:column;
gap:6px;
}

.produto-relacionados-topo h2{
text-align:center;
}

.produto-relacionados-carousel{
grid-auto-columns:minmax(190px,44vw);
gap:12px;
}

.produto-relacionado-card img{
height:210px;
}

#produto-pagamentos{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:9px;
padding:10px;
}

#produto-pagamentos .produto-payment,
#produto-pagamentos .card-flag{
width:100%;
max-width:none;
min-width:0;
}

.produto-payment-card{
grid-column:1 / -1;
}

.card-flag{
min-height:40px;
padding:0 10px;
font-size:11px;
}

.mapa-conteudo h2{
font-size:24px;
}

.mapa-embed{
height:260px;
border-radius:14px;
}

.hero-carousel{
width:100vw;
height:clamp(240px,58vw,380px);
margin-top:72px;
margin-bottom:0;
margin-left:calc(50% - 50vw);
border-radius:0;
}

.hero-instagram img{
object-fit:contain;
object-position:center center;
}

.hero-share-banner{
grid-template-columns:1fr;
align-content:center;
gap:10px;
padding:22px 54px 34px;
text-align:center;
}

.hero-share-banner::before{
background-size:38px 38px;
opacity:.36;
}

.hero-share-banner::after{
width:78%;
right:50%;
transform:translate(50%,-50%);
}

.share-scene{
position:absolute;
inset:0;
min-height:0;
height:100%;
opacity:.46;
}

.share-card{
border-radius:16px;
}

.share-card-a{
width:96px;
height:96px;
left:8%;
top:22%;
}

.share-card-b{
width:82px;
height:82px;
right:12%;
bottom:18%;
}

.share-card-c{
width:68px;
height:68px;
right:16%;
top:12%;
}

.share-copy{
align-items:center;
justify-self:center;
max-width:360px;
gap:8px;
}

.share-logo{
width:86px;
}

.share-logo-banner{
width:min(260px,68vw);
max-height:116px;
}

.share-kicker{
font-size:10px;
padding:6px 10px;
}

.share-copy strong{
font-size:clamp(31px,9vw,50px);
line-height:.95;
}

.share-copy p{
max-width:270px;
font-size:13px;
}

.share-site-button{
min-height:40px;
padding:0 15px;
font-size:12px;
}

.hero-control{
width:36px;
height:36px;
}

.hero-prev{
left:10px;
}

.hero-next{
right:10px;
}

.produtos h2,
.carrinho-pagina h2,
.cart-header h2,
.mapa-conteudo h2{
font-size:24px;
gap:12px;
}

.produtos h2::after,
.carrinho-pagina h2::after,
.cart-header h2::after,
.mapa-conteudo h2::after{
min-width:56px;
}

.produto{
min-width:0;
width:100%;
max-width:none;
}

.produto img{
height:clamp(170px,40vw,250px);
object-fit:cover;
padding:0;
background:#111;
}

.produto img.produto-placeholder,
.produto img.is-missing{
padding:26px;
}

.cart-sidebar{
padding:24px 18px;
}

}

@media(max-width:480px){

.header{
padding:0 12px;
grid-template-columns:40px 1fr 40px;
}

.brand{
width:min(142px,48vw);
height:48px;
}

.produto-relacionados{
width:100%;
padding:28px 0 34px;
}

.produto-relacionados-carousel{
grid-auto-columns:78vw;
padding-left:10px;
padding-right:10px;
}

.produto-relacionado-card img{
height:200px;
}

.produto-relacionados-topo h2{
font-size:24px;
}

.produto-relacionados-topo{
padding-left:10px;
padding-right:10px;
}

.cart-toggle-mobile,
.menu-toggle{
width:38px;
height:38px;
}

.cart-toggle-mobile{
right:12px;
}

#produto-pagamentos{
grid-template-columns:1fr;
}

#produto-pagamentos .card-flag{
justify-self:stretch;
}

.menu{
width:min(198px,calc(100vw - 28px));
padding:12px;
gap:8px;
}

.menu a{
font-size:12px;
padding:9px 11px;
}

.produtos,
.colecao-destaque,
.mapa-loja,
.contato-loja,
.carrinho-pagina{
padding-left:14px;
padding-right:14px;
}

.hero-carousel{
width:100vw;
height:clamp(230px,64vw,280px);
margin-top:72px;
margin-bottom:0;
margin-left:calc(50% - 50vw);
border-radius:0;
}

.hero-instagram img{
object-fit:contain;
object-position:center center;
}

.hero-share-banner{
padding:18px 48px 32px;
}

.share-logo{
width:72px;
}

.share-logo-banner{
width:min(220px,66vw);
max-height:92px;
}

.share-kicker{
max-width:220px;
justify-content:center;
line-height:1.25;
}

.share-copy strong{
font-size:clamp(28px,10vw,40px);
}

.share-copy p{
font-size:12px;
line-height:1.35;
}

.share-card-a{
width:82px;
height:82px;
left:3%;
top:23%;
}

.share-card-b{
width:70px;
height:70px;
right:5%;
bottom:18%;
}

.share-card-c{
width:58px;
height:58px;
right:10%;
top:10%;
}

.produto-marcas{
padding:14px 0;
}

.produto-marcas-track{
animation-duration:20s;
}

.produto-marcas-grupo{
gap:24px;
padding-right:24px;
}

.hero-placeholder{
font-size:24px;
}

@media(max-width:380px){
.hero-carousel{
height:240px;
}

.hero-instagram img{
object-fit:contain;
object-position:center center;
}
}

.produtos-grid{
gap:12px;
}

.categoria-arte{
min-height:96px;
margin-bottom:20px;
}

.categoria-arte::before{
top:16px;
}

.categoria-arte::after{
bottom:16px;
}

.categoria-arte span{
font-size:10px;
margin-bottom:6px;
}

.categoria-arte strong{
font-size:26px;
}

.produto-galeria-item{
flex-basis:100%;
height:62vh;
}

.produtos h2,
.carrinho-pagina h2,
.cart-header h2,
.mapa-conteudo h2{
font-size:20px;
gap:8px;
}

.produtos h2::before,
.produtos h2::after,
.carrinho-pagina h2::before,
.carrinho-pagina h2::after,
.cart-header h2::before,
.cart-header h2::after,
.mapa-conteudo h2::before,
.mapa-conteudo h2::after{
flex-basis:22px;
min-width:22px;
}

.produto{
min-width:0;
width:100%;
max-width:none;
border-radius:14px;
}

.produto img{
height:150px;
object-fit:cover;
padding:0;
background:#111;
}

.produto h3{
margin:12px 12px 0;
font-size:14px;
line-height:1.25;
}

.produto .preco{
margin:8px 12px 0;
font-size:14px;
}

.produto button{
width:calc(100% - 24px);
margin:12px auto 14px;
padding:10px 8px;
font-size:10px;
letter-spacing:.8px;
}

.produto img.produto-placeholder,
.produto img.is-missing{
padding:34px;
}

.produto-galeria-item img[src$="logorafa.png"],
.produto-galeria-item img[src$="logorafa.webp"]{
padding:34px;
}

.mapa-embed{
height:230px;
}

}

/* BOTAO WHATSAPP FLUTUANTE */

.rafa-whatsapp{
position:fixed;
right:max(18px,env(safe-area-inset-right));
bottom:max(18px,env(safe-area-inset-bottom));
z-index:9999;
width:168px;
height:86px;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
border:1px solid rgba(231,189,103,.75);
border-radius:18px;
background:#050505;
box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.04) inset;
isolation:isolate;
transition:transform .25s ease,box-shadow .25s ease;
animation:rafa-whatsapp-float 3s ease-in-out infinite;
cursor:grab;
touch-action:none;
user-select:none;
}

.rafa-whatsapp.is-dragging{
animation:none;
cursor:grabbing;
transition:none;
}

.rafa-whatsapp.is-positioned{
animation:none;
transition:left .28s ease,top .28s ease,transform .25s ease,box-shadow .25s ease;
}

.rafa-whatsapp:hover,
.rafa-whatsapp:focus-visible{
transform:translateY(-5px) scale(1.035);
box-shadow:0 20px 42px rgba(0,0,0,.36),0 0 24px rgba(231,189,103,.25);
outline:none;
}

.rafa-whatsapp.is-dragging,
.rafa-whatsapp.is-dragging:hover,
.rafa-whatsapp.is-dragging:focus-visible{
transform:none !important;
}

.rafa-whatsapp__glow{
position:absolute;
inset:-5px;
z-index:-1;
border:1px solid rgba(231,189,103,.45);
border-radius:22px;
animation:rafa-whatsapp-pulse 2.2s ease-out infinite;
pointer-events:none;
}

.rafa-whatsapp__logo-wrap{
width:138px;
height:68px;
display:grid;
place-items:center;
overflow:hidden;
border-radius:12px;
background:#000;
}

.rafa-whatsapp__logo{
width:100%;
height:100%;
display:block;
object-fit:contain;
object-position:center;
}

.rafa-whatsapp__icon{
position:absolute;
right:-9px;
bottom:-9px;
width:44px;
height:44px;
display:grid;
place-items:center;
border:3px solid #050505;
border-radius:50%;
background:#25d366;
color:#fff;
box-shadow:0 7px 18px rgba(37,211,102,.42);
animation:rafa-whatsapp-breathe 1.8s ease-in-out infinite;
}

.rafa-whatsapp__icon svg{
width:28px;
height:28px;
}

.rafa-whatsapp__tooltip{
position:absolute;
right:0;
bottom:calc(100% + 12px);
padding:8px 11px;
border-radius:9px;
background:#111;
color:#fff;
font-size:13px;
font-weight:700;
white-space:nowrap;
opacity:0;
transform:translateY(5px);
pointer-events:none;
transition:opacity .2s ease,transform .2s ease;
}

.rafa-whatsapp:hover .rafa-whatsapp__tooltip,
.rafa-whatsapp:focus-visible .rafa-whatsapp__tooltip{
opacity:1;
transform:translateY(0);
}

@keyframes rafa-whatsapp-float{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-7px);}
}

@keyframes rafa-whatsapp-pulse{
0%{opacity:.7;transform:scale(.98);}
70%,100%{opacity:0;transform:scale(1.12);}
}

@keyframes rafa-whatsapp-breathe{
0%,100%{transform:scale(1);}
50%{transform:scale(1.09);}
}

@media(max-width:560px){
.rafa-whatsapp{
width:132px;
height:68px;
right:max(14px,env(safe-area-inset-right));
bottom:max(14px,env(safe-area-inset-bottom));
border-radius:16px;
}

.rafa-whatsapp__logo-wrap{
width:106px;
height:52px;
}

.rafa-whatsapp__icon{
width:38px;
height:38px;
}
}

@media(prefers-reduced-motion:reduce){
.rafa-whatsapp,
.rafa-whatsapp__glow,
.rafa-whatsapp__icon{
animation:none;
}
}

/* AJUSTES FINAIS DO SEPARADOR ANIMADO */

.categoria-arte{
min-height:auto;
display:grid;
grid-template-rows:38px minmax(78px,auto) 38px;
overflow:hidden;
max-width:none;
}

.categoria-arte::before,
.categoria-arte::after{
content:none;
}

.categoria-arte span{
margin:0;
}

@media(max-width:768px){
.categoria-arte{
grid-template-rows:34px minmax(64px,auto) 34px;
margin-bottom:26px;
}

.categoria-title-area{
min-height:64px;
padding:14px 18px;
}

.categoria-title-area::before,
.categoria-title-area::after{
width:min(72px,18vw);
}

.categoria-arte strong{
font-size:clamp(28px,7vw,38px);
}

.categoria-marquee-track{
animation-duration:24s;
}

.categoria-marquee-item{
font-size:11px;
letter-spacing:.18em;
}

.categoria-marquee-logo{
width:72px;
height:21px;
}
}

@media(max-width:480px){
.categoria-arte{
grid-template-rows:30px minmax(58px,auto) 30px;
margin-bottom:20px;
}

.categoria-title-area{
min-height:58px;
padding:12px 14px;
}

.categoria-title-area::before,
.categoria-title-area::after{
width:min(46px,14vw);
}

.categoria-arte strong{
font-size:clamp(24px,7.6vw,32px);
letter-spacing:.06em;
}

.categoria-marquee-group{
gap:14px;
padding-right:14px;
}

.categoria-marquee-track{
animation-duration:22s;
}

.categoria-marquee-item{
font-size:10px;
letter-spacing:.16em;
}

.categoria-marquee-star{
font-size:11px;
}

.categoria-marquee-logo{
width:62px;
height:18px;
}
}

@media(prefers-reduced-motion:reduce){
.categoria-marquee-track{
animation:none;
transform:translate3d(0,0,0);
}
}
