/* =========================================================
   DICHA TIENDA — E-COMMERCE THEME
========================================================= */
:root{
  --cream:       #F4EEE3;
  --paper:       #EFE7D8;
  --paper-2:     #E3D8C3;
  --rosa:        #FFC8C8;
  --rosa-soft:   #FDE6E6;
  --ink:         #1F1A16;
  --ink-soft:    #3A322C;
  --mute:        #807769;
  --line:        #C9BFAD;
  --line-soft:   #E1D7C5;
  /* Coral hot pink — acento principal (era bordó) */
  --bordo:       #E84A6A;
  --bordo-soft:  #FF7090;
  --bordo-dark:  #C2334F;
  /* Paleta extendida — del feed de IG */
  --coral:       #FF6E80;
  --hibiscus:    #E84A6A;
  --mustard:     #D4A24C;
  --tomato:      #C5483D;
  --denim:       #5A7BA1;
  --oliva:       #6B7142;
  --azul:        #2C4A6B;
  --ok:          #6B7142;
  --warn:        #B8741A;
  --error:       #B83F1A;
  --r:           2px;
  --ease:        cubic-bezier(.22,.61,.36,1);
  --shadow-sm:   0 4px 12px -4px rgba(31,26,22,.08);
  --shadow-md:   0 14px 40px -10px rgba(31,26,22,.18);
  --shadow-lg:   0 30px 80px -30px rgba(31,26,22,.3);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-size:14px;
  line-height:1.55;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.serif{font-family:'Fraunces',serif;font-weight:300;letter-spacing:-.02em;}
.script{font-family:'Allura',cursive;font-weight:400;letter-spacing:0;}
.handwriting{font-family:'Caveat',cursive;font-weight:500;letter-spacing:.01em;}

/* ============ DICHA LOGO ============ */
.dicha-logo{
  display:inline-flex;align-items:center;gap:6px;
  text-transform:uppercase;text-decoration:none;color:inherit;
  position:relative;line-height:1;
}
.dicha-logo .dl-word{
  font-family:'Italianno','Allura',cursive;
  font-weight:400;font-size:1.7em;letter-spacing:.02em;
  text-transform:none;color:var(--ink);line-height:.9;
  position:relative;
  font-style:italic;
}
.dicha-logo .dl-tienda{
  font-family:'Caveat',cursive;font-weight:500;
  font-size:.7em;letter-spacing:.04em;text-transform:none;
  color:var(--bordo);transform:translateY(2px);
}
.dicha-logo svg.dl-flower{width:14px;height:14px;flex-shrink:0;animation:dlSpin 8s linear infinite;}
.dicha-logo svg.dl-flower.right{animation-direction:reverse;}
@keyframes dlSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Logo más grande para footer */
.dicha-logo.lg .dl-word{font-size:2.6em;}
.dicha-logo.lg .dl-tienda{font-size:1em;}
.dicha-logo.lg svg.dl-flower{width:22px;height:22px;}

/* Reemplazo simple del nav-logo viejo */
.nav-logo.dicha-logo,
.foot-logo.dicha-logo,
.side-logo.dicha-logo{padding:0;border:0;}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:11px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--mute);
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;}
input,select,textarea{font-family:inherit;}
::selection{background:var(--bordo);color:var(--cream);}

/* grain overlay */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:200;
  opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ========== ANNOUNCEMENT — Rotatorio (estilo ecommerce) ========== */
.announce{
  background:var(--ink);color:var(--cream);
  padding:11px 0;overflow:hidden;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  text-align:center;position:relative;
  min-height:38px;display:flex;align-items:center;justify-content:center;
}
.announce-rotator{position:relative;width:100%;height:18px;}
.announce-rotator .ar-item{
  position:absolute;top:0;left:0;width:100%;text-align:center;
  opacity:0;transition:opacity .5s var(--ease);pointer-events:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 14px;
}
.announce-rotator .ar-item.active{opacity:1;}
/* Mantengo el marquee viejo por si está en otra página */
.announce-track{display:none;}

