
/* ======================= TOKENS (sacados del CSS real del tema) ======================= */
:root{
  --typeHeaderPrimary:'Montserrat',sans-serif;
  --typeHeaderSize:22px; --typeHeaderWeight:400; --typeHeaderLineHeight:1; --typeHeaderSpacing:0em;
  --typeBasePrimary:'Outfit',sans-serif;
  --typeBaseSize:15px; --typeBaseWeight:400; --typeBaseSpacing:0.025em; --typeBaseLineHeight:1.4;
  --typeCollectionTitle:20px;
  --buttonRadius:0;

  --colorBody:#ffffff; --colorBodyDim:#f2f2f2; --colorBodyLightDim:#fafafa; --colorBodyMediumDim:#f5f5f5;
  --colorBorder:#e8e8e1;
  --colorTextBody:#112211; --colorLink:#112211; --colorPrice:#112211;
  --colorTextBodyAlpha015:rgba(17,34,17,.15); --colorTextBodyAlpha008:rgba(17,34,17,.08); --colorTextBodyAlpha005:rgba(17,34,17,.05);
  --colorBtnPrimary:#000000; --colorBtnPrimaryLight:#1a1a1a; --colorBtnPrimaryText:#ffffff;
  --colorBtnDrawer:#111111;
  --colorAnnouncement:#d1e0d9; --colorAnnouncementText:#000000;
  --colorNav:#ffffff; --colorNavText:#000000; --colorHeaderTextAlpha01:rgba(0,0,0,.1);
  --colorSaleTag:#D1E0D9; --colorSaleTagText:#112211;
  --colorSalePriceOld:#c22626; --colorTextSavings:#704417;
  --colorFooter:#d1e0d9; --colorFooterText:#000000;
  --colorHeroText:#ffffff; --colorHeroBadge:rgba(209,224,217,.78);
  --colorCartDot:#ff4f33;
  --colorLargeImageBg:#0f0f0f; --colorSmallImageBg:#ffffff;
  --colorGridOverlay:#000000; --colorGridOverlayOpacity:.1;

  --pageWidth:1500px; --gutter:17px;
}

/* ======================= RESET / BASE ======================= */
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--colorBody);color:var(--colorTextBody);
  font-family:var(--typeBasePrimary);font-size:var(--typeBaseSize);font-weight:var(--typeBaseWeight);
  letter-spacing:var(--typeBaseSpacing);line-height:var(--typeBaseLineHeight);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:var(--colorLink);text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font:inherit;letter-spacing:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
ul{list-style:none;margin:0;padding:0}
p{margin:0 0 15.4px}
h1,h2,h3,.h1,.h2,.h3,.h4{font-family:var(--typeHeaderPrimary);font-weight:var(--typeHeaderWeight);letter-spacing:var(--typeHeaderSpacing);line-height:var(--typeHeaderLineHeight);margin:0 0 15px}
.h4{font-size:11.04px;letter-spacing:.3em;text-transform:uppercase}
.visually-hidden{position:absolute!important;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0)}
.page-width{max-width:var(--pageWidth);margin:0 auto;padding:0 17px}
@media (min-width:769px){.page-width{padding:0 40px}}
.index-section{margin:40px 0}
@media (min-width:769px){.index-section{margin:75px 0}}
.text-center{text-align:center}

/* ======================= BOTONES ======================= */
.btn{display:inline-block;border:1px solid transparent;border-radius:var(--buttonRadius);
  background:var(--colorBtnPrimary);color:var(--colorBtnPrimaryText);
  font-family:var(--typeBasePrimary);font-weight:700;font-size:15px;letter-spacing:.3em;text-transform:uppercase;
  line-height:1.42;padding:13px 20px;text-align:center;white-space:nowrap;transition:background .2s}
.btn:hover{background:var(--colorBtnPrimaryLight)}
.btn--small{font-size:13px;padding:9px 17px}

/* ======================= ICONOS ======================= */
.icon{display:inline-block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;vertical-align:middle}
.icon--sm{width:16px;height:16px}

/* ======================= HEADER ======================= */
.header-wrapper{position:sticky;top:0;z-index:50;background:var(--colorNav)}
.site-header{background:var(--colorNav);color:var(--colorNavText);padding:7px 0}
.site-header__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:55px}
.site-header__logo{display:flex;justify-content:center;padding:0 10px}
.site-header__logo img{width:210px;height:auto}
.site-header__logo .logo-text{font-family:'Montserrat',serif;font-size:22px;letter-spacing:.02em;color:#000;line-height:1}
.site-header__icons{display:flex;justify-content:flex-end;align-items:center;gap:6px}
.site-header__icon{display:inline-flex;align-items:center;justify-content:center;padding:10px 11px;color:var(--colorNavText)}
.site-header__icon .icon{width:30px;height:30px;stroke-width:1.5px}
.site-nav{display:none}
.site-nav__item{display:inline-block}
.site-nav__link{display:block;padding:7.5px;font-family:var(--typeHeaderPrimary);font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:normal;line-height:1;color:var(--colorNavText);position:relative}
.site-nav__link::after{content:"";position:absolute;left:7.5px;right:7.5px;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .25s}
.site-nav__link:hover::after{transform:scaleX(1)}
.site-nav__link .icon{width:10px;height:10px;margin-left:4px;stroke-width:2.5px}
.site-nav--left{text-align:left}.site-nav--right{text-align:right}
.site-nav__dropdown{position:absolute;left:0;top:100%;min-width:200px;background:var(--colorNav);box-shadow:0 10px 20px rgba(0,0,0,.08);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s;text-align:left}
.site-nav__item--has-dropdown{position:relative}
.site-nav__item--has-dropdown:hover .site-nav__dropdown{opacity:1;visibility:visible;transform:none}
.site-nav__dropdown a{display:block;padding:8px 20px;font-family:var(--typeHeaderPrimary);font-size:12px;text-transform:uppercase}
.site-nav__dropdown a:hover{background:var(--colorBodyDim)}
@media (min-width:769px){
  .site-header__row{grid-template-columns:1fr auto 1fr}
  .site-nav{display:block}
  .site-header__mobile-nav{display:none!important}
  .site-header__row--split .site-nav--left{grid-column:1}
  .site-header__row--split .site-header__logo{grid-column:2}
  .site-header__row--split .site-header__right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:20px}
}

