/* ============================================================
   DISAYEN LUXE — sistema de diseño
   Quiet luxury botánico · salvia #858b6e + crema + carbón
   ============================================================ */
:root{
  --sage:#858b6e; --sage-deep:#6c7157; --sage-soft:#a7ac93;
  --ink:#1c1c18; --ink-soft:#4a4a42;
  --cream:#f6f1e9; --cream-2:#faf7f1; --white:#ffffff;
  --bronze:#a7906a; --line:#e6e0d2; --muted:#63604f;

  --serif:'Bodoni Moda', 'Cormorant Garamond', Georgia, serif;
  --serif-2:'Bodoni Moda', Georgia, serif;
  --sans:'Montserrat', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;

  --container:1320px; --gutter:clamp(20px,5vw,64px);
  --space:clamp(64px,9vw,140px);
  --ease:cubic-bezier(.16,.84,.44,1);
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--sans); font-weight:400; font-size:16px; line-height:1.75;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none; transition:color .3s var(--ease);}
a:hover{color:var(--sage);}
::selection{background:var(--sage); color:#fff;}
h1,h2,h3,h4{font-family:var(--serif); font-weight:500; color:var(--ink); line-height:1.1; margin:0 0 .4em;}
p{margin:0 0 1.2em;}

.container{max-width:var(--container); margin:0 auto; padding-inline:var(--gutter);}
.section{padding-block:var(--space);}
.eyebrow{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--sage); display:inline-block; margin-bottom:22px;}
.section-title{font-size:clamp(2rem,4vw,3.4rem); letter-spacing:.01em;}
.center{text-align:center;}
.rule{width:46px; height:1px; background:var(--sage); margin:20px auto 0;}
.lead{font-size:clamp(1rem,1.3vw,1.16rem); color:var(--ink-soft); max-width:44ch;}

/* -------- Botones -------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--sans); font-size:11.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  padding:17px 40px; border:1px solid var(--ink); background:var(--ink); color:var(--cream);
  border-radius:1px; cursor:pointer; transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);
}
.btn:hover{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn--ghost{background:transparent; color:var(--ink);}
.btn--ghost:hover{background:var(--ink); color:var(--cream);}
.btn--light{background:var(--cream); color:var(--ink); border-color:var(--cream);}
.btn--light:hover{background:transparent; color:var(--cream); border-color:var(--cream);}
.btn--outline-light{background:transparent; color:var(--cream); border-color:rgba(246,241,233,.6);}
.btn--outline-light:hover{background:var(--cream); color:var(--ink); border-color:var(--cream);}
.link-underline{font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; border-bottom:1px solid var(--sage); padding-bottom:4px;}
.link-underline:hover{color:var(--sage);}

/* ============================================================
   HEADER
   ============================================================ */
.dy-topbar{background:var(--ink); color:var(--cream); text-align:center; font-size:11px; letter-spacing:.16em; text-transform:uppercase; padding:9px 16px; margin:0;}
.dy-topbar a{color:var(--bronze);}