/* ========== HEADER ========== */
header.nav{
  position:sticky;top:0;left:0;right:0;z-index:900;
  background:rgba(244,238,227,.88);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:all .35s var(--ease);
}
header.nav.scrolled{
  background:rgba(244,238,227,.96);
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  max-width:1600px;margin:0 auto;
  padding:18px 32px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  color:var(--ink);
}
.nav-left,.nav-right{display:flex;gap:24px;align-items:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}
.nav-right{justify-content:flex-end;}
.nav-logo{
  display:inline-flex;align-items:center;gap:6px;
  text-decoration:none;color:var(--ink);
  line-height:1;
}
.nav-logo .amp{display:none;} /* legacy */
.nav-logo .dl-flower{width:18px;height:18px;flex-shrink:0;animation:dlSpin 14s linear infinite;}
.nav-logo .dl-flower.right{animation-direction:reverse;animation-duration:18s;}
.nav-logo .dl-word{
  font-family:'Patrick Hand','Caveat',cursive;font-weight:400;
  font-size:26px;letter-spacing:.05em;line-height:.9;
  text-transform:uppercase;
  color:var(--ink);
  position:relative;padding:2px 4px;
}
.nav-logo .dl-word::before{
  content:"";position:absolute;inset:-2px -8px;
  border:2px solid var(--coral);border-radius:50%;
  transform:rotate(-3deg) scaleX(1.15);
  pointer-events:none;
}
.nav-logo .dl-tienda{
  font-family:'Caveat',cursive;font-weight:500;
  font-size:18px;letter-spacing:.02em;
  color:var(--ink);transform:translateY(8px) rotate(-2deg);margin-left:0;
}
.nav-link{transition:opacity .2s;cursor:pointer;}
.nav-link:hover{opacity:.6;}
.nav-link.active{font-weight:600;}
.nav-icon{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;position:relative;
}
.nav-icon:hover{background:var(--paper);}
.nav-icon svg{width:18px;height:18px;}
.cart-count{
  position:absolute;top:-2px;right:-2px;
  min-width:18px;height:18px;border-radius:9px;padding:0 5px;
  background:var(--bordo);color:var(--cream);
  font-size:10px;font-weight:600;letter-spacing:0;
  display:flex;align-items:center;justify-content:center;
}
.cart-count.empty{display:none;}

@media (max-width:880px){
  .nav-wrap{grid-template-columns:auto 1fr auto;padding:10px 14px;gap:4px;}
  .nav-left{display:none;}
  .nav-logo{justify-self:start;gap:4px;}
  .nav-logo .dl-word{font-size:18px;padding:1px 3px;}
  .nav-logo .dl-tienda{font-size:13px;transform:translateY(6px) rotate(-2deg);}
  .nav-logo .dl-flower{width:14px;height:14px;}
  .nav-logo .dl-flower.right{display:none;} /* solo flor izquierda en mobile */
  .nav-right{gap:2px;justify-self:end;}
  .nav-right .nav-link{display:none;}
  .nav-icon{width:34px;height:34px;}
  .nav-icon svg{width:16px;height:16px;}
}

/* ========== SEARCH OVERLAY ========== */
.search-overlay{
  position:fixed;inset:0;z-index:980;
  background:rgba(31,26,22,.6);backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
  display:flex;align-items:flex-start;justify-content:center;
  padding:0 16px;
}
.search-overlay.open{opacity:1;pointer-events:auto;}
.search-panel{
  width:100%;max-width:720px;
  background:var(--cream);border-radius:0 0 18px 18px;
  margin-top:0;
  transform:translateY(-30px);opacity:0;
  transition:all .4s var(--ease);
  box-shadow:0 30px 80px -20px rgba(31,26,22,.4);
  max-height:90vh;display:flex;flex-direction:column;overflow:hidden;
}
.search-overlay.open .search-panel{transform:translateY(0);opacity:1;}
.search-input-wrap{
  display:flex;align-items:center;gap:12px;
  padding:22px 26px;border-bottom:1px solid var(--line-soft);
}
.search-input-wrap svg{width:22px;height:22px;color:var(--mute);flex-shrink:0;}
.search-input-wrap input{
  flex:1;border:none;background:transparent;
  font-family:'Fraunces',serif;font-weight:300;font-size:22px;color:var(--ink);
  letter-spacing:-.01em;outline:none;
}
.search-input-wrap input::placeholder{color:var(--mute);font-style:italic;}
.search-close{
  background:none;border:none;font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
  cursor:pointer;flex-shrink:0;padding:6px 10px;
}
.search-close:hover{color:var(--ink);}
.search-results{flex:1;overflow-y:auto;padding:10px 0;}
.search-result{
  display:flex;align-items:center;gap:14px;padding:12px 26px;
  cursor:pointer;text-decoration:none;color:inherit;transition:background .2s;
}
.search-result:hover{background:rgba(232,74,106,.06);}
.search-result-img{
  width:54px;height:72px;border-radius:4px;overflow:hidden;
  background:var(--paper-2);flex-shrink:0;
}
.search-result-img img,
.search-result-img video{width:100%;height:100%;object-fit:cover;}
.search-result-info{flex:1;min-width:0;}
.search-result-name{font-family:'Fraunces',serif;font-size:16px;font-weight:400;line-height:1.2;}
.search-result-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:4px;}
.search-result-price{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;flex-shrink:0;color:var(--bordo);}
.search-empty{padding:50px 26px;text-align:center;color:var(--mute);font-size:14px;}
.search-empty em{font-family:'Fraunces',serif;font-style:italic;font-size:18px;color:var(--ink);display:block;margin-bottom:6px;}

