@font-face{font-family:Suisse;src:url(../assets/fonts/SuisseIntl-Light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Suisse;src:url(../assets/fonts/SuisseIntl-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Suisse;src:url(../assets/fonts/SuisseIntl-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Suisse Neue";src:url(../assets/fonts/SuisseNeue-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--title:"Suisse Neue",Suisse,sans-serif;--bg:#fffef1;--green:#DADC9C;--gap:1rem;--c:#593c39;--cream:#fdf3d8;--soft:#735f5d;--dark:#402826;--gray:#f2f2f2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--dark);font:400 1rem/1.65 Suisse,system-ui,sans-serif;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--title);font-weight:500;line-height:1.15;margin:0 0 1rem}
h1{font-size:clamp(2.2rem,6vw,4.5rem)}h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
a{color:inherit}:focus-visible{outline:2px solid var(--c);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:clamp(3rem,8vw,6rem) 1.25rem}.narrow{max-width:760px}
.note{font-size:.85rem;color:var(--soft);font-weight:300}.lead{font-size:1.25rem;font-weight:300}
.btn,.ghost{font:500 .95rem Suisse,sans-serif;border-radius:999px;padding:.8rem 1.6rem;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,color .2s;border:1px solid var(--c)}
.btn{background:var(--c);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}
.ghost{background:transparent;color:var(--c);padding:.5rem 1rem}.btn.out{background:transparent;color:var(--c)}
.link{background:none;border:0;padding:0;font:inherit;color:var(--soft);text-decoration:underline;cursor:pointer}
header{position:sticky;top:0;z-index:20;background:rgba(255,254,241,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--gray)}
.bar{max-width:1180px;margin:0 auto;padding:.9rem 1.25rem;display:flex;align-items:center;gap:1.25rem;transition:padding .25s}header.small .bar{padding:.4rem 1.25rem}
nav{display:flex;gap:1.5rem;margin-right:auto}nav a{text-decoration:none;font-weight:500;font-size:.95rem}
#search{border:1px solid var(--gray);background:#fff;border-radius:999px;padding:.5rem 1rem;font:inherit;width:9rem}#menuBtn{display:none}
#cartCount{background:var(--c);color:#fff;border-radius:99px;padding:0 .5rem;margin-left:.25rem;font-size:.8rem}
.hero{position:relative;height:min(88vh,760px);min-height:460px;display:grid;place-items:center;color:var(--bg);text-align:center;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:rgba(64,40,38,.45)}
.hero-txt{position:relative;z-index:1;padding:0 1.25rem}.hero-txt p{font-weight:300;font-size:1.2rem;margin:0 0 1.75rem}.hero .btn{background:var(--bg);color:var(--dark);border-color:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:4rem 2rem;margin-top:2.5rem;align-items:end}
.card{background:none;border:0;text-align:center;font:inherit;color:inherit;cursor:pointer;padding:0;display:flex;flex-direction:column;justify-content:flex-end}.card .ph{display:flex;align-items:flex-end;justify-content:center}
.card{-webkit-tap-highlight-color:transparent}.card img{width:100%;height:auto}
@media (hover:hover) and (pointer:fine){.card img{transition:transform .35s}.card:hover img{transform:translateY(-4px)}}.card h3{font-size:1.15rem;margin:1rem 0 .15rem}.card p{margin:0;color:var(--soft);font-size:.9rem}.tag{font-weight:500;color:var(--c)}
.seals{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;padding:0;margin:1rem 0}.seals img{width:72px;height:auto}.seals.big{justify-content:center;gap:2rem}.seals.big img{width:150px}.seals-sec{text-align:center}
.origen img{width:100%;height:min(70vh,620px);object-fit:cover}.origen .wrap{text-align:center;max-width:820px}
summary{cursor:pointer;font-weight:500;padding:1.1rem 0;border-bottom:1px solid var(--gray)}details p{color:var(--soft);margin:.9rem 0 1.2rem}
.contact{list-style:none;padding:0}.contact li{display:flex;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--gray)}.contact span{width:6.5rem;color:var(--soft);flex:none}
footer{background:var(--dark);color:var(--bg);text-align:center;padding:3rem 1.25rem;display:grid;gap:.75rem;justify-items:center}footer p{margin:0;font-weight:300}footer .link{color:var(--cream)}
dialog{border:0;background:var(--bg);color:var(--dark);padding:1.5rem;max-width:min(960px,94vw);width:100%;max-height:92vh;overflow:auto}dialog::backdrop{background:rgba(64,40,38,.5)}
dialog#cart{margin:0 0 0 auto;height:100vh;max-height:none;width:min(420px,100vw);display:flex;flex-direction:column}
.x{position:absolute;top:.6rem;right:.9rem;background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--c);z-index:2}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.gwrap{position:relative}.gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gal img{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:1;object-fit:contain}
.arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,254,241,.9);border:0;width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer;font-size:1.2rem}.arr.l{left:.5rem}.arr.r{right:.5rem}
.dots{display:flex;gap:.4rem;justify-content:center;padding:.5rem}.dots i{width:6px;height:6px;border-radius:50%;background:var(--soft);opacity:.35}.dots i.on{opacity:1}
.vars{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.vars button{padding:.5rem 1rem}.vars [aria-pressed=true]{background:var(--c);color:#fff}
.price{font-size:1.5rem;font-weight:500}.sold{color:var(--soft);font-weight:500}.pd h3{font-size:1rem;margin:1.2rem 0 .3rem}
#cartItems{list-style:none;margin:1rem 0;padding:0;flex:1;overflow:auto}#cartItems img{width:64px;height:64px;object-fit:contain}#cartItems li{display:grid;grid-template-columns:64px 1fr auto;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--gray);align-items:start}#cartItems span{display:block;color:var(--soft);font-size:.85rem}
.qty{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}.qty button{width:1.8rem;height:1.8rem;border-radius:50%;border:1px solid var(--c);background:none;cursor:pointer}.empty{display:block!important}
.cart-h{display:flex;justify-content:space-between}.cart-f p{display:flex;justify-content:space-between}.cart-f .btn{width:100%}
form{display:grid;gap:1rem;margin-top:1rem}label{display:grid;gap:.3rem;font-size:.9rem;font-weight:500}input:not([type=radio]){font:inherit;padding:.75rem;border:1px solid var(--soft);background:#fff;border-radius:6px}input[aria-invalid=true]{border-color:#b00020}
fieldset{border:1px solid var(--gray);padding:.8rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.opt{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-weight:400}
.hp{position:absolute;left:-9999px}.summary{display:flex;justify-content:space-between;font-size:1.1rem;margin:0}#msg{color:#b00020;margin:0;min-height:0}#msg:empty{display:none}
@media(max-width:820px){.pd{grid-template-columns:1fr}#menuBtn{display:block}#search{width:100%;order:9}.bar{flex-wrap:wrap}.logo{margin-right:auto}nav{display:none;flex-direction:column;width:100%;order:8;gap:.6rem}nav.open{display:flex}.arr{display:none}}
@media(hover:none){.arr{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.wide{max-width:1320px}
.strip{background:var(--green);color:#593c39;overflow:hidden;white-space:nowrap;padding:.7rem 0;font-weight:500;font-size:.85rem}
.mq{display:flex;width:max-content;animation:mq var(--d,90s) linear infinite}.seg{display:flex;flex:none}.seg span{padding:0 1.4rem}.seg span+span:before{content:"·";margin-right:2.8rem;margin-left:-1.4rem}
@keyframes mq{to{transform:translateX(-50%)}}
.car{position:relative;margin-top:2.5rem}.vp{overflow:hidden}
.track{display:flex;gap:var(--gap);--n:2;transition:transform 1.3s cubic-bezier(.45,.05,.25,1);align-items:flex-end}.track.nt{transition:none}
.track .card{flex:0 0 calc((100% - (var(--n) - 1) * var(--gap)) / var(--n))}.track .card:hover img{transform:none}
.track .card h3{font-size:clamp(.95rem,2vw,1.4rem)}.track .card p{font-size:clamp(.8rem,1.4vw,1rem)}.car:focus-visible{outline-offset:6px}
.cbtn{position:absolute;top:38%;z-index:2;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--gray);background:rgba(255,254,241,.92);color:var(--c);font-size:1.3rem;cursor:pointer;line-height:1}.cbtn.l{left:-.4rem}.cbtn.r{right:-.4rem}.more{text-align:center;margin-top:3rem}
.hero{background:var(--dark)}body.catalog .home-only,body:not(.catalog) .cat-only{display:none}body.catalog #productos{padding-top:3rem}
@media(min-width:1024px){.track{--n:3;--gap:2.5rem}.cbtn.l{left:-1.2rem}.cbtn.r{right:-1.2rem}}
@media(max-width:340px){.track{--n:1}}
@media(prefers-reduced-motion:reduce){.mq{animation:none;width:auto;flex-wrap:wrap;justify-content:center;white-space:normal;padding:0 1rem}.seg.rep,.seg .rep{display:none}.track{transition:none}}
@media (pointer:coarse){.ghost,.cbtn,.x,.qty button{min-width:44px;min-height:44px}.cbtn{width:44px;height:44px}.contact a,.link{display:inline-flex;align-items:center;min-height:44px}.cartItems .link{min-height:44px}}

@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--dark)}.ghost:hover,.btn.out:hover{background:var(--c);color:#fff}nav a:hover{color:var(--soft)}}
/* Sellos de la ficha: misma escala (alto igual → mismo medallón), grupo centrado */
.pd .seals{justify-content:center;align-items:flex-start;gap:1.25rem}.pd .seals img{width:auto;height:108px}