.dy-headwrap{position:sticky; top:0; z-index:100;}
.dy-header{transition:background .4s var(--ease),box-shadow .4s var(--ease),color .4s var(--ease); position:relative;}
.dy-header__inner{display:grid; grid-template-columns:auto 1fr auto; align-items:center; height:var(--header-h); gap:20px;}
.dy-nav{display:flex; align-items:center; justify-content:center;}
.dy-nav__list{display:flex; gap:28px; align-items:center; list-style:none; margin:0; padding:0; flex-wrap:nowrap; white-space:nowrap;}
.dy-nav__list li{list-style:none; margin:0; padding:0;}
.dy-nav a{font-family:var(--sans); font-size:12px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;}
.dy-mobile__list{list-style:none; margin:0; padding:0;}
.dy-mobile__list li{list-style:none;}
/* Skip link accesible */
.dy-skip{position:absolute; left:-9999px; top:0; z-index:1000; background:var(--ink); color:var(--cream); padding:12px 20px; font-family:var(--sans); font-size:12px; letter-spacing:.08em; border-radius:2px;}
.dy-skip:focus{left:12px; top:12px;}
:focus-visible{outline:2px solid var(--sage); outline-offset:3px;}
.dy-brand{display:flex; align-items:center; justify-content:flex-start;}
.dy-brand .dy-logo{height:clamp(30px,3vw,42px); width:auto; display:block;}
.dy-brand .dy-logo--light{display:none;}
.dy-headwrap.is-transparent .dy-brand .dy-logo--dark{display:none;}
.dy-headwrap.is-transparent .dy-brand .dy-logo--light{display:block;}
.dy-actions{display:flex; gap:22px; align-items:center; justify-content:flex-end;}
.dy-actions a{position:relative; display:inline-flex;}
.dy-actions svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.4;}
.dy-cart-count{position:absolute; top:-8px; right:-10px; background:var(--sage); color:#fff; font-family:var(--sans); font-size:10px; font-weight:600; min-width:17px; height:17px; border-radius:50%; display:flex; align-items:center; justify-content:center; letter-spacing:0;}
.dy-burger{display:none; background:none; border:0; cursor:pointer; padding:6px; color:inherit;}
.dy-burger span{display:block; width:24px; height:1.5px; background:currentColor; margin:5px 0; transition:.3s var(--ease);}

/* --- Estado TRANSPARENTE (sobre el hero en portada) --- */
.dy-headwrap.is-transparent{position:fixed; left:0; right:0; top:0;}
.dy-headwrap.is-transparent .dy-header{background:transparent; color:var(--cream);}
/* Velo degradado tras la nav para legibilidad sobre imágenes claras */
.dy-headwrap.is-transparent .dy-header::before{content:""; position:absolute; left:0; right:0; top:0; height:230%; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(20,19,16,.55) 0%, rgba(20,19,16,.28) 55%, rgba(20,19,16,0) 100%);}
.dy-headwrap.is-transparent .dy-header__inner{position:relative; z-index:1;}
.dy-headwrap.is-transparent .dy-nav a,
.dy-headwrap.is-transparent .dy-brand,
.dy-headwrap.is-transparent .dy-actions{text-shadow:0 1px 16px rgba(20,19,16,.5);}
.dy-headwrap.is-transparent .dy-cart-count{background:var(--cream); color:var(--ink);}

/* --- Estado SÓLIDO --- */
.dy-headwrap.is-solid{position:sticky;}
.dy-headwrap.is-solid .dy-header{background:var(--cream); color:var(--ink); box-shadow:0 1px 0 var(--line);}
.dy-headwrap.is-solid .dy-brand,.dy-headwrap.is-solid .dy-nav a{color:var(--ink);}

/* Menú móvil */
.dy-mobile{position:fixed; inset:0; background:var(--cream); z-index:200; transform:translateX(100%); transition:transform .5s var(--ease); display:flex; flex-direction:column; padding:32px var(--gutter);}
.dy-mobile.open{transform:none;}
.dy-mobile__top{display:flex; justify-content:space-between; align-items:center;}
.dy-mobile nav{display:flex; flex-direction:column; gap:6px; margin-top:40px;}
.dy-mobile nav a{font-family:var(--serif); font-size:30px; padding:10px 0; border-bottom:1px solid var(--line);}
.dy-close{background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--ink);}

/* ============================================================
   HERO
   ============================================================ */