/* ========== MOBILE MENU OVERLAY ========== */
.menu-trigger{display:none;}
@media (max-width:880px){
  .menu-trigger{display:flex;}
}
.menu-overlay{
  position:fixed;inset:0;z-index:990;background:var(--cream);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .5s var(--ease);
  padding:24px;
}
.menu-overlay.open{transform:translateX(0);}
.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;}
.menu-nav{display:flex;flex-direction:column;gap:18px;flex:1;}
.menu-nav a{
  font-family:'Fraunces',serif;font-size:32px;font-weight:300;letter-spacing:-.01em;
  border-bottom:1px solid var(--line-soft);padding-bottom:14px;
  display:flex;justify-content:space-between;align-items:center;
}
.menu-nav a span.arr{font-size:18px;color:var(--bordo);}
.menu-foot{padding-top:24px;border-top:1px solid var(--line-soft);
  display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--mute);}
.menu-foot strong{font-weight:500;color:var(--ink);}

/* ========== BUTTONS ========== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  border-radius:50px;
  transition:all .3s var(--ease);
  cursor:pointer;
  border:1px solid transparent;
}
.btn-primary{background:var(--ink);color:var(--cream);}
.btn-primary:hover{background:var(--bordo);transform:translateY(-2px);}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-secondary:hover{background:var(--ink);color:var(--cream);}
.btn-ghost{background:var(--cream);color:var(--ink);}
.btn-ghost:hover{background:var(--paper);}
.btn-wa{background:#25D366;color:#fff;}
.btn-wa:hover{background:#1ea855;}
.btn-mp{background:#009EE3;color:#fff;}
.btn-mp:hover{background:#007BB8;}
.btn-mp:disabled{opacity:.7;cursor:wait;}

/* PAYMENT METHOD SELECTOR */
.pay-methods{display:flex;flex-direction:column;gap:6px;margin:14px 0 4px;}
.pay-methods-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:6px;font-weight:500;}
.pay-opt{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;background:var(--cream);
  border:1px solid var(--line);border-radius:10px;
  cursor:pointer;transition:all .2s var(--ease);
}
.pay-opt:hover{border-color:var(--ink);}
.pay-opt input[type="radio"]{display:none;}
.pay-opt .label-l{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--ink);}
.pay-opt .label-l .ico{
  width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s;
}
.pay-opt .label-l .ico::after{
  content:"";width:10px;height:10px;border-radius:50%;background:var(--bordo);
  opacity:0;transform:scale(0);transition:all .2s;
}
.pay-opt:has(input:checked){border-color:var(--bordo);background:#fff;box-shadow:0 0 0 3px rgba(107,31,44,.08);}
.pay-opt:has(input:checked) .label-l .ico{border-color:var(--bordo);}
.pay-opt:has(input:checked) .label-l .ico::after{opacity:1;transform:scale(1);}
.pay-opt .label-r{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;line-height:1.2;}
.pay-opt .label-r .save{display:block;font-size:10px;color:var(--oliva);font-weight:500;letter-spacing:.05em;margin-top:2px;}
.pay-opt .label-r .save.mute{color:var(--mute);}

/* TRANSFER MODAL */
#transferModal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;}
#transferModal .tm-bg{position:absolute;inset:0;background:rgba(31,26,22,.55);backdrop-filter:blur(4px);animation:tmFade .25s ease;}
#transferModal .tm-card{
  position:relative;background:var(--cream);border-radius:14px;
  width:100%;max-width:460px;max-height:92vh;overflow:hidden;
  box-shadow:0 40px 100px -20px rgba(31,26,22,.45);
  display:flex;flex-direction:column;
  animation:tmRise .35s cubic-bezier(.2,.7,.2,1);
}
@keyframes tmFade{from{opacity:0}to{opacity:1}}
@keyframes tmRise{from{opacity:0;transform:translateY(20px) scale(.97);}to{opacity:1;transform:none;}}
#transferModal .tm-head{
  padding:20px 24px;border-bottom:1px solid var(--line-soft);
  display:flex;justify-content:space-between;align-items:center;background:#fff;
}
#transferModal .tm-head h3{font-family:'Fraunces',serif;font-weight:300;font-size:22px;letter-spacing:-.01em;color:var(--ink);}
#transferModal .tm-close{font-size:24px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mute);transition:background .2s;}
#transferModal .tm-close:hover{background:var(--paper);color:var(--ink);}
#transferModal .tm-body{padding:20px 24px;overflow-y:auto;flex:1;}
#transferModal .tm-intro{font-size:13px;color:var(--ink-soft);margin-bottom:18px;line-height:1.55;}
#transferModal .bank-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  padding:11px 0;border-bottom:1px solid var(--line-soft);
}
#transferModal .bank-row:last-of-type{border-bottom:none;}
#transferModal .bank-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500;min-width:74px;}
#transferModal .bank-val{font-size:14px;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums;word-break:break-all;}
#transferModal .bank-copy{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  padding:6px 12px;border:1px solid var(--line);border-radius:50px;background:#fff;
  transition:all .2s;flex-shrink:0;
}
#transferModal .bank-copy:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);}
#transferModal .tm-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:16px 0 4px;margin-top:6px;border-top:2px solid var(--ink);
  font-family:'Fraunces',serif;
}
#transferModal .tm-total span{font-size:13px;color:var(--ink-soft);}
#transferModal .tm-total strong{font-size:22px;font-weight:400;letter-spacing:-.02em;}
#transferModal .tm-foot{
  padding:18px 24px 22px;background:var(--paper);
  display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line-soft);
}