/* ======================= DRAWER MÓVIL ======================= */
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(85vw,350px);background:#fff;z-index:100;transform:translateX(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.drawer--right{left:auto;right:0;transform:translateX(100%)}
.drawer.is-open{transform:none}
.drawer__header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--colorBorder);font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-family:var(--typeHeaderPrimary)}
.drawer__body{overflow:auto;flex:1}
.mobile-nav a{display:block;padding:14px 17px;border-bottom:1px solid var(--colorBorder);font-family:var(--typeHeaderPrimary);font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.mobile-nav ul ul a{padding-left:34px;font-size:12px;text-transform:none;letter-spacing:.05em;font-family:var(--typeBasePrimary)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:.3s;z-index:90}
.drawer-backdrop.is-open{opacity:1;visibility:visible}
.cart-empty{padding:30px 17px;text-align:center;font-size:13.8px}
.cart-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px 17px;font-size:12px;text-align:center}
.cart-tiers span{background:var(--colorBodyDim);padding:8px 2px}
.cart-footer{border-top:1px solid var(--colorBorder);padding:17px}
.cart-footer .btn{width:100%}
.payment-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}
.payment-icons span{display:inline-block;width:38px;height:24px;border:1px solid var(--colorBorder);border-radius:3px;font-size:7px;line-height:22px;text-align:center;letter-spacing:0;color:#555;background:#fff}

/* ======================= BARRA DE ANUNCIOS ======================= */
.announcement-bar{background:var(--colorAnnouncement);color:var(--colorAnnouncementText);text-align:center;position:relative;overflow:hidden;min-height:38px}
.announcement-text{font-size:13px;letter-spacing:.05em;line-height:1.4;padding:10px 16px;position:absolute;inset:0;opacity:0;transition:opacity .5s}
.announcement-text.is-active{opacity:1;position:relative}

/* ======================= HERO ======================= */
.hero{position:relative;background:var(--colorLargeImageBg);color:var(--colorHeroText);overflow:hidden}
.hero__image{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
@media (min-width:769px){.hero__image{aspect-ratio:16/6}}
.hero__badge{position:absolute;top:28px;background:var(--colorHeroBadge);color:#fff;padding:12px 22px;text-align:center;
  font-family:var(--typeBasePrimary);text-transform:uppercase;letter-spacing:.06em;line-height:1.05;
  text-shadow:0 2px 6px rgba(0,0,0,.2)}
.hero__badge--left{left:17px}.hero__badge--right{right:17px;font-size:clamp(16px,2.4vw,26px);font-weight:400;padding:18px 24px}
.hero__badge--left .big{display:block;font-size:clamp(44px,8vw,96px);font-weight:700;letter-spacing:-.01em}
.hero__badge--left .small{display:block;font-size:clamp(18px,3vw,34px);font-weight:400;margin-top:4px}
.hero__tiers{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff;padding:3px 0 0}
.hero__tiers span{display:block;background:var(--colorAnnouncement);color:#fff;text-align:center;text-transform:uppercase;
  font-size:clamp(17px,2.4vw,30px);letter-spacing:.04em;padding:9px 6px}
.hero__tiers span b{font-weight:700}
@media (min-width:769px){.hero__tiers{grid-template-columns:repeat(4,1fr)}}

/* ======================= TEXTO ENRIQUECIDO ======================= */
.rte{font-size:13.8px;line-height:1.4;letter-spacing:.025em;color:var(--colorTextBody)}
.rte .rte__title{font-size:17.94px;font-weight:700;display:block;margin-bottom:15px;letter-spacing:.025em}
.rte strong{font-weight:700}
.rte em{font-style:italic}
.rich-text .page-width{max-width:900px}
@media (min-width:769px){.rte{font-size:15px}.rte .rte__title{font-size:19.5px}}

/* ======================= FILTRO / ORDEN ======================= */
.collection-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.collection-filter__item--drawer{display:flex}
.collection-filter__item--count{display:none;font-size:13px;color:var(--colorTextBody)}
.collection-filter__sort-container{position:relative}
.collection-filter__sort{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--colorBorder);padding:9px 40px 9px 10px;font-size:13.8px;letter-spacing:.025em;color:var(--colorTextBody);border-radius:0;min-width:200px;cursor:pointer}
.collection-filter__sort-container .icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:12px;height:12px;pointer-events:none;stroke-width:2.5px}
.btn--filter{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--colorBorder);padding:9px 14px;font-size:13.8px;background:#fff}
.btn--filter .icon{width:16px;height:16px}
@media (min-width:769px){
  .collection-filter{justify-content:flex-end}
  .collection-filter__item--count{display:block;margin-right:auto}
  .btn--filter{display:none}
}