.dy-hero{position:relative; min-height:100vh; display:flex; align-items:flex-end; color:var(--cream); overflow:hidden;}
.dy-hero__media{position:absolute; inset:0; z-index:-2;}
.dy-hero__media img{position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; transform:scale(1.04); animation:heroZoom 12s ease-out forwards;}
.dy-hero__video{position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; opacity:1; pointer-events:none; animation:heroFade 1.1s var(--ease) both;}
@keyframes heroFade{from{opacity:.35}to{opacity:1}}
/* Oculta el botón de play nativo que iOS/Safari pinta sobre el vídeo de fondo */
.dy-hero__video::-webkit-media-controls,
.dy-hero__video::-webkit-media-controls-start-playback-button,
.dy-hero__video::-webkit-media-controls-play-button,
.dy-hero__video::-webkit-media-controls-panel,
.dy-hero__video::-webkit-media-controls-overlay-play-button{display:none !important; -webkit-appearance:none; opacity:0 !important;}
/* Velo lateral izquierdo para legibilidad del texto sobre zonas claras del vídeo */
.dy-hero::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(20,19,16,.5) 0%,rgba(20,19,16,.22) 38%,rgba(20,19,16,0) 68%);}
@keyframes heroZoom{to{transform:scale(1);}}
.dy-hero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(20,19,16,.28) 0%,rgba(20,19,16,.05) 35%,rgba(20,19,16,.55) 100%);}
.dy-hero__inner{padding-top:clamp(130px,20vh,180px); padding-bottom:clamp(110px,15vh,170px); max-width:780px;}
/* Pantallas de escritorio bajas: compactar el hero para que no choque con la cabecera */
@media (min-width:861px) and (max-height:760px){
  .dy-hero__title{font-size:clamp(2.2rem,5.4vh,4rem);}
  .dy-hero__text{margin-bottom:1.3em; font-size:1rem;}
  .dy-hero__inner{padding-top:120px; padding-bottom:64px;}
  .dy-hero .eyebrow{margin-bottom:12px;}
  .dy-hero__scroll{display:none;}
}
.dy-hero .eyebrow{color:var(--bronze);}
.dy-hero__title{font-size:clamp(2.8rem,6.6vw,6rem); line-height:1.02; color:var(--cream); letter-spacing:.005em; margin-bottom:.3em; text-wrap:balance;}
.dy-hero__text{font-size:clamp(1rem,1.4vw,1.2rem); max-width:46ch; color:rgba(246,241,233,.9); margin-bottom:2em;}
.dy-hero__cta{display:flex; gap:16px; flex-wrap:wrap;}
.dy-hero__scroll{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:rgba(246,241,233,.75); display:flex; flex-direction:column; align-items:center; gap:10px;}
.dy-hero__scroll::after{content:""; width:1px; height:42px; background:rgba(246,241,233,.5); animation:scrollCue 2s var(--ease) infinite;}
@keyframes scrollCue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.1%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.dy-trust{border-block:1px solid var(--line); background:var(--cream-2);}
.dy-trust__grid{display:grid; grid-template-columns:repeat(4,1fr);}
.dy-trust__item{text-align:center; padding:30px 20px; border-left:1px solid var(--line);}
.dy-trust__item:first-child{border-left:0;}
.dy-trust__item strong{display:block; font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-bottom:5px;}
.dy-trust__item span{font-size:12.5px; color:var(--muted);}

/* ============================================================
   TARJETAS DE CATEGORÍA
   ============================================================ */
.dy-cats{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,28px); margin-top:56px;}
.dy-cat{position:relative; display:block; overflow:hidden; aspect-ratio:3/4; background:var(--ink);}
.dy-cat img{width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); opacity:.92;}
.dy-cat:hover img{transform:scale(1.06);}
.dy-cat__label{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; text-align:center; padding-bottom:34px; color:var(--cream); background:linear-gradient(180deg,transparent 45%,rgba(20,19,16,.5));}
.dy-cat__label h3{color:var(--cream); font-size:1.7rem; margin:0;}
.dy-cat__label span{font-family:var(--sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; opacity:.85; margin-top:8px;}
.dy-cat__label span::after{content:""; display:block; width:0; height:1px; background:var(--cream); margin:12px auto 0; transition:width .5s var(--ease);}
.dy-cat:hover .dy-cat__label span::after{width:34px;}

/* ============================================================
   REJILLA DE PRODUCTOS (home + tienda)
   ============================================================ */
.dy-products{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.4vw,36px) clamp(14px,1.8vw,26px); margin-top:56px; list-style:none; padding:0;}
.dy-product{text-align:center;}
.dy-product__media{position:relative; overflow:hidden; aspect-ratio:3/4; background:var(--cream-2); margin-bottom:18px; display:block;}
.dy-product__media img{width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease), opacity .6s var(--ease);}
.dy-product:hover .dy-product__media img{transform:scale(1.05);}
.dy-product__badge{position:absolute; top:14px; left:14px; width:52px; height:52px; border-radius:50%; background:var(--sage); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--sans); font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;}
.dy-product__add{position:absolute; left:16px; right:16px; bottom:16px; opacity:0; transform:translateY(12px); transition:.45s var(--ease); font-size:10.5px; padding:14px;}
.dy-product__media:hover .dy-product__add{opacity:1; transform:none;}
.dy-product__title{font-family:var(--serif); font-size:1.12rem; font-weight:500; margin:0 0 .3em; line-height:1.25;}
.dy-product__cat{font-family:var(--sans); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:8px;}
.dy-product__price,.dy-product .price{font-family:var(--sans); font-weight:500; color:var(--sage); font-size:.98rem;}
.dy-product .price del{color:#b9b3a4; margin-right:6px;}
.dy-product .price ins{text-decoration:none;}

/* ============================================================
   EDITORIAL SPLIT
   ============================================================ */
.dy-editorial{display:grid; grid-template-columns:1.1fr .9fr; align-items:stretch;}
.dy-editorial__media{min-height:520px; background-size:cover; background-position:center;}
.dy-editorial__body{background:var(--sage); color:var(--cream); display:flex; flex-direction:column; justify-content:center; padding:clamp(40px,6vw,90px);}
.dy-editorial__body .eyebrow{color:rgba(246,241,233,.85);}
.dy-editorial__body h2{color:var(--cream); font-size:clamp(1.8rem,3.2vw,3rem); font-family:var(--serif-2); font-weight:500;}
.dy-editorial__body p{color:rgba(246,241,233,.92); font-size:1.05rem;}
.dy-editorial__body .link-underline{border-color:var(--cream); color:var(--cream); align-self:flex-start; margin-top:14px;}

/* ============================================================
   COLECCIONES (trío)
   ============================================================ */
.dy-collections{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,26px); margin-top:56px;}
.dy-coll{position:relative; overflow:hidden; aspect-ratio:4/5; display:block; color:var(--cream);}
.dy-coll img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.dy-coll:hover img{transform:scale(1.05);}
.dy-coll__cap{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:rgba(20,19,16,.22); transition:background .5s var(--ease);}
.dy-coll:hover .dy-coll__cap{background:rgba(20,19,16,.4);}
.dy-coll__cap span{font-family:var(--sans); font-size:10px; letter-spacing:.28em; text-transform:uppercase; margin-bottom:10px;}
.dy-coll__cap h3{color:var(--cream); font-size:2rem; margin:0;}