/* SHIPPING MODAL — reusa estilos base de #transferModal */
#shippingModal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;}
#shippingModal .tm-bg{position:absolute;inset:0;background:rgba(31,26,22,.55);backdrop-filter:blur(4px);animation:tmFade .25s ease;}
#shippingModal .tm-card{
  position:relative;background:var(--cream);border-radius:14px;
  width:100%;max-width:520px;max-height:92vh;overflow:hidden;
  box-shadow:0 40px 100px -20px rgba(31,26,22,.45);
  display:flex;flex-direction:column;
  animation:tmRise .35s cubic-bezier(.2,.7,.2,1);
}
#shippingModal .tm-head{padding:20px 24px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;background:#fff;}
#shippingModal .tm-head h3{font-family:'Fraunces',serif;font-weight:300;font-size:22px;letter-spacing:-.01em;color:var(--ink);}
#shippingModal .tm-close{font-size:24px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--mute);transition:background .2s;}
#shippingModal .tm-close:hover{background:var(--paper);color:var(--ink);}
#shippingModal .tm-body{padding:20px 24px;overflow-y:auto;flex:1;}
#shippingModal .tm-intro{font-size:13px;color:var(--ink-soft);margin-bottom:18px;line-height:1.55;}
#shippingModal .ship-section-title{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mute);font-weight:500;margin:18px 0 10px;
  padding-bottom:6px;border-bottom:1px solid var(--line-soft);
}
#shippingModal .ship-section-title:first-child{margin-top:0;}
#shippingModal .ship-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#shippingModal .ship-field{display:flex;flex-direction:column;gap:4px;}
#shippingModal .ship-field.ship-full{grid-column:1/-1;}
#shippingModal .ship-field label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:500;}
#shippingModal .ship-field input{
  padding:11px 13px;border:1px solid var(--line);border-radius:8px;
  font-size:14px;background:#fff;transition:border-color .2s;font-family:inherit;
}
#shippingModal .ship-field input:focus{outline:none;border-color:var(--bordo);}
#shippingModal .ship-method{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
#shippingModal .ship-radio{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;background:#fff;
  border:1px solid var(--line);border-radius:10px;
  cursor:pointer;transition:all .2s var(--ease);
}
#shippingModal .ship-radio:hover{border-color:var(--ink);}
#shippingModal .ship-radio input[type="radio"]{display:none;}
#shippingModal .ship-radio > span{font-size:13px;color:var(--ink);line-height:1.45;flex:1;position:relative;padding-left:30px;}
#shippingModal .ship-radio > span::before{
  content:"";position:absolute;left:0;top:2px;
  width:18px;height:18px;border:1.5px solid var(--line);border-radius:50%;
  transition:all .2s;
}
#shippingModal .ship-radio > span::after{
  content:"";position:absolute;left:5px;top:7px;
  width:8px;height:8px;border-radius:50%;background:var(--bordo);
  opacity:0;transform:scale(0);transition:all .2s;
}
#shippingModal .ship-radio:has(input:checked){border-color:var(--bordo);background:rgba(107,31,44,.04);box-shadow:0 0 0 3px rgba(107,31,44,.08);}
#shippingModal .ship-radio:has(input:checked) > span::before{border-color:var(--bordo);}
#shippingModal .ship-radio:has(input:checked) > span::after{opacity:1;transform:scale(1);}
#shippingModal .ship-radio strong{font-weight:500;}
#shippingModal .ship-radio .hint{color:var(--mute);font-size:11px;letter-spacing:0;}
#shippingModal .ship-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:16px 4px 4px;margin-top:18px;border-top:2px solid var(--ink);
  font-family:'Fraunces',serif;
}
#shippingModal .ship-total span{font-size:13px;color:var(--ink-soft);}
#shippingModal .ship-total strong{font-size:22px;font-weight:400;letter-spacing:-.02em;}
#shippingModal .tm-foot{
  padding:14px 24px 20px;background:var(--paper);
  display:flex;gap:10px;border-top:1px solid var(--line-soft);
}
#shippingModal .tm-foot .btn{flex:1;}
@media (max-width:560px){
  #shippingModal .ship-grid{grid-template-columns:1fr;}
}
.btn-block{width:100%;}
.btn-sm{padding:11px 18px;font-size:10px;}