/* ======================= GRID DE PRODUCTOS ======================= */
.grid{display:flex;flex-wrap:wrap;margin-left:calc(var(--gutter) * -1)}
.grid__item{padding-left:var(--gutter);width:100%}
.grid--uniform .grid__item{width:50%}
@media (min-width:769px){.grid--uniform .grid__item{width:25%}}
.grid-product{margin-bottom:15px;position:relative}
@media (min-width:769px){.grid-product{margin-bottom:30px}}
.grid-product__content{position:relative}
.grid-product__link{display:block}
.grid-product__image-mask{position:relative;overflow:hidden;background:var(--colorSmallImageBg)}
.grid__image-ratio{position:relative;padding-bottom:100%;overflow:hidden}
.grid__image-ratio img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.grid__image-ratio .grid-product__secondary-image{opacity:0}
@media (hover:hover){
  .grid-product__content:hover .grid-product__secondary-image{opacity:1}
  .grid-product__content:hover .grid-product__image{opacity:0}
}
.grid-product__tag{position:absolute;top:0;right:0;z-index:2;background:var(--colorSaleTag);color:var(--colorSaleTagText);font-size:9.75px;line-height:1;letter-spacing:.035em;padding:6px 5px 6px 7px}
.grid-product__tag--sold-out{background:transparent;color:#4a4a4a}
.grid-product__meta{text-align:center;padding:10px 0 0;font-size:12px}
.grid-product__title{font-size:12px;text-transform:uppercase;letter-spacing:.2em;line-height:1.3;color:var(--colorTextBody);margin-bottom:4px}
.grid-product__price{font-size:12.75px;letter-spacing:.027em;color:var(--colorPrice);line-height:1.3}
.grid-product__price--original{color:var(--colorSalePriceOld);text-decoration:line-through;margin-right:4px}
.grid-product__price--savings{color:var(--colorTextSavings);font-size:11px;display:block;margin-top:2px}
.quick-product__btn{position:absolute;left:50%;bottom:12px;transform:translate(-50%,10px);opacity:0;transition:.25s;background:#fff;color:var(--colorTextBody);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:10px 16px;white-space:nowrap;z-index:3}
@media (hover:hover){.grid-product__content:hover .quick-product__btn{opacity:1;transform:translate(-50%,0)}}

/* ======================= PAGINACIÓN ======================= */
.pagination{text-align:center;margin:30px 0 60px;display:flex;justify-content:center;align-items:center;gap:0}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;font-size:13.8px;letter-spacing:.025em}
.pagination .current{color:var(--colorTextBodyAlpha015)}
.pagination .next{background:var(--colorBtnPrimary);color:#fff}
.pagination .next .icon{width:12px;height:12px;stroke-width:3px}

/* ======================= BLOQUES DE CONFIANZA ======================= */
.trust{padding:30px 0 0}
.trust__inner{display:grid;grid-template-columns:1fr;gap:40px;text-align:center}
.trust__item{padding:0 24px}
.trust__item img,.trust__item .icon{width:60px;height:60px;margin:0 auto 14px;stroke-width:1.2px}
.trust__item .rte{font-size:13.8px}
.trust__item .trust__title{display:block;font-weight:700;font-size:15px;margin-bottom:10px;letter-spacing:.03em}
.trust__dots{display:flex;justify-content:center;gap:8px;margin:20px 0 25px}
.trust__dots span{width:7px;height:7px;border-radius:50%;background:var(--colorBorder)}
.trust__dots span.is-active{background:#9a9a9a}
@media (min-width:769px){
  .trust__inner{grid-template-columns:repeat(3,1fr);gap:30px}
  .trust__dots{display:none}
  .trust{padding:30px 0 40px}
}
@media (max-width:768px){.trust__item:not(:first-child){display:none}}

/* ======================= FOOTER ======================= */
.site-footer{background:var(--colorFooter);color:var(--colorFooterText);font-size:13.8px;letter-spacing:.025em}
.site-footer a{color:var(--colorFooterText)}
.footer__blocks{display:block}
.footer__item{border-bottom:1px solid rgba(0,0,0,.1)}
.footer__title{display:flex;align-items:center;justify-content:space-between;width:100%;padding:19px 17px;font-family:var(--typeHeaderPrimary);font-size:11.04px;letter-spacing:.3em;text-transform:uppercase;text-align:center;color:inherit}
.footer__title .icon{width:12px;height:12px;stroke-width:2px;transition:transform .3s}
.footer__title span{flex:1}
.footer__collapsible{max-height:0;overflow:hidden;transition:max-height .35s;padding:0 17px}
.footer__item.is-open .footer__collapsible{max-height:600px;padding-bottom:22px}
.footer__item.is-open .footer__title .icon{transform:rotate(180deg)}
.footer__collapsible .rte{font-size:13.8px;color:inherit}
.footer__collapsible .rte p{margin-bottom:12px}
.footer__collapsible ul li{margin:0 0 8px}
.footer__newsletter{display:flex;max-width:360px;margin:0 auto}
.footer__newsletter input{flex:1;border:1px solid #000;background:#fff;padding:11px 14px;font-size:13px;letter-spacing:.025em;min-width:0}
.footer__newsletter button{background:#000;color:#fff;padding:0 18px;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.footer__newsletter button .icon{width:16px;height:16px;stroke-width:1.6px}
.footer__base{padding:22px 17px 30px;text-align:center;font-size:11.5px;letter-spacing:.05em}
.footer__base .payment-icons{margin:0 0 14px}
.footer__base .payment-icons span{border-color:rgba(0,0,0,.15)}
@media (min-width:769px){
  .footer__blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:58px 0 20px}
  .footer__item{border:0}
  .footer__title{padding:0 0 14px;text-align:left;pointer-events:none}
  .footer__title .icon{display:none}
  .footer__collapsible{max-height:none;padding:0}
  .footer__newsletter{margin:0}
}

/* ======================= DEBUG / UTIL ======================= */
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:200}

/* ======================= HOME ======================= */
.hero-video{position:relative;background:var(--colorLargeImageBg);overflow:hidden}
.hero-video img,.hero-video video{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media (min-width:769px){.hero-video img,.hero-video video{aspect-ratio:16/7}}
.home-intro{text-align:center;max-width:900px;margin:0 auto}
.home-intro h1{font-size:26px;margin-bottom:22px}
@media (min-width:769px){.home-intro h1{font-size:34px}}
.home-intro .rte{font-size:13.8px}
@media (min-width:769px){.home-intro .rte{font-size:15px}}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.section-header h2{font-size:22px;margin:0}
.section-header .btn--link{font-size:11px;letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--colorTextBody);padding:9px 16px;font-weight:400}
.collection-cta{text-align:center;margin:10px 0 0}
.collection-cta .btn{font-weight:400;font-size:12px;letter-spacing:.3em;background:#fff;color:var(--colorTextBody);border:1px solid var(--colorTextBody)}
.image-text{display:grid;gap:30px;align-items:center}
.image-text img{width:100%;aspect-ratio:1/1;object-fit:cover}
.image-text .rte{text-align:center}
.image-text h2{font-size:22px;margin-bottom:18px}
@media (min-width:769px){.image-text{grid-template-columns:1fr 1fr;gap:60px}.image-text--left img{order:0}.image-text .rte{text-align:left}}
.social-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.social-strip::-webkit-scrollbar{display:none}
.social-strip img{width:150px;aspect-ratio:3/4;object-fit:cover;flex:none;border-radius:4px}
@media (min-width:769px){.social-strip img{width:calc((100% - 40px)/5)}}
.social-title{font-size:15px;font-weight:700;font-family:var(--typeBasePrimary);margin-bottom:12px}

/* ======================= COLLECTION HEADER ======================= */
.collection-hero{padding:30px 0 10px;text-align:center}
.collection-hero h1{font-size:22px;margin:0 0 8px}
.collection-hero .rte{max-width:700px;margin:0 auto}
.collection-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 10px}
.collection-nav a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--colorBorder)}
.collection-nav a.is-active{background:var(--colorTextBody);color:#fff;border-color:var(--colorTextBody)}

/* ======================= PDP ======================= */
.product-section{padding:24px 0 10px}
.product-layout{display:grid;gap:26px}
@media (min-width:769px){.product-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:60px;align-items:start}}
.product-gallery{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:769px){.product-gallery{grid-template-columns:70px 1fr}}
.product-thumbs{display:flex;gap:8px;order:2;overflow-x:auto}
@media (min-width:769px){.product-thumbs{flex-direction:column;order:0;overflow:visible}}
.product-thumbs img{width:60px;height:60px;object-fit:cover;flex:none;border:1px solid var(--colorBorder);cursor:pointer;opacity:.7}
.product-thumbs img.is-active{opacity:1;border-color:var(--colorTextBody)}
.product-main{position:relative;background:var(--colorSmallImageBg)}
.product-main img{width:100%;aspect-ratio:1/1;object-fit:cover}
.product-main .grid-product__tag{font-size:10px;padding:7px 8px}
.product-stock{position:absolute;top:10px;left:10px;background:#fff;font-size:10px;letter-spacing:.1em;padding:5px 8px;color:#c22626}
.product-rating{font-size:11px;letter-spacing:.05em;color:var(--colorTextBody);margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.stars{color:#e6a93a;letter-spacing:1px;font-size:13px}
.product-title{font-size:22px;line-height:1.15;margin-bottom:10px;font-weight:400}
@media (min-width:769px){.product-title{font-size:26px}}
.product-price{font-size:17px;margin-bottom:22px}
.product-price .was{color:var(--colorSalePriceOld);text-decoration:line-through;margin-right:8px;font-size:15px}
.product-usps{margin:0 0 22px;display:grid;gap:9px}
.product-usps li{display:flex;align-items:center;gap:10px;font-size:13px}
.product-usps .icon{width:18px;height:18px;stroke-width:1.5px;flex:none}
.variant-label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:8px}
.variant-pill{display:inline-block;border:1px solid var(--colorTextBody);padding:8px 12px;font-size:12px;margin-bottom:16px}
.stock-line{font-size:12px;color:#c22626;margin:0 0 16px;display:flex;align-items:center;gap:6px}
.stock-line::before{content:"";width:8px;height:8px;border-radius:50%;background:#c22626;display:inline-block}
.add-to-cart{width:100%;font-size:12px;letter-spacing:.3em;padding:15px 20px;margin-bottom:12px;background:#000}
.product-payments{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:26px}
.product-payments span{display:inline-block;width:38px;height:24px;border:1px solid var(--colorBorder);border-radius:3px;font-size:7px;line-height:22px;text-align:center;letter-spacing:0;color:#555;background:#fff}
.upsell{margin-bottom:24px}
.upsell__head{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:700}
.upsell__head .pill{background:#704417;color:#fff;font-size:9px;letter-spacing:.1em;padding:4px 8px;border-radius:3px;font-weight:700}
.upsell__list{display:grid;gap:8px}
.upsell__item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;border:1px solid var(--colorBorder);border-radius:6px;padding:8px 10px;font-size:12px}
.upsell__item img{width:48px;height:48px;object-fit:cover;border-radius:4px}
.upsell__item .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.upsell__item .p{font-size:11px}
.upsell__item .p s{color:var(--colorSalePriceOld);margin-left:4px}
.upsell__item button{background:var(--colorTextBody);color:#fff;font-size:11px;padding:7px 10px;border-radius:4px;letter-spacing:.02em}
.discount-box{background:#f7f2ea;border:1px solid #e5d8c3;border-radius:6px;padding:16px 18px;text-align:center;font-size:12px;margin-bottom:26px}
.discount-box h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--typeBasePrimary);font-weight:700;margin:0 0 10px}
.discount-box p{margin:0 0 5px}
.product-desc{font-size:13.8px;margin-top:26px}
.product-desc p{margin-bottom:12px}
.collapsible{border-top:1px solid var(--colorBorder)}
.collapsible:last-child{border-bottom:1px solid var(--colorBorder)}
.collapsible__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:11px;letter-spacing:.3em;text-transform:uppercase;text-align:left}
.collapsible__trigger .icon{width:12px;height:12px;transition:transform .3s}
.collapsible.is-open .collapsible__trigger .icon{transform:rotate(180deg)}
.collapsible__content{display:none;padding:0 0 16px;font-size:13.8px}
.collapsible.is-open .collapsible__content{display:block}
.proof-line{display:flex;align-items:center;gap:12px;margin:22px 0;font-size:13px}
.proof-line .avatars{display:flex}
.proof-line .avatars img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-8px}
.proof-line .avatars img:first-child{margin-left:0}

/* ======================= PDP · 4 MOTIVOS ======================= */
.reasons{background:#f7f2ea;padding:50px 0}
.reasons h2{text-align:center;font-size:24px;margin-bottom:34px}
.reasons__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (min-width:769px){.reasons__grid{grid-template-columns:repeat(4,1fr);gap:20px}}
.reason{background:#fff;text-align:center;padding-bottom:16px}
.reason img{width:100%;aspect-ratio:1/1;object-fit:cover}
.reason h3{font-family:Georgia,serif;font-size:15px;font-weight:700;margin:16px 14px 8px;line-height:1.3}
.reason p{font-size:12.5px;margin:0 14px;line-height:1.5}

/* ======================= TESTIMONIOS ======================= */
.reviews{background:#f7f2ea;padding:50px 0}
.reviews h2{text-align:center;font-size:20px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}
.reviews__sub{text-align:center;font-size:13px;margin-bottom:26px}
.reviews__sub .stars{font-size:16px;display:block;margin:4px 0}
.reviews__track{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}
.reviews__track::-webkit-scrollbar{display:none}
.review{flex:0 0 260px;background:#fff;border-radius:6px;overflow:hidden;scroll-snap-align:start;text-align:center;padding-bottom:18px}
@media (min-width:769px){.review{flex-basis:calc((100% - 48px)/4)}}
.review img{width:100%;aspect-ratio:4/3;object-fit:cover}
.review .stars{display:block;margin:14px 0 8px}
.review p{font-size:12.5px;padding:0 16px;margin:0 0 10px;line-height:1.5}
.review .who{font-size:11px;letter-spacing:.05em}

/* ======================= VS ======================= */
.vs{padding:50px 0}
.vs h2{text-align:center;font-family:Georgia,serif;font-size:26px;font-weight:700;margin-bottom:34px}
.vs h2 em{color:#a3672e;font-style:italic}
.vs__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:900px;margin:0 auto}
.vs__col{border-radius:8px;padding:24px 10px;text-align:center}
.vs__col--us{background:#a3672e;color:#fff}
.vs__col--them{background:#fff;border:1px solid var(--colorBorder);color:#704417}
.vs__col h3{font-family:var(--typeBasePrimary);font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:22px}
.vs__col li{font-size:12px;margin:0 0 18px;display:flex;flex-direction:column;align-items:center;gap:8px}
.vs__col .icon{width:20px;height:20px;stroke-width:1.5px}

/* ======================= FAQ ======================= */
.faq{padding:30px 0 50px;max-width:800px;margin:0 auto}
.faq h2{text-align:center;font-size:24px;margin-bottom:26px}
.faq .collapsible__trigger{font-size:14px;letter-spacing:.01em;text-transform:none;font-weight:400}

/* ======================= PÁGINAS GENÉRICAS ======================= */
.page-content{max-width:800px;margin:0 auto;padding:40px 17px 60px}
.page-content h1{font-size:28px;margin-bottom:20px;text-align:center}
.page-content h2{font-size:20px;margin:36px 0 14px}
.page-content h3{font-size:16px;font-family:var(--typeBasePrimary);font-weight:700;margin:22px 0 8px}
.page-content p,.page-content li{font-size:14px;line-height:1.6}
.page-content ul,.page-content ol{padding-left:22px;margin-bottom:16px}
.page-content ol li,.page-content ul li{list-style:inherit;margin-bottom:6px}
.page-content blockquote{border-left:3px solid #d1e0d9;padding:4px 0 4px 18px;margin:24px 0;font-style:italic;color:#444}
.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#a3672e;text-align:center;margin-bottom:10px}
.page-content h1 em{font-style:italic;color:#a3672e}
.care-methods{display:grid;gap:16px;margin:20px 0}
@media (min-width:769px){.care-methods{grid-template-columns:repeat(3,1fr)}}
.care-method{border:1px solid var(--colorBorder);padding:22px 20px;background:#fff}
.care-method .num{font-size:11px;letter-spacing:.3em;color:#a3672e;margin-bottom:6px}
.care-method h3{margin:0 0 4px}
.care-method .tag{font-size:11px;color:#777;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
.chips span{border:1px solid var(--colorBorder);padding:7px 12px;font-size:12px;border-radius:30px}
.page-cta{text-align:center;background:#f7f2ea;padding:40px 20px;margin-top:40px}
.page-cta h2{margin:0 0 10px}
.page-cta .btn{margin-top:14px}
.page-cta small{display:block;margin-top:12px;font-size:12px;color:#555}
.contact-grid{display:grid;gap:30px}
@media (min-width:769px){.contact-grid{grid-template-columns:1fr 1fr}}
.form-field{display:grid;gap:6px;margin-bottom:14px}
.form-field label{font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.form-field input,.form-field textarea{border:1px solid var(--colorBorder);padding:12px;font-size:14px;width:100%;background:#fff}
.form-field textarea{min-height:140px;resize:vertical}

/* ======================= PACKS (BUNDLE) ======================= */
.bundle-hero{display:grid;gap:26px;align-items:center;padding:30px 0}
@media (min-width:769px){.bundle-hero{grid-template-columns:1fr 1fr;gap:50px;padding:50px 0}}
.bundle-hero__text{text-align:center}
.bundle-hero h1{font-size:30px;margin:8px 0 14px}
@media (min-width:769px){.bundle-hero h1{font-size:36px}}
.bundle-hero .lead{font-size:18px;margin-bottom:10px}
.bundle-hero .lead b{color:#a3672e;font-weight:700}
.bundle-hero .rte{font-size:13.8px;max-width:420px;margin:0 auto 20px}
.bundle-slider{position:relative;overflow:hidden}
.bundle-slider img{width:100%;aspect-ratio:4/3;object-fit:cover;display:none}
.bundle-slider img.is-active{display:block}
.bundle-slider .cap{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.9);font-family:Georgia,serif;font-size:15px;padding:8px 14px}
.bundle-slider button{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);font-size:18px;line-height:34px}
.bundle-slider .prev{left:10px}.bundle-slider .next{right:10px}
.bundle-story{background:#f7f2ea;padding:50px 0;text-align:center}
.bundle-story h2{font-size:26px;max-width:800px;margin:0 auto 20px}
.bundle-story .rte{max-width:720px;margin:0 auto}
.bundle-metal{text-align:center;padding:50px 0}
.bundle-metal img{width:min(100%,520px);aspect-ratio:1/1;object-fit:cover;margin:0 auto 26px}
.bundle-metal h2{font-size:24px;max-width:700px;margin:0 auto 14px}
.bundle-metal .rte{max-width:700px;margin:0 auto 18px}
.benefit-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 26px}
.benefit-chips span{background:#f7f2ea;padding:9px 14px;font-size:13px;border-radius:30px}
.trust-quote{background:#f7f2ea;padding:40px 20px;text-align:center}
.trust-quote .head{font-size:16px;font-weight:700;margin-bottom:8px}
.trust-quote .sub{font-size:13px;margin-bottom:18px}
.trust-quote blockquote{max-width:640px;margin:0 auto 18px;font-size:16px;line-height:1.5;font-style:italic}
.how{padding:50px 0;text-align:center}
.how h2{font-size:26px;margin-bottom:22px}
.how ol{max-width:520px;margin:0 auto 24px;padding:0;counter-reset:s}
.how ol li{list-style:none;font-size:15px;margin-bottom:14px;display:flex;gap:12px;align-items:center;text-align:left}
.how ol li::before{counter-increment:s;content:counter(s);background:var(--colorTextBody);color:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:13px}
.why{background:#f7f2ea;padding:50px 0;text-align:center}
.why h2{font-size:26px;margin-bottom:26px}
.why__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto}
@media (min-width:769px){.why__grid{grid-template-columns:repeat(4,1fr)}}
.why__item .em{font-size:30px;margin-bottom:8px}
.why__item h3{font-family:var(--typeBasePrimary);font-size:14px;font-weight:700;margin:0 0 4px}
.why__item p{font-size:12.5px;margin:0}
.picker{padding:50px 0 70px}
.picker__head{text-align:center;margin-bottom:26px}
.picker__head .pill{display:inline-block;background:var(--colorAnnouncement);font-size:11px;letter-spacing:.1em;padding:6px 12px;border-radius:30px;margin-bottom:12px}
.picker__head h2{font-size:26px;margin:0 0 10px}
.picker__head p{font-size:13.8px}
.picker__count{text-align:center;font-size:12px;letter-spacing:.05em;margin-bottom:16px}
.picker__layout{display:grid;gap:24px;align-items:start}
@media (min-width:900px){.picker__layout{grid-template-columns:1fr 300px}}
.picker__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:769px){.picker__grid{grid-template-columns:repeat(3,1fr)}}
.pick{border:1px solid #eee;background:#fff;padding:0 0 10px;display:flex;flex-direction:column}
.pick img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pick .t{font-size:12px;font-weight:700;padding:10px 10px 8px;flex:1}
.pick button{margin:0 10px;background:var(--colorAnnouncement);color:#33453c;border:1px solid #b3c8bd;border-radius:4px;padding:8px;font-size:12px}
.pick button.is-selected{background:var(--colorTextBody);color:#fff;border-color:var(--colorTextBody)}
.picker__summary{position:sticky;top:90px;background:#faf8f5;border:1px solid #eee;border-radius:8px;padding:16px}
.picker__summary .row{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:6px}
.picker__summary .row .price{color:#2f7a3a}
.picker__summary .note{font-size:12px;margin-bottom:12px}
.picker__slots{display:flex;gap:6px;margin-bottom:12px}
.picker__slots span{flex:1;aspect-ratio:1/1;background:var(--colorAnnouncement);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#6a8c7c;font-size:18px;overflow:hidden}
.picker__slots img{width:100%;height:100%;object-fit:cover}
.picker__summary .btn{width:100%;font-size:12px;letter-spacing:.05em;padding:11px;border-radius:5px;background:#eee;color:#aaa;font-weight:400}
.picker__summary .btn.is-ready{background:#000;color:#fff}

/* ======================= CARRITO (página) ======================= */
.cart-page{max-width:900px;margin:0 auto;padding:40px 17px 60px}
.cart-page h1{font-size:28px;text-align:center;margin-bottom:26px}
.cart-row{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--colorBorder);font-size:13.8px}
.cart-row img{width:80px;height:80px;object-fit:cover}
.cart-row .qty{display:inline-flex;border:1px solid var(--colorBorder)}
.cart-row .qty button{width:30px;height:30px}
.cart-row .qty span{width:34px;text-align:center;line-height:30px}
.cart-total{display:flex;justify-content:space-between;font-size:16px;padding:20px 0;font-weight:700}
.cart-tier-msg{background:#f7f2ea;padding:12px 16px;font-size:13px;margin:10px 0 20px;text-align:center}
.cart-count{position:absolute;top:6px;right:4px;background:var(--colorCartDot);color:#fff;font-size:9px;width:16px;height:16px;border-radius:50%;display:none;align-items:center;justify-content:center}
.cart-count.is-on{display:inline-flex}
.site-header__icon{position:relative}
.cart-drawer-item{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:12px 17px;border-bottom:1px solid var(--colorBorder);font-size:12.5px;align-items:center}
.cart-drawer-item img{width:64px;height:64px;object-fit:cover}
.cart-drawer-item .rm{font-size:11px;text-decoration:underline;color:#777}

/* ===== iconos de pago reales (SVG) ===== */
.payment-icons,.product-payments{display:flex;flex-wrap:wrap;gap:6px}
.product-payments{margin-bottom:26px}
@media(min-width:769px){.product-payments{justify-content:center}}
.payment-icons{justify-content:center;margin-top:12px}
.payment-icons svg,.product-payments svg{width:38px;height:24px;border-radius:3px;display:block}

/* ===== drawer del carrito ===== */
.drawer__count{opacity:.6;letter-spacing:.1em}
.cart-timer{background:#fff7ec;color:#704417;font-size:12px;text-align:center;padding:10px 17px;border-bottom:1px solid var(--colorBorder)}
.cart-timer strong{font-variant-numeric:tabular-nums}
.cart-upsell{padding:16px 12px 6px;border-top:1px solid var(--colorBorder);margin-top:8px}
.cart-upsell h3{font-size:11px;letter-spacing:.25em;text-transform:uppercase;text-align:center;margin:0 0 12px;font-weight:500}
.cart-upsell__carousel{display:flex;align-items:center;gap:4px}
.cart-upsell__nav{background:none;border:1px solid var(--colorBorder);width:26px;height:26px;border-radius:50%;font-size:16px;line-height:1;flex:0 0 26px;cursor:pointer;color:var(--colorTextBody)}
.cart-upsell__track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;padding-bottom:4px}
.cart-upsell__track::-webkit-scrollbar{display:none}
.cart-upsell__item{flex:0 0 118px;scroll-snap-align:start;text-align:center;font-size:11px}
.cart-upsell__item img{width:118px;height:118px;object-fit:cover;display:block;margin-bottom:6px}
.cart-upsell__item .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-upsell__item .p s{color:var(--colorSalePriceOld);margin-left:4px;font-size:10px}
.cart-upsell__item button{background:var(--colorTextBody);color:#fff;font-size:10px;padding:7px 8px;width:100%;margin-top:6px;letter-spacing:.05em;cursor:pointer;border:0}
.cart-footer .btn.is-disabled{opacity:.5;pointer-events:none}

/* ===== sticky añadir al carrito (PDP) ===== */
.sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--colorBorder);display:flex;align-items:center;gap:12px;padding:10px var(--gutter);transform:translateY(110%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 20px rgba(0,0,0,.08)}
.sticky-atc.is-visible{transform:none}
.sticky-atc img{width:48px;height:48px;object-fit:cover;flex:0 0 48px}
.sticky-atc__info{flex:1;min-width:0;font-size:12px;line-height:1.35}
.sticky-atc__info .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-atc__info .p s{color:var(--colorSalePriceOld);margin-right:6px}
.sticky-atc .btn{font-size:11px;letter-spacing:.2em;padding:13px 20px;background:#000;white-space:nowrap}
@media(max-width:600px){.sticky-atc .btn{padding:12px 14px;letter-spacing:.1em}}

/* ===== página de checkout (embed de Whop) ===== */
body.ck{background:#fff}
.ck-header{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px var(--gutter);border-bottom:1px solid var(--colorBorder)}
.ck-header .logo-text{display:block;text-align:center}
.ck-header .logo-text small{display:block;font-size:7px;letter-spacing:.3em;text-transform:uppercase;margin-top:3px;color:#444}
.ck-secure{font-size:11px;color:#555;display:flex;align-items:center;gap:6px}
.ck-secure .icon{width:14px;height:14px}
.ck-usps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:12px var(--gutter);font-size:12px;background:var(--colorBodyLightDim);border-bottom:1px solid var(--colorBorder)}
.ck-usps span{display:flex;align-items:center;gap:6px}
.ck-usps .icon{width:16px;height:16px}
.ck-layout{display:grid;gap:30px;padding:26px var(--gutter) 40px;max-width:1100px;margin:0 auto}
@media(min-width:900px){.ck-layout{grid-template-columns:1.25fr .75fr;gap:44px}}
.ck-main h3,.ck-aside h3{font-size:11px;letter-spacing:.25em;text-transform:uppercase;margin:0 0 12px;font-weight:500}
.ck-summary{border:1px solid var(--colorBorder);padding:16px;margin-bottom:20px}
.ck-line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;font-size:13px;padding:8px 0;border-bottom:1px solid var(--colorBorder)}
.ck-line img{width:56px;height:56px;object-fit:cover}
.ck-line .q{color:#555;font-size:12px}
.ck-totals{font-size:13px;padding-top:10px}
.ck-totals div{display:flex;justify-content:space-between;padding:3px 0}
.ck-totals .disc{color:var(--colorTextSavings)}
.ck-totals .tot{font-weight:700;font-size:15px;border-top:1px solid var(--colorBorder);margin-top:6px;padding-top:8px}
.ck-totals .note{display:block;font-size:11px;color:#666;padding-top:6px}
.ck-embed{min-height:520px}
.ck-skeleton{height:520px;background:linear-gradient(90deg,#f2f2f2 25%,#fafafa 50%,#f2f2f2 75%);background-size:200% 100%;animation:ckshimmer 1.4s infinite}
@keyframes ckshimmer{to{background-position:-200% 0}}
.ck-guar{display:grid;gap:14px;margin-bottom:30px}
.ck-guar>div{display:flex;gap:12px;font-size:13px;line-height:1.45}
.ck-guar .icon{flex:0 0 22px;width:22px;height:22px;margin-top:2px}
.ck-reviews .review{flex:none;width:100%;margin-bottom:12px;padding:14px 16px;text-align:left;border:1px solid var(--colorBorder);border-radius:6px}
.ck-reviews .review .stars{font-size:13px;color:#e0a100}
.ck-reviews .review p{font-size:13px;margin:6px 0 8px}
.ck-reviews .review .who{font-size:11px;color:#666}
.ck-bottom{background:#f7f2ea;padding:36px var(--gutter);text-align:center;font-size:13px}
.ck-bottom h3{font-size:16px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px}
.ck-bottom p{max-width:560px;margin:0 auto 14px}
.ck-bottom .proof-line{justify-content:center}
.ck-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px;font-size:11px}
.ck-links a{text-decoration:underline;color:#555}

/* ===== gracias ===== */
.thanks{max-width:620px;margin:60px auto;text-align:center;padding:0 var(--gutter)}
.thanks h1{font-size:26px;margin-bottom:14px}
.thanks p{margin-bottom:22px}

/* contador del announcement bar */
.announcement-text .ann-count{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.08em;margin-left:4px}

/* hero de colección en móvil: el badge derecho baja para no pisar al "-70%" */
@media(max-width:768px){
  .hero__badge{top:14px;padding:10px 14px}
  .hero__badge--left{left:14px}
  .hero__badge--left .big{font-size:clamp(32px,10vw,44px)}
  .hero__badge--left .small{font-size:clamp(12px,3.6vw,16px)}
  .hero__badge--right{top:auto;bottom:14px;right:14px;left:auto;font-size:clamp(13px,4vw,17px);padding:10px 14px;line-height:1.25}
}