/* ============================================================
   INSTAGRAM — carrusel
   ============================================================ */
.dy-ig__head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:34px;}
.dy-ig__title .eyebrow{margin-bottom:12px;}
.dy-ig__title h2{margin:0;}
.dy-ig__actions{display:flex; align-items:center; gap:16px;}
.dy-ig__cta{gap:.55em;}
.dy-ig__cta svg{width:18px; height:18px;}
.dy-ig__nav{display:flex; gap:8px;}
.dy-ig__arrow{width:46px; height:46px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:22px; line-height:1; cursor:pointer; border-radius:50%; transition:.3s var(--ease); display:flex; align-items:center; justify-content:center;}
.dy-ig__arrow:hover{background:var(--ink); color:var(--cream); border-color:var(--ink);}
.dy-ig__arrow:disabled{opacity:.3; cursor:default; pointer-events:none;}
.dy-ig__track{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px var(--gutter); scrollbar-width:none; -ms-overflow-style:none;}
.dy-ig__track::-webkit-scrollbar{display:none;}
.dy-ig__item{position:relative; flex:0 0 clamp(200px,22vw,300px); aspect-ratio:1; overflow:hidden; border-radius:2px; scroll-snap-align:start; background:var(--cream-2);}
.dy-ig__item img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.dy-ig__item:hover img{transform:scale(1.06);}
.dy-ig__item::after{content:""; position:absolute; inset:0; background:rgba(20,19,16,0); transition:.4s;}
.dy-ig__item:hover::after{background:rgba(20,19,16,.16);}
.dy-ig__item-ico{position:absolute; top:12px; right:12px; color:#fff; opacity:0; transform:translateY(-4px); transition:.4s var(--ease); z-index:1;}
.dy-ig__item-ico svg{width:22px; height:22px;}
.dy-ig__item:hover .dy-ig__item-ico{opacity:1; transform:none;}
@media (max-width:640px){ .dy-ig__head{flex-direction:column; align-items:flex-start; gap:16px;} .dy-ig__item{flex-basis:68vw;} }

/* ============================================================
   NEWSLETTER
   ============================================================ */
.dy-newsletter{background:var(--ink); color:var(--cream); text-align:center;}
.dy-newsletter h2{color:var(--cream); font-size:clamp(1.8rem,3.4vw,3rem);}
.dy-newsletter p{color:rgba(246,241,233,.75); max-width:42ch; margin:0 auto 30px;}
.dy-newsletter form{display:flex; gap:0; max-width:520px; margin:0 auto; border:1px solid rgba(246,241,233,.4);}
.dy-newsletter input{flex:1; background:transparent; border:0; color:var(--cream); padding:16px 20px; font-family:var(--sans); font-size:13px; letter-spacing:.04em;}
.dy-newsletter input::placeholder{color:rgba(246,241,233,.5);}
.dy-newsletter button{background:var(--sage); color:#fff; border:0; padding:0 30px; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; transition:background .3s;}
.dy-newsletter button:hover{background:var(--sage-deep);}

/* ============================================================
   FOOTER
   ============================================================ */
.dy-footer{background:var(--ink); color:rgba(246,241,233,.72); padding-block:clamp(56px,7vw,90px) 0;}
.dy-footer a{color:rgba(246,241,233,.72);}
.dy-footer a:hover{color:var(--cream);}
.dy-footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(246,241,233,.14);}
.dy-footer__brand{font-family:var(--serif); font-size:28px; letter-spacing:.3em; text-transform:uppercase; color:var(--cream); margin-bottom:18px;}
.dy-footer h2, .dy-footer h4{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--cream); margin-bottom:18px;}
.dy-footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; font-size:13px;}
.dy-footer__bottom{display:flex; justify-content:space-between; align-items:center; padding-block:26px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,241,233,.5);}