/* ========== STOCK BADGES ========== */
.badge{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  padding:5px 10px;border-radius:50px;
  display:inline-flex;align-items:center;gap:6px;
}
.badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor;}
.badge-new{
  background:var(--mustard);color:var(--ink);font-weight:600;
  transform:rotate(-3deg);box-shadow:0 4px 12px -2px rgba(212,162,76,.4);
}
.badge-unique{
  background:var(--coral);color:#fff;font-weight:600;
  transform:rotate(-2deg);box-shadow:0 4px 12px -2px rgba(255,110,128,.4);
  animation:badgeWobble 4s ease-in-out infinite;
}
.badge-sale{
  background:var(--hibiscus);color:#fff;font-weight:600;
  transform:rotate(2deg);box-shadow:0 4px 12px -2px rgba(232,74,106,.4);
}
.badge-disponible{background:rgba(107,113,66,.12);color:var(--ok);font-weight:500;}
.badge-reservado{background:rgba(212,162,76,.18);color:#A57820;font-weight:500;}
.badge-vendido{background:rgba(184,63,26,.1);color:var(--error);font-weight:500;}
@keyframes badgeWobble{
  0%,100%{transform:rotate(-2deg) scale(1);}
  50%{transform:rotate(2deg) scale(1.04);}
}

/* ========== SECTION ========== */
section{padding:80px 32px;position:relative;}
.wrap{max-width:1600px;margin:0 auto;}
.section-head{
  display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;
  margin-bottom:48px;
}
.section-head h2{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(36px,5vw,72px);line-height:.95;letter-spacing:-.03em;
}
.section-head h2 em{font-style:italic;color:var(--bordo);}
.section-head .head-right{display:flex;flex-direction:column;gap:14px;max-width:420px;align-items:flex-start;}
.section-head .head-right p{color:var(--ink-soft);font-size:15px;}
.section-head .head-right a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;text-decoration:underline;text-underline-offset:4px;}
@media (max-width:860px){
  section{padding:60px 20px;}
  .section-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px;}
}

/* ========== PRODUCT CARD ========== */
.product-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px 18px;
}
@media (max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.product-grid{grid-template-columns:repeat(2,1fr);gap:18px 10px;}}

/* Product grid más chico (igual que categorías) */
.product-grid-sm{grid-template-columns:repeat(6,1fr);gap:14px;}
.product-grid-sm .pcard-img{aspect-ratio:1/1;border-radius:14px;}
.product-grid-sm .pcard-meta{padding:10px 4px 4px;}
.product-grid-sm .pcard-name{font-size:14px;}
.product-grid-sm .pcard-talle{font-size:10px;}
.product-grid-sm .pcard-price{font-size:13px;}
.product-grid-sm .pcard-compare{font-size:11px;}
.product-grid-sm .pcard-transfer,
.product-grid-sm .pcard-cuotas{display:none;}
@media (max-width:1100px){.product-grid-sm{grid-template-columns:repeat(4,1fr);}}
@media (max-width:760px){.product-grid-sm{grid-template-columns:repeat(3,1fr);gap:10px;}}
@media (max-width:480px){.product-grid-sm{grid-template-columns:repeat(2,1fr);gap:8px;}.product-grid-sm .pcard-name{font-size:13px;}}

.pcard{
  position:relative;cursor:pointer;display:block;
  transition:transform .3s var(--ease);
}
.pcard-img{
  position:relative;overflow:hidden;
  background:var(--paper-2);
  aspect-ratio:3/4;border-radius:var(--r);
}
.pcard-img img,
.pcard-img video{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s var(--ease),opacity .4s;
  background:#000;
}
.pcard-video-badge{
  position:absolute;top:12px;left:12px;
  background:rgba(31,26,22,.78);color:#fff;
  padding:4px 9px;border-radius:50px;
  font-size:10px;letter-spacing:.12em;font-weight:600;
  z-index:3;display:flex;align-items:center;gap:4px;
}
.pcard:hover .pcard-img img{transform:scale(1.04);}
.pcard-img.sold img{opacity:.5;filter:grayscale(.3);}
.pcard-badges{
  position:absolute;top:12px;left:12px;
  display:flex;flex-direction:column;gap:6px;align-items:flex-start;
}
.pcard-fav{
  position:absolute;top:12px;right:12px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(244,238,227,.85);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(-4px);transition:all .3s var(--ease);
}
.pcard:hover .pcard-fav{opacity:1;transform:translateY(0);}
.pcard-fav svg{width:15px;height:15px;}

