/* MINI DREAMS • ART DIRECTION V4 — boutique, mobile-first */
:root {
  --cream:#fbf8f2; --paper:#fffdf9; --butter:#f9e7b5; --rose:#f1c6ba;
  --lav:#e9e0ef; --ink:#292522; --muted:#77716c; --orange:#d5684f;
  --line:#e8e0d6; --accent:#b74f3a; --white:#fff; --radius:18px;
  --display:"Fraunces",Georgia,serif; --body:"DM Sans",system-ui,sans-serif;
  --wrap:1280px; --gutter:20px; --header:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.55 var(--body);color:var(--ink);background:var(--cream);overflow-x:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;display:block}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c87961;outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
[hidden]{display:none!important}
.wrap{width:min(100%,calc(var(--wrap) + var(--gutter)*2));padding-inline:var(--gutter);margin-inline:auto}
.sr-only,.skip-link:not(:focus){position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip-link:focus{position:fixed;z-index:150;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:#fff;border-radius:12px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.15em;font-weight:800;line-height:1.4;text-transform:uppercase;color:#a65542}
.eyebrow__line{width:25px;height:1px;background:currentColor}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:54px;padding:14px 25px;border:1px solid transparent;border-radius:100px;font-size:13px;line-height:1;font-weight:800;letter-spacing:.015em;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.btn:hover:not(:disabled){transform:translateY(-3px)}
.btn span{font-size:19px;line-height:.7;font-weight:400}
.btn--dark,.btn--primary{background:var(--ink);color:white;box-shadow:0 12px 30px #251f191e}
.btn--dark:hover,.btn--primary:hover{background:#ae533d}
.btn--light{background:var(--cream);color:var(--ink)}
.btn--light:hover{background:var(--white)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--block{width:100%}
.btn--lg{min-height:57px}
.btn--text{border:0;padding:8px 0;background:none}
.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
/* Announcement + header */
.announcement{display:flex;justify-content:center;align-items:center;gap:16px;background:#37312d;color:#fef2dd;text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:700;text-align:center;min-height:34px;padding:5px 12px}
.announcement__asterisk{color:#efa17e;font-size:17px;line-height:.6}
.header{position:sticky;z-index:60;top:0;background:#fbf8f2f7;border-bottom:1px solid var(--line);backdrop-filter:saturate(170%) blur(18px)}
.header__inner{display:flex;align-items:center;min-height:var(--header);gap:12px}
.brand{display:inline-flex;align-items:center;white-space:nowrap}
.brand__text{font-family:var(--display);font-weight:600;letter-spacing:-.09em;line-height:1;font-size:clamp(26px,3vw,36px)}
.brand__word{color:var(--orange)}
.brand__spark{display:inline-block;color:var(--orange);margin-left:3px;transform:translateY(-12px);font:700 13px var(--body);letter-spacing:0}
.header__actions{display:flex;align-items:center;gap:5px;margin-left:auto}
.header__burger{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:none;border-radius:99px}
.header__burger span{width:22px;height:1.7px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s}
.header__burger.is-open span:first-child{transform:translateY(6.7px) rotate(45deg)}
.header__burger.is-open span:nth-child(2){opacity:0}
.header__burger.is-open span:last-child{transform:translateY(-6.7px) rotate(-45deg)}
.nav{display:none;gap:10px;margin-left:auto}
.nav a{padding:9px 15px;font-size:13px;font-weight:700;border-radius:99px;transition:color .18s,background .18s}
.nav a:hover,.nav a.is-active{color:#a64e37;background:#f3eae1}
.iconbtn{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:100px;background:transparent;color:var(--ink);transition:background .18s}
.iconbtn:hover{background:#eee5db}
.iconbtn svg{width:22px;height:22px}
.cart-count{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:20px;background:var(--orange);color:white;font-size:10px;font-weight:800}
.searchbar{border-top:1px solid var(--line);background:#fffcf7}
.searchbar__inner{display:flex;align-items:center;gap:12px;padding-block:12px}
.searchbar__inner>svg{flex:none;color:#a46753}
.searchbar input{width:100%;border:0;outline:none;background:none;color:var(--ink);padding:12px 0;min-width:0}
.searchbar input:focus{outline:none}
.searchbar__go{white-space:nowrap;color:#a5523f;font-size:12px;font-weight:800}
.mobilenav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:10px var(--gutter) 18px;box-shadow:0 22px 38px #2c26231d;border-bottom:1px solid var(--line)}
.mobilenav a{display:flex;justify-content:space-between;align-items:center;padding:16px 5px;border-bottom:1px solid var(--line);font-family:var(--display);font-size:23px}
.mobilenav a span{font:600 11px var(--body);color:var(--orange)}
/* Hero */
.hero{position:relative;overflow:hidden;background:var(--cream)}
.hero__grid{display:grid;gap:18px;align-items:center;padding-top:58px;padding-bottom:28px}
.hero__copy{position:relative;z-index:2}
.eyebrow--hero{margin-bottom:20px}
.hero h1{font:500 clamp(57px,12.9vw,130px)/.99 var(--display);letter-spacing:-.075em;max-width:750px}
.hero h1 em{color:var(--orange);font-weight:400}
.hero__last{white-space:nowrap}
.hero__period{color:var(--orange)}
.hero__lead{max-width:400px;margin-top:24px;font-size:15px;line-height:1.8;color:#716963}
.hero__buttons{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:25px}
.hero__inline{font-size:13px;font-weight:800;padding:10px 0;border-bottom:1px solid #b8afa6;white-space:nowrap}
.hero__inline span{padding-left:6px}
.hero__detail{display:flex;gap:10px;align-items:center;font-size:11px;color:#847970;margin-top:25px}
.hero__detail-mark{color:var(--orange);font-size:23px}
.hero__visual{position:relative;min-height:500px;width:100%;max-width:720px;margin:auto}
.hero__backdrop{position:absolute;inset:5% 7% 3% 8%;background:#f2c6b9;border-radius:53% 47% 42% 58% / 50% 57% 43% 50%;transform:rotate(-9deg)}
.hero__main-photo{position:absolute;z-index:2;width:52%;height:70%;left:24%;top:8%;background:#fff;box-shadow:0 18px 52px #46312a30;transform:rotate(9deg);border:7px solid #fff;border-radius:4px 4px 8px 8px}
.hero__main-photo img{height:100%;width:100%;object-fit:cover}
.hero__photo-tag{position:absolute;bottom:13px;left:12px;right:12px;text-align:center;background:#fffdf4e6;padding:7px 4px;font-family:var(--display);font-size:20px;font-style:italic;letter-spacing:-.03em}
.hero__mini-photo{position:absolute;z-index:3;left:3%;top:41%;height:42%;width:35%;border:7px solid #fff;box-shadow:0 16px 30px #46312a32;transform:rotate(-12deg);background:white}
.hero__mini-photo img{width:100%;height:100%;object-fit:cover}
.hero__mini-caption{position:absolute;left:0;right:0;bottom:0;background:#fff;padding:6px 2px;text-align:center;font-size:10px;font-weight:800}
.hero__stamp{position:absolute;z-index:4;right:0;bottom:8%;width:108px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #754b3e;border-radius:100%;background:#ffe6a9;transform:rotate(16deg);color:#8b5843;text-align:center}
.hero__stamp span{font-size:9px;font-weight:800;letter-spacing:.07em}
.hero__stamp b{font-size:35px;line-height:1}
.hero__star{position:absolute;z-index:4;color:#e9ba62;line-height:1}
.hero__star--a{top:1%;left:2%;font-size:87px;transform:rotate(14deg)}
.hero__star--b{right:3%;top:13%;font-size:56px;color:#fff}
.hero__visual-foot{position:absolute;right:10%;bottom:2%;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8e6f5f;font-weight:800}
.hero__visual-foot span{color:var(--orange)}
.hero__bottomline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px;border-top:1px solid #e7d9ce;color:#81746b;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.hero__bottomline span:last-child{display:none}
/* Small editorial strip */
.benefits{background:#e9ddcd;border-block:1px solid #e5d6c4}
.benefits__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:center;min-height:90px;padding-block:18px}
.benefits__inner>div{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;text-align:center;font-weight:800;color:#55483f;line-height:1.3}
.benefits__symbol{font-size:22px;color:#b5664e;line-height:1}
/* Sections and catalog */
.section{padding:83px 0}
.section--catalog{background:#fffdf9}
.section__intro{display:flex;align-items:end;justify-content:space-between;gap:24px}
.section__title{font:500 clamp(41px,6vw,79px)/1.12 var(--display);letter-spacing:-.06em;margin-top:18px}
.section__title em{color:var(--orange);font-weight:400}
.section__desc{color:var(--muted);font-size:14px;line-height:1.75;max-width:490px;margin-top:16px}
.section__flower{font-size:115px;line-height:1;color:#eec6b3;transform:rotate(17deg)}
.catalog__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin:34px 0 25px;border-bottom:1px solid var(--line);padding-bottom:16px}
.segbar{display:flex;flex-wrap:wrap;gap:7px}
.seg{border:1px solid var(--line);border-radius:99px;padding:11px 20px;background:transparent;font-size:12px;font-weight:800;line-height:1.2;color:#6c625d;transition:background .18s,color .18s}
.seg:hover{border-color:var(--ink)}
.seg.is-active{background:var(--ink);color:white;border-color:var(--ink)}
.catalog-count{color:#9b8c81;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 11px}
.grid--empty{display:block}
.card{display:flex;flex-direction:column;position:relative;min-width:0;background:transparent;color:var(--ink);overflow:hidden}
.card__media{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:5px;background:#f7ece2}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__media img{transform:scale(1.065)}
.card__shade{position:absolute;inset:0;background:linear-gradient(0deg,#392c2418,transparent 35%);pointer-events:none}
.card__tag{position:absolute;top:9px;left:9px;z-index:2;padding:5px 9px;background:#fffdf4e8;color:#4e4239;font-size:9px;font-weight:800;border-radius:99px;max-width:85%;line-height:1.3}
.card__badge{position:absolute;bottom:8px;left:8px;z-index:2;border-radius:99px;padding:5px 8px;background:#39302bdc;color:#fff;font-size:9px;font-weight:700}
.card__concept{position:absolute;right:8px;bottom:37px;z-index:2;padding:4px 7px;border-radius:30px;background:#fffcf1e8;color:#6a5d54;font-size:9px;font-weight:700;max-width:80%;text-align:center}
.card__body{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:13px 2px 0;flex:1}
.card__name{font-size:14px;font-weight:800;line-height:1.35}
.card__price{font-size:13px;font-weight:800;color:#ad593f}
.card__price small{font-size:10px;font-weight:500;color:var(--muted)}
.card__price--pending{color:#897a71;font-size:11px}
.card__cta{display:flex;gap:6px;align-items:center;margin-top:2px;font-size:11px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:3px}
.card__cta svg{width:13px;height:13px;transition:transform .2s}
.card:hover .card__cta svg{transform:translateX(4px)}
.catalog__after{display:flex;align-items:center;gap:14px;margin-top:30px;padding:17px 22px;border:1px solid var(--line);border-radius:8px;color:#77706c;max-width:780px}
.catalog__after>span{font-size:34px;color:var(--orange);line-height:1}
.catalog__after p{font-size:11px;line-height:1.7}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:13px;padding:54px 20px;text-align:center;background:#f9f0e7;border-radius:14px}
.empty-state__ico{color:var(--orange);opacity:.6}
.empty-state__msg{font-size:15px;color:#655953}
.empty-state .btn{margin-top:7px}
/* Campaign — rich visual interruption */
.campaign{overflow:hidden;background:#bb5d46;color:#fff9ed}
.campaign__inner{display:grid;grid-template-columns:1fr;position:relative;align-items:center;min-height:580px}
.campaign__copy{position:relative;z-index:3;padding:67px 0 40px}
.campaign .eyebrow{color:#ffe8c7}
.campaign h2{font:500 clamp(55px,9vw,108px)/1 var(--display);letter-spacing:-.06em;margin:16px 0 23px}
.campaign h2 em{color:#ffe0a5;font-weight:400}
.campaign p{font-size:14px;line-height:1.8;max-width:350px;margin-bottom:25px;color:#fff0e8}
.campaign__gallery{position:relative;height:350px;max-width:630px}
.campaign__shape{position:absolute;inset:10% 6% -19% 2%;background:#e7ab97;border-radius:54% 46% 58% 42%;transform:rotate(18deg)}
.campaign__duck{position:absolute;bottom:-23%;left:17%;height:124%;width:64%;object-fit:cover;border:9px solid #fffdf5;transform:rotate(9deg);box-shadow:0 18px 55px #66302033;border-radius:5px}
.campaign__spark{position:absolute;z-index:2;top:-4%;right:4%;font-size:100px;color:#ffe2ab}
.campaign__sticker{position:absolute;z-index:3;left:1%;bottom:2%;width:105px;height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffdea6;color:#784739;border-radius:100%;transform:rotate(-14deg);font:600 27px var(--display)}
.campaign__sticker small{font:800 10px var(--body);letter-spacing:.06em}
/* Collections */
.section--collections{background:var(--cream)}
.section__intro--center{display:flex;flex-direction:column;text-align:center;align-items:center;gap:0}
.section__intro--center .section__desc{margin-top:16px}
.cats{display:grid;grid-template-columns:1fr;gap:20px;margin-top:43px}
.cat{position:relative;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;min-height:380px;padding:30px;border:0;border-radius:6px;box-shadow:none;background:#e4b0a1!important;text-align:left;color:#31241f;transition:transform .25s}
.cat:hover{transform:translateY(-5px)}
.cat[data-section="navidad"]{background:#d4e0cf!important}
.cat:before{content:"";position:absolute;z-index:0;right:-6%;bottom:-18%;width:64%;height:95%;background:url("assets/ui/concept-calabaza.svg") center/contain no-repeat;transform:rotate(8deg);pointer-events:none}
.cat[data-section="navidad"]:before{background-image:url("assets/ui/collection-navidad.svg")}
.cat:after{content:"✳";position:absolute;top:-42px;right:21px;font-size:200px;color:#ffffff47;line-height:1}
.cat>*{position:relative;z-index:1;max-width:57%}
.cat__ico{width:45px;height:45px;margin-bottom:auto;color:#5d382c}
.cat__name{font:500 clamp(34px,4.5vw,53px)/1 var(--display);letter-spacing:-.04em;margin-top:28px}
.cat__blurb{font-size:13px;line-height:1.6;margin-top:12px;font-weight:500}
.cat__go{display:inline-flex;align-items:center;gap:10px;margin-top:23px;font-size:12px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px}
.cat__go svg{width:18px;height:18px;transition:transform .2s}
.cat:hover .cat__go svg{transform:translateX(6px)}
/* Brand story */
.editorial{background:#eee4d6;overflow:hidden}
.editorial__grid{display:grid;grid-template-columns:1fr;align-items:center;gap:30px}
.editorial__art{position:relative;display:grid;place-items:center;min-height:380px;padding:32px}
.editorial__halo{position:absolute;inset:12% 8%;background:#ddc9af;border-radius:51% 49% 37% 63%;transform:rotate(-8deg)}
.editorial__art img{position:relative;z-index:1;display:block;width:min(78%,310px);aspect-ratio:4/5;object-fit:cover;border:8px solid #fffdf8;transform:rotate(-8deg);box-shadow:0 18px 40px #66513c33}
.editorial__pin{position:absolute;z-index:2;right:2%;bottom:12%;display:grid;place-items:center;text-align:center;width:120px;height:120px;background:#f6d9bb;border-radius:100%;font:italic 500 16px/1.3 var(--display);transform:rotate(13deg)}
.editorial__copy{padding:0 0 72px}
.editorial__copy h2{font:500 clamp(42px,6vw,78px)/1.08 var(--display);letter-spacing:-.065em;margin:19px 0 24px}
.editorial__copy h2 em{color:#bc694d}
.editorial__copy p{color:#675c51;font-size:14px;line-height:1.85;max-width:510px;margin-top:13px}
.editorial__link{display:inline-flex;gap:28px;margin-top:24px;padding-bottom:6px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:800}
/* Footer */
.footer{background:#2c2a27;color:#fff9ec;padding-top:70px}
.footer__top{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:18px;padding-bottom:45px;border-bottom:1px solid #ffffff26}
.footer__eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#ddaa93}
.footer__top h2{font:500 clamp(45px,7vw,92px)/1.06 var(--display);letter-spacing:-.065em;margin-top:14px}
.footer__top h2 em{color:#e9a88c}
.footer__back{padding-bottom:6px;border-bottom:1px solid #fff5e4;font-size:12px;font-weight:700}
.footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 20px;padding:48px 0 57px}
.footer .brand__text{font-size:34px}
.footer__about{grid-column:span 2}
.footer__about p{max-width:300px;color:#bdb5a8;font-size:13px;line-height:1.75;margin-top:16px}
.footer__links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer__links b{font-size:12px;letter-spacing:.07em;margin-bottom:8px}
.footer__links a,.footer__links span{color:#bdb5a8;font-size:13px}
.footer__links a:hover{color:white}
.footer__message{display:none}
.footer__flower{font-size:100px;color:#d78868}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;padding:22px 0;border-top:1px solid #ffffff23;color:#afa69d;font-size:11px}
/* Cart, toast and overlay — existing JS interface */
.overlay{position:fixed;inset:0;z-index:70;background:#15120fb0;opacity:0;pointer-events:none;transition:opacity .22s}
.overlay.is-open{opacity:1;pointer-events:auto}
.cart{position:fixed;z-index:80;top:0;right:0;width:min(440px,100vw);height:100dvh;display:flex;flex-direction:column;background:var(--paper);box-shadow:-18px 0 46px #1f151b30;transform:translateX(103%);transition:transform .3s}
.cart.is-open{transform:translateX(0)}
.cart__head{display:flex;align-items:center;justify-content:space-between;padding:25px 25px 20px;border-bottom:1px solid var(--line)}
.cart__head .eyebrow{font-size:9px}
.cart__head h3{font:500 34px var(--display);letter-spacing:-.04em}
.cart__head h3 span{color:#ce8064}
.cart__body{flex:1;min-height:0;overflow-y:auto;padding:18px 24px}
.cart__foot{flex:none;border-top:1px solid var(--line);padding:22px 24px;background:#f7efe7}
.cart-empty{display:grid;place-items:center;gap:15px;padding:50px 16px;text-align:center}
.cart-empty svg{width:50px;height:50px;color:#c9826b}
.cart-empty p{max-width:280px;font-size:14px;line-height:1.8;color:#776e65}
.citem{display:grid;grid-template-columns:76px 1fr 35px;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.citem__imglink,.citem__img{width:76px;height:94px;object-fit:cover;border-radius:5px}
.citem__mid{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.citem__name{font-size:13px;font-weight:800}
.citem__meta{font-size:12px;color:var(--muted)}
.citem__price{font-size:13px;font-weight:800;color:#b35c44}
.citem__remove{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:100%;background:transparent}
.citem__remove:hover{background:#f0e3d6}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:white}
.qty button{display:grid;place-items:center;width:38px;height:38px;background:none;border:0;font-size:19px}
.qty span{min-width:25px;text-align:center;font-size:13px;font-weight:800}
.qty--sm button{width:29px;height:29px;font-size:17px}
.cart__row{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px}
.cart__row--total{font-weight:800;font-size:18px}
.cart__note,.pp-fallback{color:var(--muted);font-size:11px;line-height:1.55;text-align:center;margin-top:11px}
.toast{position:fixed;z-index:110;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:white;padding:12px 20px;border-radius:100px;font-size:12px;font-weight:800;box-shadow:0 8px 30px #2925222c;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}
.toast.is-show{opacity:1;transform:translate(-50%,0)}
.no-scroll{overflow:hidden}
/* Product detail layout */
.pp-wrap{padding-block:24px 78px}
.pp-loading,.pp-notfound{text-align:center;padding:90px 15px;color:#776b63}
.pp-notfound h1{font:500 47px var(--display);color:var(--ink)}
.pp-notfound p{margin:12px auto 18px;max-width:430px}
.pp-layout{display:grid;grid-template-columns:1fr;gap:32px}
.gallery{min-width:0}
.gallery__main{position:relative;aspect-ratio:4/5;background:#f4eadf;border-radius:8px;overflow:hidden}
.gallery__img{width:100%;height:100%;object-fit:cover}
.gallery__badge{position:absolute;top:13px;left:13px;padding:7px 10px;border-radius:100px;background:#292522dc;color:#fff;font-size:11px;font-weight:800}
.gallery__concept{position:absolute;bottom:12px;left:12px;max-width:76%;border-radius:12px;background:#fffcf3e8;padding:7px 11px;font-size:10px;font-weight:700;color:#695b53;line-height:1.4}
.gallery__zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:42px;height:42px;background:#fff;border:0;border-radius:100px;box-shadow:0 5px 25px #29252226}
.gallery__zoom svg{width:22px;height:22px}
.gallery__thumbs{display:flex;gap:9px;overflow-x:auto;margin-top:12px}
.gallery__thumb{width:75px;height:92px;border:2px solid transparent;border-radius:6px;flex:none;overflow:hidden;padding:0;background:#f6ece0}
.gallery__thumb.is-active{border-color:var(--orange)}
.gallery__thumb img{width:100%;height:100%;object-fit:cover}
.pp-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.pp-crumbs{color:#8c7b70;font-size:11px;font-weight:700;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}
.pp-crumbs a:hover{text-decoration:underline}
.pp-tag{padding:8px 12px;background:#f7e7d8;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;border-radius:100px;color:#aa593f}
.pp-name{font:500 clamp(44px,6.5vw,75px)/1.02 var(--display);letter-spacing:-.065em;margin:18px 0 10px}
.pp-price{font-size:24px;font-weight:800;color:#b35740}
.pp-price small{font-size:11px;font-weight:600;color:#8f8176}
.pp-price--pending{font-size:15px;color:#8e8278}
.pp-avail{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;font-weight:700}
.pp-avail .dot{width:7px;height:7px;border-radius:50%;background:#b37e66}
.pp-avail--ok{color:#537454}.pp-avail--ok .dot{background:#74a177}
.pp-avail--pending{color:#81766d}
.pp-dev{margin-top:10px;padding:12px 15px;background:#fff0df;color:#785442;font-size:11px;line-height:1.6;border-radius:8px}
.pp-desc{color:#746960;font-size:14px;line-height:1.85;margin:17px 0 4px}
.pp-field{width:100%;margin-top:22px}
.pp-field__head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.pp-field>label,.pp-field__head label{font-size:12px;font-weight:800}
.pp-guide-link{padding:0;border:0;background:none;text-decoration:underline;color:#a4563e;font-size:11px;font-weight:800}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.size{min-width:72px;padding:11px 14px;border:1px solid #dcd1c5;border-radius:5px;background:var(--paper);font-size:12px;font-weight:800}
.size:hover:not(:disabled){border-color:var(--ink)}
.size.is-active{background:var(--ink);color:white;border-color:var(--ink)}
.size.is-out{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.size__x{display:block;font-size:9px;text-decoration:none}
.pp-size-hint{color:#897a71;margin-top:9px;font-size:11px}
.pp-size-hint.is-ok{color:#4c8257}.pp-size-hint.is-err{color:#bd4f41}
.pp-actions{display:grid;gap:10px;width:100%;margin-top:26px}
.pp-pending{width:100%;margin-top:20px;padding:18px;border-radius:7px;background:#f3e8dc;color:#786a5c;font-size:12px;line-height:1.75}
.pp-meta{width:100%;margin-top:28px;border-top:1px solid var(--line)}
.pp-acc{border-bottom:1px solid var(--line)}
.pp-acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:17px 0;font-size:13px;font-weight:800}
.pp-acc summary::-webkit-details-marker{display:none}
.pp-acc summary:after{content:"+";font-size:21px;font-weight:400;color:#a4563e}
.pp-acc[open] summary:after{content:"−"}
.pp-acc p{color:#7e7168;font-size:12px;line-height:1.7;padding-bottom:19px}
.related2{margin-top:88px;border-top:1px solid var(--line);padding-top:40px}
.related2 h2{font:500 clamp(33px,4vw,54px) var(--display);letter-spacing:-.05em;margin-bottom:30px}
.related2__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rel-card{display:flex;flex-direction:column}
.rel-card__media{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:#f4e9db}
.rel-card__media img{height:100%;width:100%;object-fit:cover;transition:transform .3s}
.rel-card:hover img{transform:scale(1.04)}
.rel-card__name{font-size:12px;font-weight:800;margin-top:10px}
.rel-card__price{font-size:11px;color:#9b7864}
.lightbox{position:fixed;z-index:100;inset:0;background:#1b1515e6;display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.is-open{display:flex}
.lightbox img{max-height:90vh;max-width:94vw;object-fit:contain}
.lightbox__x{position:absolute;right:20px;top:20px;display:grid;place-items:center;border:0;border-radius:100px;width:44px;height:44px;background:#fff;color:var(--ink)}
/* Responsive refinement */
@media(min-width:560px){
  :root{--gutter:26px}
  .hero__grid{grid-template-columns:1fr 1fr;gap:20px;padding-block:80px 50px}
  .hero h1{font-size:clamp(54px,7.6vw,112px)}
  .hero__visual{min-height:460px}
  .hero__bottomline span:last-child{display:block}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
  .card__name{font-size:15px}
  .card__tag{font-size:10px}
  .card__body{padding-top:17px}
  .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat{min-height:410px}
  .campaign__inner{grid-template-columns:1fr 1fr;min-height:550px}
  .campaign__gallery{height:500px}
  .campaign__duck{height:76%;bottom:11%}
  .editorial__grid{grid-template-columns:1fr 1fr;gap:55px}
  .editorial__art{min-height:640px}
  .editorial__copy{padding:40px 0}
  .footer__grid{grid-template-columns:2fr 1fr 1fr}
  .footer__about{grid-column:auto}
  .related2__grid{grid-template-columns:repeat(4,1fr);gap:20px}
}
@media(min-width:850px){
  :root{--gutter:44px}
  .header__burger{display:none}
  .header__inner{gap:26px}
  .nav{display:flex}
  .mobilenav{display:none!important}
  .hero__grid{grid-template-columns:1.03fr .97fr;gap:55px;padding-block:95px 60px}
  .hero h1{font-size:clamp(72px,7.3vw,119px)}
  .hero__visual{min-height:625px}
  .hero__lead{font-size:16px}
  .hero__buttons{margin-top:32px}
  .hero__detail{margin-top:40px}
  .benefits__inner{min-height:96px}
  .benefits__inner>div{font-size:12px}
  .benefits__symbol{font-size:27px}
  .section{padding:118px 0}
  .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}
  .card__name{font-size:16px}
  .card__price{font-size:14px}
  .campaign__copy{padding-block:96px}
  .campaign__gallery{height:600px}
  .campaign__duck{width:62%;height:73%;bottom:12%}
  .cat{min-height:480px;padding:38px}
  .cat__name{font-size:58px}
  .footer__grid{grid-template-columns:2.4fr 1fr 1fr 1fr;gap:30px}
  .footer__message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
  .footer__message b{font:500 italic 18px/1.2 var(--display)}
  .pp-wrap{padding-top:38px;padding-bottom:115px}
  .pp-layout{grid-template-columns:1.04fr .96fr;gap:62px}
  .gallery{position:sticky;top:calc(var(--header) + 20px)}
}
@media(min-width:1200px){
  .hero h1{font-size:115px}
  .hero__visual{min-height:650px}
  .card__tag{top:16px;left:16px}
  .card__concept{font-size:10px}
}
@media(max-width:559px){
  .hero__grid{padding-top:47px}
  .hero__visual{min-height:420px}
  .hero__detail{margin-top:20px}
  .hero__star--a{font-size:60px}
  .hero__stamp{width:90px;height:90px;right:0}
  .hero__stamp span{font-size:8px}
  .hero__stamp b{font-size:28px}
  .hero__main-photo{top:6%;height:74%}
  .hero__mini-photo{top:46%;height:41%}
  .benefits__inner{grid-template-columns:1fr 1fr}
  .benefits__inner>div:last-child{display:none}
  .section__flower{display:none}
  .campaign__copy{padding-bottom:0}
  .campaign__gallery{height:355px}
  .campaign__duck{bottom:-21%;height:116%}
  .cat{min-height:390px}
}
@media(max-width:369px){
  :root{--gutter:14px}
  .header__inner{gap:2px}
  .brand__text{font-size:25px}
  .hero h1{font-size:54px}
  .hero__buttons{gap:13px}
  .hero__inline{font-size:11px}
  .seg{padding:10px 13px;font-size:11px}
  .cat{padding:23px}
  .cat>*{max-width:65%}
  .cat__name{font-size:32px}
  .footer__grid{gap:24px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Consistent collection landing and product-page finish */
.pp-banner{background:#f4ece1;border-bottom:1px solid var(--line)}
.pp-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:14px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#84766c;font-weight:800}
.pp-banner a{color:#815c4b}
.pp-banner a:hover{text-decoration:underline}
.pp-promise{padding:32px 0;background:#e9ddcd}
.pp-promise__inner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center}
.pp-promise__inner>span{font-size:31px;color:#b86a4e;line-height:1}
.pp-promise p{font:500 clamp(18px,3vw,27px) var(--display);letter-spacing:-.04em}
.pp-promise a{font-size:11px;font-weight:800;text-decoration:underline}
body[data-view="product"] .pp-wrap{min-height:55vh}
body[data-view="product"] .footer{margin-top:0}
body[data-view="product"] .pp-crumbs{letter-spacing:.02em}
body[data-view="product"] .gallery__main{background:#f6ede2}
@media(max-width:559px){
 .pp-banner__inner>span{display:none}
 .pp-promise__inner{gap:8px}
 .pp-promise a{width:100%}
 .pp-wrap{padding-top:20px}
 .gallery__main{max-height:620px}
 .cart__body{padding-inline:18px}
 .cart__foot{padding-inline:18px}
}
/* Menú móvil siempre por encima del fondo oscurecido; carrito conserva prioridad. */
.header:has(.mobilenav:not([hidden])){z-index:75}

/* Mini Dreams — primer producto real | editorial e-commerce refinements */
.brand__text{white-space:nowrap;letter-spacing:-.065em}
.brand__word{margin-left:.22em}
@media(max-width:390px){.brand__text{font-size:clamp(23px,7vw,29px)}.brand__spark{margin-left:1px;font-size:11px}.header__inner{gap:2px}.header__actions{gap:0}}
.grid.grid--single{grid-template-columns:minmax(0,1fr);max-width:450px;margin:0 auto}
.grid--single .card{border-radius:12px;overflow:hidden;background:var(--paper);border:1px solid #ebe2d7;box-shadow:0 12px 35px #392e2514}
.grid--single .card__media{aspect-ratio:4/5;border-radius:0}
.grid--single .card__body{padding:16px 20px 22px;gap:9px}
.grid--single .card__name{font:500 clamp(22px,3vw,29px) var(--display);letter-spacing:-.04em}
.grid--single .card__price{font-size:18px}
.grid--single .card__cta{font-size:12px}
.gallery__main .gallery__img--sprite,.gallery__thumb img{object-fit:cover}
.gallery__img--sprite{object-fit:cover;object-position:0% center;width:100%;height:100%;aspect-ratio:4/5}
.gallery__thumb{position:relative}
.gallery__thumb.is-active{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.gallery__thumb img{width:100%;height:100%;aspect-ratio:4/5}
.lightbox__sprite{width:min(84vw,550px);height:min(80vh,680px);max-width:unset!important;max-height:unset!important;aspect-ratio:4/5;object-fit:cover;object-position:0% center}
.pp-attributes{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 3px}
.pp-attributes>span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #ece0d2;border-radius:99px;font-size:11px;line-height:1.2;font-weight:700;background:#fffdf8}
.pp-attributes strong{font-weight:800}
.pp-highlights{width:100%;display:grid;gap:0;margin:20px 0 4px;border-block:1px solid var(--line)}
.pp-feature{display:flex;align-items:flex-start;gap:14px;padding:15px 0}
.pp-feature+.pp-feature{border-top:1px solid #f0e7de}
.pp-feature__mark{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#f8ede3;color:#af674d;font-size:18px;line-height:1}
.pp-feature strong{display:block;font-size:12px;font-weight:800}
.pp-feature p{margin:4px 0 0;font-size:11px;line-height:1.6;color:#7b7169}
.pp-fulfillment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px;margin-top:24px}
.pp-fulfillment>div{display:flex;align-items:flex-start;gap:10px;padding:16px 12px;border:1px solid var(--line);border-radius:9px;background:#fbf6ef}
.pp-fulfillment>div>span{font-size:22px;line-height:1;color:#b36047}
.pp-fulfillment strong{display:block;font-size:11px;line-height:1.4}
.pp-fulfillment p{font-size:10px;margin:5px 0 0;color:#77685d;line-height:1.5}
.pp-fulfillment section{min-width:0}
.pp-checkoutnote{font-size:11px;color:#8b7568;text-align:center;line-height:1.65;margin-top:6px}
.sizeguide>p{font-size:12px;color:#73675f;line-height:1.7;padding:1px 0 12px}
.sizeguide__scroll{overflow-x:auto;padding-bottom:12px}
.sizeguide table{border-collapse:collapse;width:100%;min-width:355px;font-size:11px;white-space:nowrap}
.sizeguide thead{background:#f6ebdf}
.sizeguide th,.sizeguide td{text-align:left;padding:11px 8px;border-bottom:1px solid #eae0d6}
.sizeguide tbody th{font-weight:800}
.pp-meta .pp-acc a{text-decoration:underline}
.pp-meta .pp-acc p+p{margin-top:10px}
.pp-gallery-counter{position:absolute;left:13px;bottom:13px;background:#fffcf1e9;color:#594638;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800}
.hero__main-photo--real img{object-position:0% center}
.hero__mini-photo--real img{object-position:25% center}
@media(min-width:660px){.grid.grid--single{max-width:495px}.grid--single .card__name{font-size:28px}}
@media(max-width:400px){
.pp-fulfillment{gap:8px}
.pp-fulfillment>div{padding:12px 9px;gap:7px}
.pp-fulfillment>div>span{font-size:19px}
.pp-fulfillment strong{font-size:10px}
.pp-fulfillment p{font-size:9px}
.gallery__thumb{width:62px;height:76px}
}

.card__media--sprite img{object-position:0% center}
.campaign__duck[src*='bunny-gallery']{object-position:25% center}

/* Multi-item catalog, including clear coming-soon placeholders. */
.grid.grid--single{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;margin:0}
.grid--single .card{background:transparent;border:0;border-radius:0;box-shadow:none}
.grid--single .card__media{aspect-ratio:4/5;border-radius:6px}
.grid--single .card__body{padding:14px 2px 0}
.card--coming{opacity:.85;cursor:default}
.card--coming .card__media{background:#f1e7df}
.card--coming .card__media img{filter:saturate(.7)}
.card--coming .card__tag{background:#fff9f2;color:#745b54}
.card--coming .card__price{color:#786b60}
.card--coming .card__cta{border:0;color:#a87767}
.card--coming:hover .card__media img{transform:none}
.card:not(.card--coming):hover .card__cta{text-decoration:underline}
.card:not(.card--coming) .card__name{color:#433326}
@media(min-width:560px){.grid.grid--single{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:850px){.grid.grid--single{grid-template-columns:repeat(4,minmax(0,1fr))}}