/* ============================================================
   WOOCOMMERCE (tienda + ficha) — luxe
   ============================================================ */
.dy-shop{padding-block:clamp(40px,6vw,80px);}
.woocommerce-products-header{text-align:center; margin-bottom:10px;}
/* Cabecera editorial de archivo/categoría */
.dy-archive-head{text-align:center; padding:clamp(16px,3vw,44px) 0 clamp(20px,3vw,40px); margin-bottom:6px;}
.dy-archive-head h1{font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4.6vw,3.6rem); color:var(--ink); margin:0;}
.dy-archive-head .eyebrow{color:var(--sage); margin-bottom:16px;}
.dy-archive-head .dy-archive-desc{max-width:54ch; margin:18px auto 0; color:var(--ink-soft);}
.dy-archive-head .dy-archive-count{font-family:var(--sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin:14px 0 0;}
.dy-archive-head.has-img{background-size:cover; background-position:center; color:var(--cream); padding:clamp(64px,9vw,130px) 24px; border-radius:2px;}
.dy-archive-head.has-img h1,.dy-archive-head.has-img .eyebrow{color:var(--cream);}
.dy-archive-head.has-img .dy-archive-desc{color:rgba(246,241,233,.92);}
.dy-archive-head.has-img .dy-archive-count{color:rgba(246,241,233,.8);}
.dy-archive-head.has-img .rule{background:var(--cream);}
.woocommerce-products-header__title{font-family:var(--serif); font-weight:500; font-size:clamp(2rem,4vw,3.2rem);}
.woocommerce .woocommerce-breadcrumb{text-align:center; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:26px;}
.woocommerce ul.products{display:grid !important; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,40px) clamp(14px,1.8vw,28px); list-style:none; margin:36px 0 0; padding:0;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important;}
.woocommerce ul.products li.product{width:auto !important; margin:0 !important; float:none !important; text-align:center;}
.woocommerce ul.products li.product a img{aspect-ratio:3/4; object-fit:cover; margin:0 0 16px; transition:transform .9s var(--ease);}
.woocommerce ul.products li.product:hover a img{transform:scale(1.05);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif); font-size:1.12rem !important; font-weight:500; padding:0 !important; margin:0 0 .25em;}
.woocommerce ul.products li.product .price{color:var(--sage) !important; font-family:var(--sans); font-weight:500; font-size:.98rem;}
.woocommerce ul.products li.product .button{margin-top:12px; font-size:10.5px !important;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line); border-radius:1px; padding:10px 14px; font-family:var(--sans); font-size:12px; background:#fff;}
.woocommerce span.onsale{position:absolute; top:14px; left:14px; width:52px; height:52px; border-radius:50%; background:var(--sage); color:#fff; line-height:52px; text-align:center; font-family:var(--sans); font-size:10px; letter-spacing:.06em; text-transform:uppercase; min-height:0; margin:0;}
/* Botones woo con estilo del tema */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .button.alt,.woocommerce button.single_add_to_cart_button{
  font-family:var(--sans) !important; text-transform:uppercase; letter-spacing:.2em; font-size:11px !important; font-weight:600 !important;
  padding:16px 34px !important; border-radius:1px !important; background:var(--ink) !important; color:var(--cream) !important; border:1px solid var(--ink) !important; transition:.4s var(--ease);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button.alt:hover,.woocommerce button.single_add_to_cart_button:hover{background:transparent !important; color:var(--ink) !important;}
/* Ficha de producto: layout y galería contenida */
.woocommerce div.product{display:flex; flex-wrap:wrap; gap:clamp(24px,4vw,64px); align-items:flex-start;}
.woocommerce div.product .woocommerce-product-gallery{width:calc(52% - 32px); float:none; margin:0; opacity:1 !important;}
.woocommerce div.product .summary{width:44%; float:none; margin:0;}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells{width:100%;}
.woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child img,
.woocommerce div.product .woocommerce-product-gallery img{aspect-ratio:4/5; object-fit:cover; border-radius:2px;}
.woocommerce div.product .flex-control-thumbs{display:flex; gap:10px; margin-top:12px; padding:0;}
.woocommerce div.product .flex-control-thumbs li{width:72px; list-style:none;}
.woocommerce div.product .flex-control-thumbs img{aspect-ratio:1; object-fit:cover;}
.woocommerce div.product .summary .price{margin:8px 0 18px;}
.woocommerce div.product form.cart{margin:24px 0;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft);}
@media (max-width:860px){
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary{width:100%;}
}
.woocommerce div.product .product_title{font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--sage) !important; font-family:var(--sans); font-weight:500;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--sage);}
.woocommerce .star-rating span::before,.woocommerce p.stars a::before{color:var(--bronze) !important;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--sage) !important;}