.pcard-add{
  position:absolute;bottom:12px;left:50%;transform:translate(-50%, 12px);
  background:var(--ink);color:var(--cream);
  padding:11px 22px;border-radius:50px;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  opacity:0;transition:all .35s var(--ease);
  white-space:nowrap;
}
.pcard:hover .pcard-add{opacity:1;transform:translate(-50%,0);}
.pcard-add:hover{background:var(--bordo);}

.pcard-meta{padding:14px 4px 4px;}
.pcard-name{font-family:'Fraunces',serif;font-size:16px;font-weight:400;line-height:1.3;letter-spacing:-.01em;}
.pcard-talle{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-top:4px;}
.pcard-price-row{margin-top:8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.pcard-price{font-size:15px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;}
.pcard-compare{font-size:12px;color:var(--mute);text-decoration:line-through;font-variant-numeric:tabular-nums;}
.pcard-transfer{font-size:11px;color:var(--oliva);font-variant-numeric:tabular-nums;display:block;margin-top:3px;letter-spacing:.02em;}
.pcard-cuotas{font-size:10px;letter-spacing:.05em;color:var(--mute);margin-top:2px;}

/* ========== CART DRAWER ========== */
.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:1000;
  background:var(--cream);
  transform:translateX(100%);transition:transform .5s var(--ease);
  display:flex;flex-direction:column;
  box-shadow:-30px 0 60px -20px rgba(31,26,22,.3);
}
.cart-drawer.open{transform:translateX(0);}
.cart-bg{
  position:fixed;inset:0;z-index:999;background:rgba(31,26,22,.4);
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease);
}
.cart-bg.open{opacity:1;pointer-events:auto;}
.cart-head{
  padding:22px 24px;display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid var(--line-soft);
}
.cart-head h3{font-family:'Fraunces',serif;font-size:24px;font-weight:300;letter-spacing:-.01em;}
.cart-close{font-size:22px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.cart-close:hover{background:var(--paper);}
.cart-body{flex:1;overflow-y:auto;padding:24px;}
.cart-empty{text-align:center;padding:60px 20px;color:var(--mute);}
.cart-empty h4{font-family:'Fraunces',serif;font-size:22px;font-weight:300;color:var(--ink);margin-bottom:10px;}
.cart-empty p{font-size:13px;margin-bottom:20px;}

.cart-item{display:grid;grid-template-columns:80px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-soft);}
.cart-item-img{aspect-ratio:3/4;background:var(--paper-2);border-radius:var(--r);overflow:hidden;}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{display:flex;flex-direction:column;justify-content:space-between;gap:6px;}
.cart-item-name{font-family:'Fraunces',serif;font-size:14px;line-height:1.3;}
.cart-item-talle{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);}
.cart-item-price{font-size:13px;font-weight:500;}
.cart-item-remove{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);text-decoration:underline;align-self:flex-start;cursor:pointer;}
.cart-item-remove:hover{color:var(--bordo);}
.cart-item-qty{display:flex;align-items:flex-end;justify-content:flex-end;font-size:11px;color:var(--mute);letter-spacing:.05em;}

/* SHIPPING CALC en el carrito */
.cart-shipping{border-top:1px solid var(--line-soft);padding:14px 0;margin-top:8px;}
.cs-head{
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;user-select:none;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink);font-weight:500;gap:8px;
}
.cs-head .cs-icon{width:18px;height:18px;flex-shrink:0;}
.cs-head .cs-toggle{transition:transform .2s;font-size:10px;color:var(--mute);}
.cs-head.open .cs-toggle{transform:rotate(180deg);}
.cs-body{display:none;padding-top:14px;}
.cs-body.open{display:block;}
.cs-form{display:flex;gap:8px;margin-bottom:12px;}
.cs-form input{
  flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:50px;
  font-family:inherit;font-size:13px;background:#fff;
}
.cs-form input:focus{outline:none;border-color:var(--ink);}
.cs-form button{
  padding:11px 18px;background:var(--ink);color:var(--cream);
  border:none;border-radius:50px;cursor:pointer;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
}
.cs-form button:disabled{opacity:.5;cursor:default;}
.cs-help{display:inline-block;font-size:11px;color:var(--bordo);text-decoration:underline;text-underline-offset:3px;margin-bottom:12px;margin-top:-4px;}
.cs-help:hover{color:var(--ink);}
.cs-results{display:flex;flex-direction:column;gap:8px;}
.cs-opt{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:10px 12px;background:var(--paper-2);border-radius:8px;font-size:12px;
}
.cs-opt-name{font-weight:500;}
.cs-opt-detail{display:block;font-size:11px;color:var(--mute);margin-top:2px;}
.cs-opt-price{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:10px;}
.cs-opt-price.free{color:var(--oliva);}
.cs-info{font-size:11px;color:var(--mute);margin-top:8px;}

.cart-foot{padding:20px 24px 24px;border-top:1px solid var(--line-soft);background:var(--paper);}
.cart-sum-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;}
.cart-sum-row.total{font-size:18px;font-family:'Fraunces',serif;font-weight:400;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft);}
.cart-sum-row .transfer{color:var(--oliva);}
.cart-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px;}

/* ========== TOAST ========== */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translate(-50%, 20px);
  background:var(--ink);color:var(--cream);
  padding:14px 22px;border-radius:50px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  z-index:1100;
  opacity:0;pointer-events:none;
  transition:all .4s var(--ease);
  display:flex;align-items:center;gap:10px;
}
.toast.show{opacity:1;transform:translate(-50%, 0);}
.toast .check{width:18px;height:18px;border-radius:50%;background:var(--oliva);display:flex;align-items:center;justify-content:center;font-size:10px;}

/* ========== FOOTER ========== */
footer{
  background:var(--ink);color:var(--cream);
  padding:50px 32px 24px;
}
.foot-grid{
  max-width:1600px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;
  padding-bottom:30px;border-bottom:1px solid rgba(244,238,227,.15);
}
@media (max-width:1000px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .foot-brand{grid-column:1/-1;}
  .foot-logo .dl-word{font-size:44px;}
  .foot-logo .dl-tienda{font-size:17px;transform:translateY(8px);}
  .foot-logo .dl-flower{width:20px;height:20px;}
}
@media (max-width:560px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .foot-brand .foot-logo{margin-bottom:4px;}
}
.foot-brand{display:flex;flex-direction:column;gap:12px;max-width:340px;}
.foot-logo{
  display:inline-flex;align-items:center;gap:8px;line-height:1;
}
.foot-logo .amp{display:none;}
.foot-logo .dl-flower{width:26px;height:26px;flex-shrink:0;animation:dlSpin 18s linear infinite;}
.foot-logo .dl-flower.right{animation-direction:reverse;}
.foot-logo .dl-word{
  font-family:'Patrick Hand','Caveat',cursive;font-weight:400;
  font-size:42px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--cream);line-height:.9;position:relative;padding:2px 6px;
}
.foot-logo .dl-word::before{
  content:"";position:absolute;inset:-2px -10px;
  border:2.5px solid var(--coral);border-radius:50%;
  transform:rotate(-3deg) scaleX(1.18);pointer-events:none;
}
.foot-logo .dl-tienda{
  font-family:'Caveat',cursive;font-weight:500;
  font-size:28px;color:var(--cream);
  transform:translateY(14px) rotate(-2deg);margin-left:0;
}
.foot-brand p{color:rgba(244,238,227,.65);font-size:13px;line-height:1.7;}
.foot-pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.foot-pay span{
  font-size:9px;letter-spacing:.15em;text-transform:uppercase;
  padding:5px 9px;border:1px solid rgba(244,238,227,.2);border-radius:50px;
  color:rgba(244,238,227,.7);
}
.foot-col h5{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  color:rgba(244,238,227,.5);margin-bottom:10px;
}
.foot-col ul{display:flex;flex-direction:column;gap:5px;}
.foot-col a{font-size:13px;transition:opacity .2s;color:rgba(244,238,227,.85);}
.foot-col a:hover{opacity:.55;}
.foot-bottom{
  max-width:1600px;margin:0 auto;
  padding-top:18px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  font-size:11px;color:rgba(244,238,227,.4);letter-spacing:.1em;gap:8px;text-align:center;
}
.zentra-sig{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,238,227,.5);
  display:inline-flex;align-items:center;gap:6px;
  transition:opacity .3s var(--ease);
}
.zentra-sig span{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  letter-spacing:.04em;text-transform:none;font-size:13px;
  color:rgba(244,238,227,.85);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease);
}
.zentra-sig:hover{opacity:1;}
.zentra-sig:hover span{border-color:rgba(244,238,227,.85);}
@media (max-width:860px){
  footer{padding:18px 14px 10px;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:14px 16px;padding-bottom:10px;}
  .foot-brand{grid-column:1/-1;gap:4px;margin-bottom:0;display:flex;flex-direction:row;align-items:center;gap:12px;}
  .foot-brand p{font-size:10px;line-height:1.4;flex:1;}
  .foot-col h5{font-size:9px;margin-bottom:4px;letter-spacing:.16em;}
  .foot-col a{font-size:10.5px;}
  .foot-col ul{gap:2px;}
  .foot-bottom{padding-top:8px;gap:2px;font-size:9px;}
  .foot-logo{margin-bottom:0;}
  .foot-logo .dl-word{font-size:22px;}
  .foot-logo .dl-tienda{font-size:15px;transform:translateY(7px) rotate(-2deg);}
}
@media (max-width:480px){
  footer{padding:14px 14px 10px;}
  .foot-grid{gap:10px 12px;padding-bottom:8px;}
  .foot-brand{flex-direction:column;align-items:flex-start;gap:4px;}
  .foot-brand p{font-size:9.5px;}
  .foot-col h5{font-size:8.5px;margin-bottom:3px;}
  .foot-col a{font-size:10px;}
  .foot-logo .dl-word{font-size:20px;}
  .foot-logo .dl-tienda{font-size:13px;transform:translateY(6px) rotate(-2deg);}
}