/* Ficha ampliada: confianza + acordeón + tallas */
.dy-pdp-trust{display:flex; gap:22px; flex-wrap:wrap; margin:20px 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.dy-pdp-trust span{font-family:var(--sans); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); position:relative; padding-left:20px;}
.dy-pdp-trust span::before{content:"✓"; position:absolute; left:0; color:var(--sage);}
.dy-accordion{margin-top:20px;}
.dy-accordion details{border-bottom:1px solid var(--line);}
.dy-accordion summary{cursor:pointer; list-style:none; padding:16px 0; font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; display:flex; justify-content:space-between; align-items:center;}
.dy-accordion summary::-webkit-details-marker{display:none;}
.dy-accordion summary::after{content:"+"; font-size:18px; color:var(--sage);}
.dy-accordion details[open] summary::after{content:"–";}
.dy-accordion details p{padding:0 0 18px; color:var(--ink-soft); font-size:.95rem; margin:0;}
.woocommerce div.product form.variations_form .variations{margin-bottom:14px; border:0;}
.woocommerce div.product .variations th.label{font-family:var(--sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; text-align:left; padding:10px 14px 10px 0; width:auto;}
.woocommerce div.product .variations td.value{padding:6px 0;}
.woocommerce div.product .variations select{border:1px solid var(--line); border-radius:1px; padding:12px 16px; font-family:var(--sans); font-size:13px; background:#fff; min-width:180px;}
.woocommerce div.product .single_variation .price{margin-bottom:14px;}
.woocommerce div.product .reset_variations{font-size:11px; letter-spacing:.08em; color:var(--muted); margin-left:10px;}

/* Páginas simples (about, contacto, cart, checkout) */
.dy-page{padding-block:clamp(48px,7vw,100px);}
.dy-page__head{text-align:center; margin-bottom:48px;}
.dy-page__head h1{font-size:clamp(2.2rem,4vw,3.4rem);}
.dy-page .entry-content{max-width:760px; margin:0 auto;}

/* ============================================================
   MOTION
   ============================================================ */
.reveal{opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease), transform 1s var(--ease);}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important;}
  .reveal{opacity:1 !important; transform:none !important;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .dy-products{grid-template-columns:repeat(3,1fr);}
  .dy-ig__grid{grid-template-columns:repeat(3,1fr);}
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:860px){
  .dy-nav{display:none;}
  .dy-burger{display:block;}
  .dy-header__inner{grid-template-columns:auto 1fr auto;}
  .dy-brand{text-align:left; padding-left:0;}
  .dy-editorial{grid-template-columns:1fr;}
  .dy-editorial__media{min-height:340px;}
  .dy-cats,.dy-collections{grid-template-columns:1fr 1fr;}
  .dy-products{grid-template-columns:repeat(2,1fr);}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .dy-footer__grid{grid-template-columns:1fr 1fr;}
  .dy-trust__grid{grid-template-columns:1fr 1fr;}
  .dy-trust__item:nth-child(-n+2){border-bottom:1px solid var(--line);}
  .dy-trust__item:nth-child(odd){border-left:0;}
}
@media (max-width:560px){
  .dy-cats,.dy-collections,.dy-products{grid-template-columns:1fr 1fr; gap:12px;}
  .dy-ig__grid{grid-template-columns:repeat(3,1fr);}
  .dy-footer__grid{grid-template-columns:1fr;}
  .dy-hero{min-height:90vh;}
  .dy-hero__cta{flex-direction:column; align-items:stretch;}
  .dy-hero__cta .btn{width:100%;}
  .dy-hero__scroll{display:none;}
  /* Encuadre móvil: mostrar a la modelo (lado derecho del vídeo horizontal) */
  .dy-hero__video, .dy-hero__media img{object-position:72% center;}
  /* Refuerzo del velo superior para el texto en vertical */
  .dy-hero::after{background:linear-gradient(180deg,rgba(20,19,16,.5) 0%,rgba(20,19,16,.2) 45%,rgba(20,19,16,.55) 100%);}
}