/* ========== FLOATING WHATSAPP ========== */
.wa{
  position:fixed;bottom:24px;right:24px;z-index:800;
  width:54px;height:54px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 40px rgba(37,211,102,.4);
  transition:transform .3s var(--ease);
}
.wa:hover{transform:scale(1.08);}

/* ========== REVEAL ========== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d2{transition-delay:.08s;}
.reveal.d3{transition-delay:.16s;}
.reveal.d4{transition-delay:.24s;}

/* ========== UTILS ========== */
.text-center{text-align:center;}
.muted{color:var(--mute);}
hr{border:none;border-top:1px solid var(--line);}

/* ========== FLOWER DIVIDER ========== */
.flower-divider{
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding:36px 24px;color:var(--coral);
  pointer-events:none;
}
.flower-divider .fd-line{flex:1;height:1px;background:linear-gradient(90deg,transparent 0%,var(--line) 50%,transparent 100%);max-width:160px;}
.flower-divider svg{width:34px;height:34px;flex-shrink:0;animation:fdSpin 16s linear infinite;}
.flower-divider svg.alt{animation-direction:reverse;}
@keyframes fdSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ========== HERO FLOWER ORNAMENTS ========== */
.hero-orn{position:absolute;pointer-events:none;z-index:0;opacity:.6;}
.hero-orn svg{width:100%;height:100%;}
.hero-orn-1{top:5%;left:-4%;width:clamp(70px,16vw,220px);transform:rotate(-15deg);animation:ornFloat 12s ease-in-out infinite;}
.hero-orn-2{bottom:8%;left:30%;width:clamp(50px,9vw,140px);transform:rotate(25deg);animation:ornFloat 14s ease-in-out infinite -3s;}
.hero-orn-3{top:25%;right:30%;width:clamp(40px,8vw,120px);transform:rotate(-10deg);opacity:.4;animation:ornFloat 10s ease-in-out infinite -5s;}
@media (max-width:560px){
  .hero-orn-1{top:auto;bottom:6%;left:-8%;opacity:.45;}
  .hero-orn-2{display:none;}
  .hero-orn-3{top:8%;right:-5%;opacity:.35;}
}
@keyframes ornFloat{
  0%,100%{transform:translate(0,0) rotate(var(--rot, 0deg));}
  50%{transform:translate(-10px,-15px) rotate(calc(var(--rot, 0deg) + 8deg));}
}
.hero-orn-1{--rot:-15deg;}
.hero-orn-2{--rot:25deg;}
.hero-orn-3{--rot:-10deg;}

/* ========== PLAYFUL BUTTONS ========== */
.btn-primary{position:relative;overflow:hidden;}
.btn-primary::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 50%,transparent 100%);
  transform:translateX(-100%);transition:transform .8s var(--ease);
}
.btn-primary:hover::before{transform:translateX(100%);}

.btn:active{transform:scale(.97);}

/* Wobble en cart counter cuando cambia */
@keyframes cartPop{
  0%{transform:scale(1);}
  50%{transform:scale(1.3) rotate(-8deg);}
  100%{transform:scale(1) rotate(0);}
}
.cart-count.pop{animation:cartPop .5s var(--ease);}

/* Floaty WhatsApp */
.wa{animation:waWobble 5s ease-in-out infinite;}
@keyframes waWobble{
  0%,90%,100%{transform:rotate(0);}
  93%{transform:rotate(-12deg);}
  96%{transform:rotate(8deg);}
  98%{transform:rotate(-4deg);}
}

/* Image hover en product cards: tilt suave */
.pcard:hover{transform:translateY(-3px);transition:transform .35s var(--ease);}

/* Reveal jugado: slight rotate */
.reveal-tilt{opacity:0;transform:translateY(28px) rotate(-1.5deg);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal-tilt.in{opacity:1;transform:none;}

/* Marquee con flores en lugar de ✷ */
.marquee-track span::after{content:"✿";color:var(--coral);font-size:.5em;opacity:.85;margin-left:32px;}