/* ============================================================
   ACCESIBILIDAD — contraste AA (navegación agéntica)
   ============================================================ */
:root{ --sage-ink:#5f634b; }
.eyebrow{ color:var(--sage-ink); }
.dy-product .price, .dy-product__price,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce .price, .woocommerce .price .woocommerce-Price-amount,
.woocommerce-Price-amount.amount{ color:var(--sage-ink) !important; }
.dy-product .price del, .woocommerce del, .woocommerce .price del,
.woocommerce del .woocommerce-Price-amount{ color:var(--muted) !important; }
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button:disabled,
.woocommerce a.button.disabled, .woocommerce button.button:disabled{
  opacity:1 !important; background:var(--muted) !important; border-color:var(--muted) !important; color:#fff !important; cursor:not-allowed;
}
/* Overrides AA finales: eyebrow en cabecera de categoría + precio tachado (Woo le pone opacity .5) */
.dy-archive-head:not(.has-img) .eyebrow{ color:var(--sage-ink) !important; }
.woocommerce del, .woocommerce del .woocommerce-Price-amount, .woocommerce .price del, .woocommerce .price del .woocommerce-Price-amount{ opacity:1 !important; color:var(--muted) !important; }

/* ============================================================
   BUSCADOR (overlay)
   ============================================================ */
button.dy-search{background:none; border:0; cursor:pointer; padding:0; color:inherit; display:inline-flex;}
.dy-search-overlay{position:fixed; inset:0; z-index:300; background:rgba(246,241,233,.98); opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s; display:flex; align-items:center; justify-content:center;}
.dy-search-overlay.open{opacity:1; visibility:visible;}
.dy-search-close{position:absolute; top:22px; right:30px; background:none; border:0; font-size:34px; line-height:1; color:var(--ink); cursor:pointer;}
.dy-search-inner{width:min(760px,90vw); text-align:center; transform:translateY(14px); transition:transform .5s var(--ease);}
.dy-search-overlay.open .dy-search-inner{transform:none;}
.dy-search-inner .eyebrow{color:var(--sage-ink); display:block; margin-bottom:16px;}
.dy-search-form{display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--ink); padding-bottom:12px;}
.dy-search-input{flex:1; border:0; background:transparent; font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem,4vw,2.9rem); color:var(--ink); outline:none; padding:6px 0; min-width:0;}
.dy-search-input::placeholder{color:#bcb5a2;}
.dy-search-submit{background:none; border:0; cursor:pointer; color:var(--ink); padding:6px; flex:none;}
.dy-search-submit svg{width:26px; height:26px; stroke:currentColor; fill:none; stroke-width:1.5;}
.dy-search-hint{margin-top:20px; font-size:12px; letter-spacing:.06em; color:var(--muted);}
.dy-search-hint a{color:var(--sage-ink); border-bottom:1px solid var(--line); padding-bottom:2px;}

/* ============================================================
   CHECKOUT & CART (bloques WooCommerce) — luxe
   ============================================================ */
.wc-block-checkout, .wc-block-cart, .woocommerce-checkout, .woocommerce-cart{font-family:var(--sans);}
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary .wc-block-components-title{
  font-family:var(--serif) !important; font-weight:500 !important; color:var(--ink) !important; letter-spacing:.01em;
}
.wc-block-components-checkout-step__title{font-size:1.25rem !important;}
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-select .wc-block-components-combobox-control input,
.wc-block-components-address-form input,
.wc-block-checkout input.input-text,
.wc-block-components-text-input .input-text{
  border:1px solid var(--line) !important; border-radius:2px !important; box-shadow:none !important;
  background:#fff !important; color:var(--ink) !important; font-family:var(--sans) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox-control input:focus{ border-color:var(--sage) !important; box-shadow:0 0 0 1px var(--sage) !important; }
.wc-block-components-text-input label,
.wc-block-components-checkout-step__description{ color:var(--muted) !important; }
/* Botón principal */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout .wc-block-components-button.contained,
.wc-block-cart__submit-button, .wc-block-cart .wc-block-components-button.contained{
  background:var(--ink) !important; color:var(--cream) !important; border:0 !important; border-radius:1px !important;
  font-family:var(--sans) !important; letter-spacing:.18em !important; text-transform:uppercase !important;
  font-weight:600 !important; font-size:12px !important; min-height:54px !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover{ background:var(--sage-deep) !important; }
/* Resumen / totales */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ color:var(--sage-ink) !important; font-weight:600; }
.wc-block-components-panel__button, .wc-block-components-totals-item__label{ color:var(--ink) !important; }
.wc-block-checkout__sidebar, .wc-block-cart__totals-title{ border-radius:2px; }
.wc-block-components-radio-control__option, .wc-block-components-shipping-rates-control__package{ border-color:var(--line) !important; }
.wc-block-components-checkbox__input:checked, .wc-block-components-radio-control__input:checked{ accent-color:var(--sage); }
.wc-block-components-order-summary-item__quantity{ background:var(--ink) !important; color:var(--cream) !important; }
.woocommerce-message, .wc-block-components-notice-banner{ border-top-color:var(--sage) !important; }
/* Ocultar el opt-in de MailPoet en el checkout (sin traducir). Reactivable en español desde MailPoet. */
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkbox{display:none;}
/* Vídeo de producto en la galería (ficha) */
.dy-product-video{position:relative; width:100%; aspect-ratio:4/5; overflow:hidden; border-radius:2px; margin-bottom:16px; background:var(--cream-2);}
.dy-product-video video{width:100%; height:100%; object-fit:cover; display:block;}
.dy-product-video__tag{position:absolute; top:14px; left:14px; background:rgba(28,28,24,.66); color:var(--cream); font-family:var(--sans); font-size:10px; letter-spacing:.16em; text-transform:uppercase; padding:6px 12px; border-radius:2px;}
/* Feed real de Instagram (Smash Balloon) dentro de nuestra sección */
.dy-ig__sb{margin-top:8px;}
.dy-ig__sb #sb_instagram .sbi_header, .dy-ig__sb #sb_instagram .sbi_follow_btn{display:none !important;}
.dy-ig__sb #sb_instagram{padding:0 !important;}

/* ============================================================
   REMATE HOME — categorías x4, iconos trust, badge Nuevo,
   testimonios y newsletter funcional
   ============================================================ */
/* Parrilla de 4 categorías */
.dy-cats--4{grid-template-columns:repeat(4,1fr);}

/* Iconos de la barra de confianza */
.dy-trust__ico{display:inline-flex; align-items:center; justify-content:center; margin-bottom:12px; color:var(--sage-ink);}
.dy-trust__ico svg{width:26px; height:26px;}

/* Badge "Nuevo" (pill discreta, distinta del círculo de Oferta) */
.dy-product__badge--new{width:auto; height:auto; border-radius:100px; padding:7px 13px; background:var(--ink); color:var(--cream); font-size:9px; letter-spacing:.16em;}

/* Testimonios */
.dy-reviews{background:var(--cream-2); border-block:1px solid var(--line);}
.dy-reviews__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,34px); margin-top:52px; text-align:left;}
.dy-review{background:var(--cream); border:1px solid var(--line); padding:clamp(26px,3vw,40px); display:flex; flex-direction:column; gap:16px; margin:0;}
.dy-review__stars{color:#c9a227; letter-spacing:.12em; font-size:15px;}
.dy-review__quote{font-family:var(--serif-2); font-size:1.12rem; line-height:1.55; color:var(--ink); margin:0; font-style:italic;}
.dy-review__author{display:flex; flex-direction:column; gap:2px; margin-top:auto;}
.dy-review__author strong{font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink);}
.dy-review__author span{font-size:12px; color:var(--muted);}

/* Newsletter — estados del formulario real */
.dy-news-form.is-loading{opacity:.6; pointer-events:none;}
.dy-news-msg{max-width:520px; margin:16px auto 0; min-height:1em; font-family:var(--sans); font-size:12.5px; letter-spacing:.02em; color:rgba(246,241,233,.85);}
.dy-news-msg.is-ok{color:#bfe3c2;}
.dy-news-msg.is-err{color:#ecb4a6;}

@media (max-width:860px){
  .dy-cats--4{grid-template-columns:1fr 1fr;}
  .dy-reviews__grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .dy-cats--4{grid-template-columns:1fr 1fr;}
}
