:root{
  --cream:#fff8ef;--paper:#fffdf9;--ink:#24211e;--muted:#79736d;--line:#eadfce;
  --coral:#f0654c;--coral2:#ef765e;--mustard:#f2bf58;--sage:#9ba47a;--green:#7e914e;
  --shadow:0 18px 45px rgba(84,54,35,.12);--r:25px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.modal-open{overflow:hidden}.hidden{display:none!important}a{text-decoration:none;color:inherit}button,input{font:inherit}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,6vw,92px);background:rgba(255,253,249,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(228,213,193,.65)}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid #e6a169}.brand span{display:flex;gap:8px;align-items:baseline;font-size:24px}.brand b{font-weight:900}.brand em{font-style:normal;color:var(--coral);font-size:17px}
.site-header nav{display:flex;align-items:center;gap:34px;font-weight:750;font-size:14px}.site-header nav>a:not(.header-wa){position:relative}.site-header nav>a:not(.header-wa):hover:after{content:"";position:absolute;height:3px;width:26px;background:var(--coral);left:50%;bottom:-12px;transform:translateX(-50%) rotate(-5deg);border-radius:999px}
.header-wa,.footer-wa{background:var(--coral);color:#fff;padding:13px 20px;border-radius:999px;font-weight:850;box-shadow:0 8px 22px rgba(240,101,76,.22)}
main{overflow:hidden}.hero{min-height:530px;position:relative;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:30px;padding:62px clamp(24px,6vw,92px) 85px;background:radial-gradient(circle at 60% 20%,#fff 0,#fff8ef 45%,#fff4e7 100%)}
.hero:after,.catalog-section:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-33px;height:68px;background:var(--paper);border-radius:50% 50% 0 0/100% 100% 0 0}
.hero-copy{position:relative;z-index:2;max-width:540px}.eyebrow{margin:0 0 14px;font-size:11px;letter-spacing:.18em;font-weight:900;color:#947d66}.eyebrow.center{text-align:center}
.hero h1{font-family:Georgia,serif;font-size:clamp(54px,6.2vw,88px);line-height:.92;letter-spacing:-.055em;margin:0}.hero h1 em{color:var(--coral);font-weight:400}.hero-copy>p:not(.eyebrow){color:#625b54;font-size:18px;line-height:1.6;max-width:470px;margin:25px 0 28px}
.primary-btn{display:inline-flex;align-items:center;gap:15px;background:var(--coral);color:#fff;padding:14px 19px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 12px 24px rgba(240,101,76,.25)}.primary-btn span{font-size:18px}
.hero-collage{position:relative;height:390px;min-width:0}.hero-photo{position:absolute;border:7px solid #fff;border-radius:22px;overflow:hidden;background:#f0e6da;box-shadow:0 22px 34px rgba(70,47,31,.2);transition:.25s}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo.h1{width:38%;height:74%;left:5%;top:10%;transform:rotate(-7deg)}.hero-photo.h2{width:39%;height:88%;left:34%;top:9%;z-index:3;transform:rotate(5deg)}.hero-photo.h3{width:38%;height:74%;right:1%;top:3%;transform:rotate(7deg)}.hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f2e5d4,#fff)}
.hero-deco{position:absolute;border-radius:50%;opacity:.9}.d1{width:34px;height:34px;background:var(--mustard);left:32%;top:70px}.d2{width:34px;height:34px;background:var(--sage);right:10%;top:72px}.d3{width:26px;height:26px;background:#ef927d;right:4%;bottom:84px}
.catalog-section{position:relative;background:var(--paper);padding:95px clamp(22px,5vw,72px) 110px}.catalog-section h2{text-align:center;font-family:Georgia,serif;font-size:42px;letter-spacing:-.03em;margin:0 0 25px;font-weight:500}
.catalog-tools{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:28px}.search-box{height:45px;min-width:260px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:0 14px}.search-box span{font-size:22px;color:#8d8378}.search-box input{border:0;outline:0;background:transparent;width:100%}
.category-pills{display:flex;gap:9px;overflow:auto;max-width:100%;padding:2px}.cat{border:1px solid #e5d8c7;background:#fffdf9;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:750;font-size:12px;white-space:nowrap}.cat.active{background:var(--coral);border-color:var(--coral);color:#fff}.cat:hover:not(.active){border-color:#c9b7a0}
.product-strip-wrap{position:relative;max-width:1190px;margin:auto}.product-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);grid-template-rows:1fr;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 2px 24px}.product-strip::-webkit-scrollbar{display:none}
.product-card{scroll-snap-align:start;background:#fff;border:1px solid #eee2d4;border-radius:20px;overflow:hidden;box-shadow:0 10px 25px rgba(83,57,38,.1);transition:.25s;position:relative;min-width:0}.product-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(83,57,38,.16)}.product-card.selected{outline:2px solid var(--coral);outline-offset:1px}
.card-photo{aspect-ratio:.86/1;position:relative;background:#eee7df;overflow:hidden;cursor:pointer}.card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.product-card:hover .card-photo img{transform:scale(1.035)}
.favorite{position:absolute;top:11px;right:11px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;z-index:3;font-size:18px}.favorite.on{background:#fff;color:var(--coral)}
.origin-badge{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.94);border-radius:999px;padding:6px 8px;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:850;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.08)}.country-flag{width:22px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.09)}
.card-body{padding:15px 15px 14px}.card-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8a8178;font-weight:850;margin:0 0 7px}.card-body h3{font-size:16px;margin:0 0 5px}.card-desc{font-size:12px;line-height:1.4;color:#777;margin:0 0 11px;min-height:34px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-price{color:var(--coral);font-size:19px;font-weight:900}.card-wa{border:0;background:var(--coral);color:#fff;border-radius:10px;padding:10px 11px;font-size:10px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.product-card.selected .card-desc{display:block}
.strip-arrow{position:absolute;top:43%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid #eadfce;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.1);font-size:28px;cursor:pointer}.strip-arrow.left{left:-21px}.strip-arrow.right{right:-21px}.strip-dots{display:flex;justify-content:center;gap:7px;margin-top:2px}.strip-dot{width:9px;height:9px;border-radius:50%;background:#e7ddd0}.strip-dot.active{background:var(--coral)}
.empty{text-align:center;padding:60px;color:#7e756c;display:flex;flex-direction:column;gap:7px}
.how-section{background:var(--coral);position:relative;padding:78px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:22px;align-items:center}.how-section:before{content:"";position:absolute;top:-35px;left:-2%;right:-2%;height:72px;background:var(--coral);border-radius:50% 50% 0 0/100% 100% 0 0}.how-card{background:#fff9ef;border-radius:20px;padding:27px 22px;min-height:210px;box-shadow:var(--shadow);position:relative}.step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:#fff;font-weight:900}.step-num.alt{background:var(--mustard)}.step-num.coral{background:var(--coral)}.step-icon{font-size:42px;position:absolute;right:20px;top:24px;color:#333}.how-card h3{margin:24px 0 8px}.how-card p{font-size:13px;line-height:1.6;color:#5f5952}.step-line{width:26px;border-top:2px dashed #f6c75d}
footer{display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:center;padding:35px clamp(24px,6vw,92px);background:#fffaf1;border-top:1px solid #eadfce}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:50px;height:50px;border-radius:50%;object-fit:cover}.footer-brand div{display:flex;flex-direction:column}.footer-brand b{font-size:20px}.footer-brand span{font-size:11px;color:#777}.footer-points{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#5f5952}

/* Detail modal */
.modal,.order-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop,.order-backdrop{position:absolute;inset:0;background:rgba(58,43,33,.64);backdrop-filter:blur(6px)}
.detail-modal{position:relative;z-index:2;width:min(1160px,96vw);max-height:92vh;overflow:auto;background:#fffaf2;border-radius:28px;padding:42px 34px 22px;display:grid;grid-template-columns:1.12fr .88fr;gap:30px;box-shadow:0 40px 120px rgba(35,24,17,.35)}
.close-btn,.order-close{position:absolute;top:14px;right:14px;width:46px;height:46px;border-radius:50%;border:1px dashed var(--coral);background:#fffaf2;font-size:28px;cursor:pointer;z-index:6}
.gallery-column{display:grid;grid-template-columns:88px 1fr;gap:14px;min-width:0}.thumbs{display:flex;flex-direction:column;gap:10px}.thumb{height:92px;border-radius:12px;border:2px solid transparent;overflow:hidden;padding:0;background:#eee;cursor:pointer}.thumb.active{border-color:var(--coral)}.thumb img{width:100%;height:100%;object-fit:cover}.main-photo-wrap{position:relative;min-height:510px;border-radius:18px;overflow:hidden;background:#eee2d4}.main-photo-wrap>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .35s}.main-photo-wrap:hover>img{transform:scale(1.14)}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.94);font-size:30px;cursor:pointer;z-index:4}.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}.photo-count,.zoom-note{position:absolute;bottom:12px;background:rgba(255,255,255,.92);border-radius:999px;padding:7px 12px;font-size:11px;z-index:4}.photo-count{left:12px;font-weight:850}.zoom-note{right:12px;color:#5e554e}
.detail-info{padding:14px 4px 0}.detail-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-category{color:var(--coral);font-size:11px;letter-spacing:.14em;font-weight:900;text-transform:uppercase;margin:0}.modal-origin{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#665f58}.detail-info h3{font-family:Georgia,serif;font-size:42px;letter-spacing:-.035em;margin:12px 0}.price-row{display:flex;align-items:center;gap:18px}.price-row strong{font-size:34px;color:var(--coral)}.availability{border:1px solid #ddd3c4;background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.availability:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;margin-right:7px}.lead-desc{color:#625b54;font-size:14px;line-height:1.7;padding-bottom:18px;border-bottom:1px solid #eadfce}
.quick-features{display:flex;flex-direction:column;gap:13px;margin:17px 0}.feature-row{display:flex;align-items:center;gap:11px;font-size:13px}.feature-icon{width:27px;height:27px;border-radius:9px;background:#fff1e7;display:grid;place-items:center}.feature-label{color:#867b70;font-size:11px}.feature-value{font-weight:750}
.detail-wa{width:100%;border:0;border-radius:12px;background:var(--coral);color:#fff;padding:15px;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(240,101,76,.22)}.delivery-note{text-align:center;font-size:11px;color:#8a8178}
.accordions{grid-column:1/-1;border:1px solid #eadfce;margin-top:2px}.accordions details+details{border-top:1px solid #eadfce}.accordions summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:800;display:flex;gap:10px}.accordions summary::-webkit-details-marker{display:none}.accordions details>div{padding:0 45px 16px;font-size:12px;line-height:1.7;color:#655f58;white-space:pre-line}

/* Order form */
.order-card{position:relative;z-index:2;width:min(520px,100%);background:#fffaf2;border-radius:26px;padding:36px;box-shadow:0 30px 100px rgba(0,0,0,.24)}.order-card h3{margin:0 0 10px;font-family:Georgia,serif;font-size:30px}.order-intro{margin:0 0 22px;color:#777;font-size:14px;line-height:1.6}.order-product{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 0;margin-bottom:18px;border-top:1px solid #ecebe7;border-bottom:1px solid #ecebe7}.order-product>div{display:flex;flex-direction:column;gap:4px}.order-product span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#999;font-weight:800}.order-product strong{font-size:15px}#orderForm{display:flex;flex-direction:column;gap:14px}#orderForm label{display:flex;flex-direction:column;gap:7px}#orderForm label>span{font-size:12px;font-weight:750}#orderForm input{width:100%;height:48px;border:1px solid #d9d7d2;border-radius:12px;padding:0 14px;outline:none;background:#fff}#orderForm input:focus{border-color:var(--coral)}.order-error{min-height:18px;margin:0;color:#b42318;font-size:12px}.order-submit{border:0;background:var(--coral);color:#fff;border-radius:12px;padding:14px 16px;font-weight:850;cursor:pointer}.order-note{margin:0;color:#999;font-size:11px;line-height:1.5;text-align:center}

@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{text-align:center;margin:auto}.hero-collage{height:330px}.hero-photo.h1{left:10%}.hero-photo.h3{right:8%}.how-section{grid-template-columns:1fr;gap:14px}.step-line{display:none}.detail-modal{grid-template-columns:1fr;padding:60px 20px 20px}.gallery-column{grid-template-columns:70px 1fr}.main-photo-wrap{min-height:440px}.accordions{grid-column:auto}footer{grid-template-columns:1fr 1fr}.footer-points{display:none}}
@media(max-width:650px){.site-header{height:70px;padding:0 14px}.brand img{width:42px;height:42px}.brand span{font-size:19px}.brand em{font-size:14px}.site-header nav>a:not(.header-wa){display:none}.header-wa{padding:10px 13px;font-size:11px}.hero{padding:48px 18px 75px}.hero h1{font-size:56px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-collage{height:270px}.catalog-section{padding:80px 14px 90px}.catalog-section h2{font-size:34px}.catalog-tools{align-items:stretch}.search-box{width:100%}.product-strip{grid-auto-columns:74%}.strip-arrow{display:none}.product-card.selected .card-wa{display:inline-flex}.how-section{padding:60px 20px}.detail-modal{width:97vw;max-height:95vh}.gallery-column{grid-template-columns:1fr}.thumbs{order:2;flex-direction:row;overflow:auto}.thumb{min-width:68px;height:68px}.main-photo-wrap{min-height:370px}.zoom-note{display:none}.detail-info h3{font-size:34px}.price-row strong{font-size:28px}.order-card{padding:28px 20px}.order-product{grid-template-columns:1fr}footer{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-wa{display:inline-block}}


/* Botón visible en todas las tarjetas */
.card-bottom{
  align-items:flex-end;
}
.card-wa{
  transition:transform .2s ease, background .2s ease;
}
.card-wa:hover{
  transform:translateY(-1px);
  background:#df513b;
}
@media(max-width:650px){
  .card-bottom{
    flex-direction:column;
    align-items:stretch;
  }
  .card-wa{
    width:100%;
    margin-top:5px;
  }
}


/* =========================================================
   GRID DEFINITIVO - 20 PRODUCTOS POR PAGINA
   ========================================================= */
.product-grid{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.product-grid .product-card{
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  background:#fff;
  border:1px solid #eee2d4;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 25px rgba(83,57,38,.10);
}
.product-grid .card-photo{
  position:relative;
  width:100%;
  height:260px;
  min-height:260px;
  max-height:260px;
  overflow:hidden;
  background:#eee7df;
}
.product-grid .card-photo > img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-grid .origin-badge{
  position:absolute !important;
  left:10px !important;
  top:10px !important;
  width:auto !important;
  height:auto !important;
  max-width:calc(100% - 54px);
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  background:rgba(255,255,255,.96);
  border-radius:999px;
  z-index:5;
  font-size:10px;
  font-weight:850;
  line-height:1;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.product-grid .origin-badge svg,
.product-grid svg.country-flag{
  display:block !important;
  width:22px !important;
  height:14px !important;
  min-width:22px !important;
  max-width:22px !important;
  flex:0 0 22px !important;
}
.product-grid .favorite{
  position:absolute;
  top:10px;
  right:10px;
  z-index:6;
}
.product-grid .card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:165px;
  padding:15px;
}
.product-grid .card-desc{
  min-height:34px;
}
.product-grid .card-bottom{
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.product-grid .card-wa{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  white-space:nowrap;
}
.pagination-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:32px;
}
.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.page-btn,.page-nav{
  min-width:40px;
  height:40px;
  padding:0 12px;
  border:1px solid #e1d5c6;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-weight:850;
  cursor:pointer;
}
.page-btn.active{
  background:var(--coral);
  border-color:var(--coral);
  color:#fff;
}
.page-btn.ellipsis{
  border:0;
  background:transparent;
  min-width:auto;
  cursor:default;
}
.page-nav:disabled{opacity:.35;cursor:not-allowed}

@media(max-width:1150px){
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .product-grid .card-photo{height:250px;min-height:250px;max-height:250px}
}
@media(max-width:900px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-grid .card-photo{height:210px;min-height:210px;max-height:210px}
  .product-grid .card-bottom{flex-direction:column;align-items:stretch}
  .product-grid .card-wa{width:100%}
  .page-btn,.page-nav{min-width:36px;height:36px;font-size:12px;padding:0 10px}
}


/* =========================================================
   DETALLE RESPONSIVO — FIX 2026-08-11
   Mantiene el modal estable aunque se abran acordeones largos.
   ========================================================= */

/* El overlay siempre ocupa la pantalla y controla el scroll */
.modal{
  overflow:auto;
  overscroll-behavior:contain;
  align-items:flex-start;
  padding:clamp(10px,2vw,24px);
}

/* El modal nunca puede superar la pantalla.
   El scroll vive dentro del propio modal, no rompe el viewport. */
.detail-modal{
  width:min(1180px, calc(100vw - 32px)) !important;
  max-width:1180px !important;
  max-height:calc(100dvh - 32px) !important;
  height:auto !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  margin:auto !important;
  padding:clamp(28px,3vw,42px) clamp(18px,2.5vw,34px) 24px !important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr) !important;
  align-items:start !important;
}

/* Evita que cualquiera de las dos columnas fuerce el ancho */
.gallery-column,
.detail-info,
.main-photo-wrap,
.accordions,
.accordions details,
.accordions details > div{
  min-width:0 !important;
  max-width:100% !important;
}

/* La galería no crece verticalmente por culpa del texto */
.gallery-column{
  position:sticky;
  top:0;
  align-self:start;
}

/* Imagen grande adaptativa */
.main-photo-wrap{
  min-height:0 !important;
  height:min(62vh, 610px) !important;
  max-height:610px !important;
}

/* El texto largo jamás debe desbordar horizontalmente */
.detail-info,
.detail-info p,
.detail-info div,
.accordions details > div,
.accordions summary{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Acordeones: altura natural, sin afectar el ancho ni la imagen */
.accordions{
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:14px !important;
  background:#fffaf2;
}
.accordions details{
  width:100% !important;
}
.accordions summary{
  position:relative;
  padding:15px 46px 15px 18px !important;
}
.accordions summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid #e6d8c7;
  border-radius:50%;
  font-weight:500;
}
.accordions details[open] summary::after{
  content:"−";
}
.accordions details > div{
  padding:0 44px 18px !important;
  line-height:1.75 !important;
}

/* Pantallas medianas: el detalle pasa a una sola columna
   antes de que se comprima demasiado. */
@media(max-width:1024px){
  .detail-modal{
    width:min(920px, calc(100vw - 24px)) !important;
    max-height:calc(100dvh - 24px) !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .gallery-column{
    position:relative;
    top:auto;
    grid-template-columns:82px minmax(0,1fr) !important;
  }
  .main-photo-wrap{
    height:min(58vh,560px) !important;
  }
  .accordions{
    grid-column:1 !important;
  }
}

/* Tablet y móvil */
@media(max-width:760px){
  .modal{
    padding:8px !important;
  }
  .detail-modal{
    width:calc(100vw - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
    border-radius:20px !important;
    padding:58px 14px 18px !important;
    gap:18px !important;
  }
  .close-btn{
    top:10px !important;
    right:10px !important;
    width:40px !important;
    height:40px !important;
    font-size:24px !important;
  }
  .gallery-column{
    grid-template-columns:1fr !important;
  }
  .thumbs{
    order:2;
    display:flex !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .thumbs::-webkit-scrollbar{
    display:none;
  }
  .thumb{
    flex:0 0 70px !important;
    width:70px !important;
    height:70px !important;
  }
  .main-photo-wrap{
    order:1;
    height:min(54vh,460px) !important;
    min-height:300px !important;
  }
  .detail-info{
    padding:0 !important;
  }
  .detail-info h3{
    font-size:clamp(30px,9vw,38px) !important;
  }
  .price-row{
    flex-wrap:wrap;
  }
  .quick-features{
    gap:10px !important;
  }
  .accordions summary{
    padding:14px 44px 14px 14px !important;
    font-size:14px;
  }
  .accordions details > div{
    padding:0 14px 16px !important;
    font-size:12px;
  }
}

/* Teléfonos angostos */
@media(max-width:430px){
  .detail-modal{
    width:100% !important;
    max-height:100dvh !important;
    min-height:100dvh;
    border-radius:0 !important;
    padding:56px 12px 18px !important;
  }
  .modal{
    padding:0 !important;
  }
  .main-photo-wrap{
    height:46vh !important;
    min-height:280px !important;
    border-radius:14px !important;
  }
  .gallery-arrow{
    width:38px !important;
    height:38px !important;
    font-size:25px !important;
  }
  .photo-count{
    left:8px !important;
    bottom:8px !important;
  }
  .zoom-note{
    display:none !important;
  }
  .detail-wa{
    position:sticky;
    bottom:8px;
    z-index:8;
    box-shadow:0 10px 25px rgba(240,101,76,.28);
  }
}


/* =========================================================
   PORTADA ESTACIONAL + SECCIÓN "CÓMO PEDIR" COMPACTA
   ========================================================= */

/* La portada mantiene el collage, pero sus tres imágenes pueden venir
   de Portada 1 / Portada 2 / Portada 3 en Google Sheets. */
.hero-photo img{
  object-position:center;
}

/* Cómo pedir: menos altura y menos aire */
.how-section{
  padding:54px clamp(24px,6vw,86px) !important;
  gap:14px !important;
}
.how-card{
  min-height:150px !important;
  padding:20px 18px !important;
  border-radius:18px !important;
}
.how-card h3{
  margin:14px 0 6px !important;
  font-size:16px !important;
}
.how-card p{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
.step-num{
  width:30px !important;
  height:30px !important;
  font-size:12px !important;
}
.step-icon{
  font-size:30px !important;
  right:16px !important;
  top:17px !important;
}
.step-line{
  width:20px !important;
}

/* Footer más limpio: sin CTA duplicado de WhatsApp */
footer{
  grid-template-columns:1fr 1fr !important;
}
.footer-points{
  justify-self:end;
}

/* Tablet */
@media(max-width:900px){
  .how-section{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    padding:46px 20px !important;
    gap:10px !important;
  }
  .how-section .step-line{
    display:none !important;
  }
  .how-card{
    min-height:140px !important;
  }
}

/* Móvil: tarjetas compactas horizontales para evitar una página larguísima */
@media(max-width:650px){
  .how-section{
    display:flex !important;
    flex-direction:column !important;
    padding:42px 14px !important;
    gap:10px !important;
  }
  .how-card{
    width:100% !important;
    min-height:0 !important;
    padding:14px 14px 14px 58px !important;
    border-radius:15px !important;
    position:relative !important;
  }
  .step-num{
    position:absolute !important;
    left:14px !important;
    top:14px !important;
  }
  .step-icon{
    display:none !important;
  }
  .how-card h3{
    margin:0 0 3px !important;
    font-size:14px !important;
  }
  .how-card p{
    font-size:11px !important;
    line-height:1.35 !important;
  }
  footer{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
    gap:14px !important;
    padding:26px 18px !important;
  }
  .footer-points{
    justify-self:center !important;
    align-items:center !important;
    gap:5px !important;
  }
}


/* WhatsApp de TARJETAS: compacto. El WhatsApp del encabezado se conserva original. */
.product-grid .card-wa{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  padding:0 !important;
  border-radius:50% !important;
  overflow:hidden !important;
  font-size:0 !important;
  line-height:1 !important;
  position:relative;
  flex:0 0 42px !important;
  box-shadow:0 6px 15px rgba(240,101,76,.18);
}
.product-grid .card-wa::before{
  content:"";
  width:20px;
  height:20px;
  display:block;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M16.04 3C8.86 3 3.02 8.77 3.02 15.86c0 2.5.74 4.94 2.14 7.02L3 29l6.34-2.08a13.1 13.1 0 0 0 6.7 1.84h.01c7.17 0 13-5.77 13-12.87C29.05 8.8 23.22 3 16.04 3Zm0 23.58h-.01a10.9 10.9 0 0 1-5.55-1.51l-.4-.24-3.76 1.24 1.25-3.62-.26-.41a10.62 10.62 0 0 1-1.68-5.72c0-5.9 4.86-10.7 10.84-10.7 5.97 0 10.83 4.8 10.83 10.7 0 5.9-4.86 10.7-10.83 10.7Zm5.94-8.02c-.33-.16-1.93-.94-2.23-1.05-.3-.11-.52-.16-.74.16-.22.32-.85 1.05-1.04 1.27-.19.22-.38.24-.71.08-.33-.16-1.38-.5-2.63-1.6-.97-.85-1.63-1.9-1.82-2.22-.19-.32-.02-.5.14-.66.15-.14.33-.38.49-.57.16-.19.22-.32.33-.54.11-.22.05-.4-.03-.57-.08-.16-.74-1.76-1.01-2.41-.27-.64-.54-.55-.74-.56h-.63c-.22 0-.57.08-.87.4-.3.32-1.14 1.1-1.14 2.68 0 1.59 1.17 3.12 1.33 3.34.16.22 2.3 3.47 5.57 4.87.78.33 1.39.53 1.86.68.78.24 1.49.21 2.05.13.63-.09 1.93-.78 2.2-1.53.27-.75.27-1.39.19-1.53-.08-.14-.3-.22-.63-.38Z'/%3E%3C/svg%3E");
}
.product-grid .card-wa:hover{
  transform:translateY(-2px);
}
@media(max-width:650px){
  .product-grid .card-bottom{
    flex-direction:row !important;
    align-items:center !important;
  }
  .product-grid .card-wa{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  .product-grid .card-wa::before{width:18px;height:18px}
}


/* DETALLE: acordeones compactos + zoom mejorado */
.accordions details:not([open]) > div{
  display:none !important;
}
.main-photo-wrap{
  cursor:zoom-in;
}
.main-photo-wrap > img{
  transform:scale(1);
  transition:transform .28s ease, transform-origin .08s linear !important;
  will-change:transform;
}
@media(hover:hover){
  .main-photo-wrap:hover > img{
    transform:scale(1.75) !important;
  }
}
.main-photo-wrap.zoom-active{
  cursor:zoom-out;
}
.main-photo-wrap.zoom-active > img{
  transform:scale(1.8) !important;
}
.detail-modal{
  contain:layout paint;
}
.detail-info,
.accordions{
  min-width:0;
}
.accordions details > div{
  max-height:none !important;
}
@media(max-width:650px){
  .main-photo-wrap{
    overflow:hidden !important;
    touch-action:pan-y;
  }
}


/* =========================================================
   PORTADA: SOPORTE PARA IMAGEN O VIDEO
   ========================================================= */
.hero-photo .hero-media{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}
.hero-photo video.hero-media{
  background:#efe5d8;
}

/* Respeta accesibilidad: si el usuario prefiere menos movimiento,
   el video sigue visible pero se evita animación innecesaria del contenedor. */
@media(prefers-reduced-motion:reduce){
  .hero-photo{
    transition:none !important;
  }
}


/* =========================================================
   VIDEO DE GOOGLE DRIVE EN PORTADA
   ========================================================= */
.hero-photo iframe.hero-media{
  border:0;
  pointer-events:auto;
}
.hero-drive-video{
  background:#1c1b19;
}







/* =========================================================
   PUG ASOMÁNDOSE SOBRE PRODUCTOS — ESTILO REFERENCIA
   ========================================================= */
.product-card{
  position:relative;
  overflow:visible !important;
}
.product-card .card-photo{
  overflow:hidden;
}

/* El pug aparece centrado sobre la tarjeta, como si se agarrara del borde */
.pug-product-peek{
  position:absolute;
  z-index:20;
  width:86px;
  left:50%;
  top:-46px;
  transform:translate(-50%,26px) scale(.94);
  opacity:0;
  pointer-events:none;
  filter:drop-shadow(0 6px 9px rgba(52,36,27,.20));
  transition:
    transform .42s cubic-bezier(.2,.9,.25,1.15),
    opacity .22s ease;
}
.pug-product-peek img{
  display:block;
  width:100%;
  height:auto;
}
.pug-product-peek.show{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}

/* Pequeño rebote para que se sienta que "sale" de repente */
.pug-product-peek.show img{
  animation:pugPeekBounce .55s ease-out both;
}
@keyframes pugPeekBounce{
  0%{transform:translateY(10px) scale(.92)}
  65%{transform:translateY(-3px) scale(1.03)}
  100%{transform:translateY(0) scale(1)}
}

/* En móvil conserva la proporción del ejemplo y no tapa demasiado producto */
@media(max-width:650px){
  .pug-product-peek{
    width:66px;
    top:-35px;
  }
}

/* Si el usuario prefiere menos movimiento, no se muestra */
@media(prefers-reduced-motion:reduce){
  .pug-product-peek{display:none!important}
}


/* PUG DEL DISEÑO — reemplazo de mascota */
.pug-product-peek{
  width:92px !important;
  top:-50px !important;
  left:50% !important;
  right:auto !important;
  transform:translate(-50%,25px) scale(.96) !important;
}
.pug-product-peek.show{
  transform:translate(-50%,0) scale(1) !important;
}
.pug-product-peek img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}
@media(max-width:650px){
  .pug-product-peek{
    width:70px !important;
    top:-38px !important;
  }
}


/* =========================================================
   PUG EXACTO DEL USUARIO
   Se usa la imagen subida tal cual, sin redibujo ni recorte.
   ========================================================= */
.pug-product-peek{
  width:118px !important;
  top:-69px !important;
  left:50% !important;
  right:auto !important;
  transform:translate(-50%,26px) scale(.96) !important;
  opacity:0;
}
.pug-product-peek.show{
  opacity:1 !important;
  transform:translate(-50%,0) scale(1) !important;
}
.pug-product-peek img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:0 !important;
  filter:none !important;
}
@media(max-width:650px){
  .pug-product-peek{
    width:92px !important;
    top:-54px !important;
  }
}


/* =========================================================
   PUG FINAL DEL USUARIO — asomado sobre tarjetas
   ========================================================= */
.pug-product-peek{
  width:126px !important;
  top:-67px !important;
  left:50% !important;
  right:auto !important;
  transform:translate(-50%,28px) scale(.96) !important;
  opacity:0;
  pointer-events:none !important;
  z-index:25 !important;
  filter:drop-shadow(0 6px 10px rgba(52,36,27,.18)) !important;
}
.pug-product-peek.show{
  opacity:1 !important;
  transform:translate(-50%,0) scale(1) !important;
}
.pug-product-peek img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:0 !important;
  filter:none !important;
}
@media(max-width:650px){
  .pug-product-peek{
    width:94px !important;
    top:-51px !important;
  }
}


/* =========================================================
   PUG: APARECE DESDE DETRÁS DE LA TARJETA Y REGRESA DETRÁS
   ========================================================= */

/* La tarjeta necesita overflow visible, pero la foto mantiene su recorte */
.product-card{
  position:relative;
  overflow:visible !important;
}
.product-card .card-photo{
  position:relative;
  z-index:2;
  overflow:hidden !important;
}

/* El pug queda por detrás del contenido de la tarjeta */
.pug-product-peek{
  z-index:1 !important;
  width:126px !important;
  left:50% !important;
  top:-4px !important;

  /* Estado oculto: casi completo detrás de la tarjeta */
  opacity:0 !important;
  transform:translate(-50%, 48px) scale(.96) !important;

  transition:
    transform .52s cubic-bezier(.22,.9,.26,1),
    opacity .20s ease !important;

  pointer-events:none !important;
  filter:drop-shadow(0 5px 8px rgba(52,36,27,.14)) !important;
}

/* Al aparecer sube desde atrás de la tarjeta */
.pug-product-peek.show{
  opacity:1 !important;
  transform:translate(-50%, -58px) scale(1) !important;
}

/* Al irse baja otra vez detrás de la tarjeta */
.pug-product-peek.leaving{
  opacity:0 !important;
  transform:translate(-50%, 48px) scale(.96) !important;
}

/* Quitamos el rebote anterior para que se sienta que sale de atrás,
   no que viene "hacia el frente". */
.pug-product-peek.show img{
  animation:none !important;
}

/* La imagen del pug siempre queda limpia */
.pug-product-peek img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  filter:none !important;
}

/* En celular mismo efecto, con menor recorrido */
@media(max-width:650px){
  .pug-product-peek{
    width:94px !important;
    top:-2px !important;
    transform:translate(-50%, 38px) scale(.96) !important;
  }
  .pug-product-peek.show{
    transform:translate(-50%, -43px) scale(1) !important;
  }
  .pug-product-peek.leaving{
    transform:translate(-50%, 38px) scale(.96) !important;
  }
}


/* =========================================================
   PUG — MOVIMIENTO MÁS LENTO Y NATURAL
   ========================================================= */
.pug-product-peek{
  transition:
    transform .90s cubic-bezier(.22,.75,.25,1),
    opacity .38s ease !important;
}
.pug-product-peek.show{
  transition:
    transform .90s cubic-bezier(.22,.75,.25,1),
    opacity .38s ease !important;
}
.pug-product-peek.leaving{
  transition:
    transform .90s cubic-bezier(.45,0,.55,1),
    opacity .60s ease .18s !important;
}


/* =========================================================
   ¿NO LO TENEMOS? PREGUNTA POR ÉL
   ========================================================= */
.find-help-link{
  max-width:1240px;
  margin:0 auto 22px;
  padding:12px 16px;
  border:1px dashed #efb29f;
  border-radius:16px;
  background:#fff7f1;
  display:flex;
  align-items:center;
  gap:10px;
  color:#5f5148;
  font-size:12px;
  transition:.2s ease;
}
.find-help-link:hover{
  border-color:var(--coral);
  transform:translateY(-1px);
}
.find-help-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#ffe3d9;
  display:grid;
  place-items:center;
  color:var(--coral);
  font-size:18px;
  flex:0 0 auto;
}
.find-help-arrow{
  margin-left:auto;
  color:var(--coral);
  font-weight:900;
}

.special-search-section{
  background:#fffaf3;
  padding:78px clamp(20px,6vw,90px) 70px;
  position:relative;
}
.special-search-shell{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:42px;
  align-items:center;
  background:linear-gradient(135deg,#fff6ea,#fffaf4 55%,#fff0e7);
  border:1px solid #efdcca;
  border-radius:30px;
  padding:40px;
  box-shadow:0 20px 50px rgba(94,61,39,.09);
  overflow:hidden;
  position:relative;
}
.special-search-shell:before,
.special-search-shell:after{
  content:"";
  position:absolute;
  border-radius:50%;
  opacity:.45;
}
.special-search-shell:before{
  width:130px;height:130px;
  background:#ffd0c0;
  left:-45px;bottom:-55px;
}
.special-search-shell:after{
  width:85px;height:85px;
  background:#f7d982;
  right:-25px;top:-28px;
}
.special-search-visual{
  position:relative;
  min-height:330px;
  display:grid;
  place-items:center;
  z-index:2;
}
.special-pug-wrap{
  position:relative;
  width:min(360px,100%);
  height:300px;
}
.special-pug{
  position:absolute;
  width:210px;
  left:50%;
  top:0;
  transform:translateX(-50%);
  z-index:3;
  filter:drop-shadow(0 12px 18px rgba(64,40,28,.18));
}
.special-reference-card{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%) rotate(-4deg);
  width:240px;
  height:205px;
  border:7px solid #fff;
  border-radius:22px;
  background:#f1ddd0;
  box-shadow:0 18px 30px rgba(69,44,29,.16);
  overflow:hidden;
}
.reference-photo-placeholder{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:linear-gradient(145deg,#ead3c4,#fff1e4);
  color:#896e5e;
}
.reference-photo-placeholder span{font-size:42px}
.reference-photo-placeholder small{font-weight:800}

.special-search-copy{
  position:relative;
  z-index:2;
}
.special-search-copy h2{
  font-family:Georgia,serif;
  font-size:clamp(38px,4.7vw,66px);
  line-height:.97;
  letter-spacing:-.045em;
  margin:0 0 18px;
}
.special-search-copy h2 em{
  font-style:normal;
  color:var(--coral);
}
.special-lead{
  font-size:15px;
  line-height:1.7;
  color:#6c625a;
  max-width:720px;
}
.special-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:24px 0;
}
.special-benefits>div{
  background:rgba(255,255,255,.72);
  border:1px solid #f0dfd0;
  border-radius:15px;
  padding:13px;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:9px;
}
.special-benefits>div>span{
  grid-row:1/3;
  font-size:23px;
}
.special-benefits strong{
  font-size:12px;
}
.special-benefits small{
  color:#867a70;
  line-height:1.4;
}
.special-whatsapp-btn{
  border:0;
  background:var(--coral);
  color:#fff;
  border-radius:999px;
  padding:14px 22px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(240,101,76,.22);
}
.special-whatsapp-btn:hover{transform:translateY(-2px)}
.special-note{
  margin:9px 0 0;
  color:#998b81;
  font-size:11px;
}
.special-steps{
  max-width:1240px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.special-steps article{
  background:#fff;
  border:1px solid #eee1d3;
  border-radius:18px;
  padding:18px;
  position:relative;
}
.special-step-number{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  background:var(--coral);
  color:#fff;
  border-radius:50%;
  font-size:11px;
  font-weight:900;
  margin-bottom:12px;
}
.special-steps strong{
  font-size:14px;
}
.special-steps p{
  margin:6px 0 0;
  color:#786e66;
  font-size:11px;
  line-height:1.5;
}

/* Modal especial */
#specialSearchForm{
  display:flex;
  flex-direction:column;
  gap:14px;
}
#specialSearchForm label{
  display:flex;
  flex-direction:column;
  gap:7px;
}
#specialSearchForm label>span{
  font-size:12px;
  font-weight:750;
}
#specialSearchForm input,
#specialSearchForm textarea{
  width:100%;
  border:1px solid #d9d7d2;
  border-radius:12px;
  padding:12px 14px;
  outline:none;
  background:#fff;
  resize:vertical;
  font:inherit;
}
#specialSearchForm input:focus,
#specialSearchForm textarea:focus{
  border-color:var(--coral);
}

@media(max-width:900px){
  .special-search-shell{
    grid-template-columns:1fr;
    gap:18px;
  }
  .special-search-visual{
    min-height:270px;
  }
  .special-pug-wrap{
    height:250px;
  }
  .special-pug{width:180px}
  .special-reference-card{width:210px;height:175px}
  .special-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .special-search-section{
    padding:52px 14px 46px;
  }
  .special-search-shell{
    padding:24px 16px;
    border-radius:22px;
  }
  .special-search-copy h2{
    font-size:39px;
  }
  .special-lead{
    font-size:13px;
  }
  .special-benefits{
    grid-template-columns:1fr;
    gap:8px;
  }
  .special-whatsapp-btn{
    width:100%;
    justify-content:center;
  }
  .special-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .special-steps article{
    padding:14px;
  }
  .find-help-link{
    font-size:11px;
  }
}


/* =========================================================
   CÓMO PEDIR — COMPACTO, ARRIBA DEL CATÁLOGO
   ========================================================= */
.how-mini{
  background:#fffaf3;
  padding:28px clamp(18px,5vw,72px);
  border-top:1px solid #f0e2d5;
  border-bottom:1px solid #f0e2d5;
}
.how-mini{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:34px;
  align-items:center;
}
.how-mini-head{
  min-width:170px;
}
.how-mini-head .eyebrow{
  margin-bottom:5px;
}
.how-mini-head h2{
  margin:0;
  font-family:Georgia,serif;
  font-size:30px;
  letter-spacing:-.03em;
  font-weight:500;
}
.how-mini-steps{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:12px;
  align-items:center;
}
.how-mini-card{
  min-width:0;
  background:#fff;
  border:1px solid #eee0d2;
  border-radius:16px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:center;
  box-shadow:0 6px 18px rgba(78,52,34,.06);
}
.how-mini-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  background:#fff0e7;
  display:grid;
  place-items:center;
  font-size:20px;
}
.how-mini-num{
  display:block;
  color:var(--coral);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:2px;
}
.how-mini-card strong{
  display:block;
  font-size:13px;
  margin-bottom:2px;
}
.how-mini-card p{
  margin:0;
  color:#83766c;
  font-size:10px;
  line-height:1.35;
}
.how-mini-arrow{
  color:#e8a888;
  font-size:20px;
  font-weight:900;
}

@media(max-width:900px){
  .how-mini{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 18px;
  }
  .how-mini-head{
    text-align:center;
  }
  .how-mini-head h2{
    font-size:27px;
  }
}

@media(max-width:650px){
  .how-mini{
    padding:20px 12px;
    gap:10px;
  }
  .how-mini-head .eyebrow{
    display:none;
  }
  .how-mini-head h2{
    font-size:23px;
  }
  .how-mini-steps{
    grid-template-columns:1fr;
    gap:8px;
  }
  .how-mini-arrow{
    display:none;
  }
  .how-mini-card{
    grid-template-columns:34px 1fr;
    padding:9px 11px;
    border-radius:14px;
  }
  .how-mini-icon{
    width:34px;
    height:34px;
    font-size:17px;
    border-radius:10px;
  }
  .how-mini-card strong{
    font-size:12px;
  }
  .how-mini-card p{
    font-size:9.5px;
  }
}


/* =========================================================
   OFERTAS ESPECIALES — CONTROLADAS DESDE GOOGLE SHEETS
   ========================================================= */
.cat-offers{
  border-color:#f2a58f !important;
  background:#fff4ee !important;
  color:#d94f39 !important;
}
.cat-offers.active{
  background:var(--coral) !important;
  color:#fff !important;
  border-color:var(--coral) !important;
}
.offer-badge{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:7;
  background:#171513;
  color:#fff;
  border-radius:999px;
  padding:7px 9px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 5px 14px rgba(0,0,0,.14);
}
.card-price-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
}
.card-old-price{
  color:#9a918a;
  font-size:11px;
  font-weight:650;
  text-decoration:line-through;
  text-decoration-thickness:1px;
}
.card-price.is-offer{
  color:var(--coral);
}
.modal-price-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1;
}
.modal-old-price{
  color:#978b81;
  text-decoration:line-through;
  font-size:15px;
  font-weight:650;
  margin-bottom:5px;
}
@media(max-width:650px){
  .offer-badge{
    padding:6px 8px;
    font-size:8px;
  }
}


/* =========================================================
   MICROBAR DE ORIGEN — DISCRETA Y NO INVASIVA
   ========================================================= */
.origin-microbar{
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  background:#fff5ea;
  border-bottom:1px solid #f1dfcf;
  color:#75685d;
  font-size:11px;
  letter-spacing:.01em;
  text-align:center;
  position:relative;
  z-index:41;
}
.origin-microbar strong{
  color:#4e463f;
  font-weight:800;
}
.origin-microbar i{
  font-style:normal;
  color:#c9a98f;
  margin:0 7px;
}
.origin-microbar-mobile{
  display:none;
}

/* El header sticky queda debajo de la microbarra */
.site-header{
  top:0;
}

/* Si se desea mantener ambos visibles al hacer scroll, la barra también queda fija */
.origin-microbar{
  position:sticky;
  top:0;
}
.site-header{
  top:30px;
}

@media(max-width:650px){
  .origin-microbar{
    height:26px;
    padding:0 10px;
    font-size:10px;
  }
  .origin-microbar-desktop{
    display:none;
  }
  .origin-microbar-mobile{
    display:inline;
    font-weight:750;
  }
  .site-header{
    top:26px;
  }
}


/* =========================================================
   ORIGEN DE PRODUCTOS — INTRO DISCRETA ANTES DEL CATÁLOGO
   ========================================================= */

/* La microbarra superior ya no existe; el header vuelve a su posición normal. */
.site-header{
  top:0 !important;
}

.catalog-origin-note{
  max-width:1240px;
  margin:18px auto 8px;
  padding:13px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  background:#fff8ef;
  border:1px solid #f0dfcf;
  border-radius:17px;
  color:#75685d;
  box-shadow:0 5px 16px rgba(78,52,34,.035);
}

.catalog-origin-flags{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}

.origin-flag-chip{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #eee2d6;
  border-radius:50%;
  font-size:16px;
}

.catalog-origin-copy{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
}

.catalog-origin-copy strong{
  color:#4f463f;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}

.catalog-origin-copy span{
  color:#887a70;
  font-size:10.5px;
}

/* Ocultamos cualquier regla visual residual de la antigua microbarra. */
.origin-microbar{
  display:none !important;
}

@media(max-width:650px){
  .site-header{
    top:0 !important;
  }

  .catalog-origin-note{
    margin:12px 12px 4px;
    padding:10px 12px;
    justify-content:flex-start;
    gap:9px;
    border-radius:14px;
  }

  .catalog-origin-flags{
    gap:3px;
  }

  .origin-flag-chip{
    width:25px;
    height:25px;
    font-size:13px;
  }

  .catalog-origin-copy{
    display:block;
    line-height:1.25;
  }

  .catalog-origin-copy strong{
    display:block;
    font-size:10.5px;
    white-space:normal;
  }

  .catalog-origin-copy span{
    display:block;
    margin-top:2px;
    font-size:9px;
  }
}


/* =========================================================
   MODAL — FIX PARA FOTOS DE DIFERENTES TAMAÑOS / PROPORCIONES
   ========================================================= */
.detail-modal{
  width:min(1180px, calc(100vw - 32px)) !important;
  max-width:1180px !important;
  max-height:calc(100dvh - 32px) !important;
  overflow:auto !important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) !important;
  align-items:start !important;
}

.gallery-column,
.detail-info{
  min-width:0 !important;
  width:100% !important;
}

.main-photo-wrap{
  position:relative !important;
  width:100% !important;
  height:clamp(430px,58vh,590px) !important;
  min-height:430px !important;
  max-height:590px !important;
  background:#f4eee7 !important;
  overflow:hidden !important;
  border-radius:18px !important;
}

.main-photo-wrap > img,
#modalImage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  aspect-ratio:auto !important;
}

.main-photo-wrap:hover > img{
  transform:scale(1.65) !important;
}
.main-photo-wrap.zoom-active > img{
  transform:scale(1.75) !important;
}

@media(max-width:1024px){
  .detail-modal{
    grid-template-columns:1fr !important;
    width:min(920px, calc(100vw - 24px)) !important;
  }
  .gallery-column{
    position:relative !important;
    top:auto !important;
  }
  .main-photo-wrap{
    height:clamp(390px,56vh,540px) !important;
    min-height:390px !important;
  }
}

@media(max-width:650px){
  .detail-modal{
    width:calc(100vw - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
    padding:56px 12px 16px !important;
    border-radius:18px !important;
  }
  .main-photo-wrap{
    height:48vh !important;
    min-height:300px !important;
    max-height:430px !important;
  }
}

@media(max-width:430px){
  .detail-modal{
    width:100% !important;
    max-height:100dvh !important;
    min-height:100dvh !important;
    border-radius:0 !important;
  }
  .main-photo-wrap{
    height:44vh !important;
    min-height:270px !important;
  }
}


/* =========================================================
   MODAL PRODUCTO — FIX ESTRUCTURAL DEFINITIVO
   La foto nunca decide el tamaño del modal.
   ========================================================= */

/* Escritorio */
@media(min-width:1025px){
  #productModal.modal{
    overflow:hidden !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
  }

  #productModal .detail-modal{
    box-sizing:border-box !important;
    width:min(1220px, calc(100vw - 48px)) !important;
    max-width:1220px !important;

    /* ALTURA REAL FIJA SEGÚN VIEWPORT */
    height:min(820px, calc(100dvh - 48px)) !important;
    min-height:0 !important;
    max-height:calc(100dvh - 48px) !important;

    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr) !important;
    grid-template-rows:minmax(0,1fr) !important;
    gap:32px !important;

    overflow:hidden !important;
    padding:46px 34px 28px !important;
    margin:0 !important;
  }

  /* La galería queda confinada a la altura del modal */
  #productModal .gallery-column{
    position:relative !important;
    top:auto !important;
    align-self:stretch !important;
    min-height:0 !important;
    height:100% !important;

    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) !important;
    gap:14px !important;

    overflow:hidden !important;
  }

  #productModal .thumbs{
    min-height:0 !important;
    height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    align-content:start !important;
    padding-right:3px !important;
  }

  #productModal .thumb{
    flex:0 0 82px !important;
    width:100% !important;
    height:82px !important;
  }

  /* Este marco toma TODO el alto disponible de la galería */
  #productModal .main-photo-wrap{
    position:relative !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#f3ede6 !important;
    border-radius:18px !important;
  }

  /* La imagen se adapta al marco, jamás al revés */
  #productModal #modalImage{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
  }

  /* La derecha tiene su PROPIO scroll.
     Descripciones largas ya no agrandan toda la ventana. */
  #productModal .detail-info{
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:0 8px 12px 0 !important;
    overscroll-behavior:contain !important;
    scrollbar-gutter:stable !important;
  }

  #productModal .accordions{
    width:100% !important;
    margin-bottom:6px !important;
  }
}

/* Laptop baja: menor altura pero misma estructura */
@media(min-width:1025px) and (max-height:760px){
  #productModal .detail-modal{
    height:calc(100dvh - 28px) !important;
    max-height:calc(100dvh - 28px) !important;
    padding-top:38px !important;
    padding-bottom:20px !important;
  }
  #productModal .thumb{
    flex-basis:70px !important;
    height:70px !important;
  }
}

/* Tablet y móvil:
   una sola columna y UN solo scroll natural del modal. */
@media(max-width:1024px){
  #productModal.modal{
    overflow:auto !important;
    align-items:flex-start !important;
    padding:12px !important;
  }

  #productModal .detail-modal{
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;

    width:min(900px, calc(100vw - 24px)) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    overflow:visible !important;
    margin:auto !important;
  }

  #productModal .gallery-column{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  #productModal .detail-info{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #productModal .main-photo-wrap{
    width:100% !important;
    height:min(62dvh, 560px) !important;
    min-height:340px !important;
    max-height:560px !important;
  }

  #productModal #modalImage{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
}

@media(max-width:650px){
  #productModal.modal{
    padding:6px !important;
  }

  #productModal .detail-modal{
    width:calc(100vw - 12px) !important;
    padding:54px 12px 18px !important;
    border-radius:18px !important;
  }

  #productModal .main-photo-wrap{
    height:46dvh !important;
    min-height:280px !important;
    max-height:430px !important;
  }
}

@media(max-width:430px){
  #productModal.modal{
    padding:0 !important;
  }

  #productModal .detail-modal{
    width:100% !important;
    border-radius:0 !important;
    min-height:100dvh !important;
  }

  #productModal .main-photo-wrap{
    height:42dvh !important;
    min-height:260px !important;
    max-height:380px !important;
  }
}

/* Zoom siempre recortado por el marco */
#productModal .main-photo-wrap{
  contain:paint !important;
}
#productModal .main-photo-wrap > img{
  transform:scale(1);
}
@media(hover:hover){
  #productModal .main-photo-wrap:hover > img{
    transform:scale(1.65) !important;
  }
}
#productModal .main-photo-wrap.zoom-active > img{
  transform:scale(1.75) !important;
}


/* =========================================================
   GALERÍA MÓVIL — SWIPE + DOBLE TOQUE PARA ZOOM
   ========================================================= */
@media(max-width:650px){
  #productModal .main-photo-wrap{
    touch-action:pan-y !important;
  }

  /* Flechas más fáciles de tocar */
  #productModal .gallery-arrow{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    border-radius:50% !important;
    z-index:30 !important;
    touch-action:manipulation !important;
  }

  #productModal #prevPhoto{
    left:10px !important;
  }

  #productModal #nextPhoto{
    right:10px !important;
  }

  /* Un toque ya no activa zoom; se requiere doble toque */
  #productModal .main-photo-wrap{
    cursor:default !important;
  }

  #productModal .zoom-note{
    font-size:9px !important;
  }

  #productModal .zoom-note::before{
    content:"↔ Desliza para cambiar foto · ";
  }
}

@media(max-width:430px){
  #productModal .gallery-arrow{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
  }
}

@media(max-width:430px){
  #productModal .zoom-note{
    display:block !important;
    max-width:190px;
    white-space:normal;
    line-height:1.25;
  }
}


/* =========================================================
   MOBILE LAYOUT — FIX GENERAL + ¿CÓMO PEDIR?
   ========================================================= */

html,body{
  max-width:100%;
  overflow-x:hidden;
}

img,video,iframe{
  max-width:100%;
}

/* Cómo pedir visible y compacto en todos los tamaños */
.how-mini{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  gap:26px !important;
  align-items:center !important;
  width:100% !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:26px clamp(16px,4vw,54px) !important;
  box-sizing:border-box !important;
  background:#fffaf3 !important;
  border-top:1px solid #f0e2d5 !important;
  border-bottom:1px solid #f0e2d5 !important;
}

.how-mini-head{
  min-width:150px !important;
}

.how-mini-head h2{
  margin:0 !important;
  font-family:Georgia,serif !important;
  font-size:28px !important;
  font-weight:500 !important;
}

.how-mini-steps{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr auto 1fr !important;
  gap:10px !important;
  align-items:center !important;
}

.how-mini-card{
  min-width:0 !important;
  background:#fff !important;
  border:1px solid #eee0d2 !important;
  border-radius:15px !important;
  padding:11px 12px !important;
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) !important;
  gap:9px !important;
  align-items:center !important;
  box-shadow:0 5px 15px rgba(78,52,34,.05) !important;
}

.how-mini-icon{
  width:36px !important;
  height:36px !important;
  border-radius:11px !important;
  display:grid !important;
  place-items:center !important;
  background:#fff0e7 !important;
  font-size:18px !important;
}

.how-mini-num{
  display:block !important;
  color:var(--coral) !important;
  font-size:8px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
}

.how-mini-card strong{
  display:block !important;
  font-size:12px !important;
  margin-bottom:2px !important;
}

.how-mini-card p{
  margin:0 !important;
  color:#83766c !important;
  font-size:9.5px !important;
  line-height:1.3 !important;
}

.how-mini-arrow{
  color:#e8a888 !important;
  font-size:18px !important;
  font-weight:900 !important;
}

/* Tablet */
@media(max-width:900px){
  .how-mini{
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:22px 14px !important;
  }

  .how-mini-head{
    text-align:center !important;
    min-width:0 !important;
  }

  .how-mini-head .eyebrow{
    margin-bottom:3px !important;
  }

  .how-mini-head h2{
    font-size:24px !important;
  }

  .how-mini-steps{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .how-mini-arrow{
    display:none !important;
  }
}

/* Móvil */
@media(max-width:650px){
  .how-mini{
    display:block !important;
    width:100% !important;
    padding:18px 10px !important;
    margin:0 !important;
  }

  .how-mini-head{
    display:block !important;
    text-align:center !important;
    margin-bottom:10px !important;
  }

  .how-mini-head .eyebrow{
    display:none !important;
  }

  .how-mini-head h2{
    display:block !important;
    font-size:22px !important;
    line-height:1.1 !important;
  }

  .how-mini-steps{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
  }

  .how-mini-card{
    width:100% !important;
    box-sizing:border-box !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    padding:9px 10px !important;
    border-radius:13px !important;
  }

  .how-mini-icon{
    width:34px !important;
    height:34px !important;
    font-size:16px !important;
  }

  .how-mini-card strong{
    font-size:11.5px !important;
  }

  .how-mini-card p{
    font-size:9px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .catalog-origin-note,
  .catalog-section,
  .special-search-section,
  footer{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}


/* =========================================================
   FIX MÓVIL: PORTADA / ¿CÓMO PEDIR? SIN ENCIMARSE
   ========================================================= */
@media(max-width:650px){

  /* La curva decorativa de la portada ya no invade la siguiente sección */
  .hero{
    position:relative !important;
    padding-bottom:62px !important;
    margin-bottom:20px !important;
    overflow:visible !important;
  }

  .hero:after{
    bottom:-16px !important;
    height:34px !important;
    left:-4% !important;
    right:-4% !important;
    z-index:1 !important;
  }

  /* Cómo pedir empieza físicamente después de la curva */
  .how-mini{
    position:relative !important;
    z-index:4 !important;
    clear:both !important;
    margin-top:0 !important;
    padding-top:22px !important;
    overflow:visible !important;
  }

  .how-mini-head{
    position:relative !important;
    z-index:5 !important;
    margin:0 0 12px !important;
    padding:0 !important;
  }

  .how-mini-head h2{
    margin:0 !important;
    padding:0 !important;
    line-height:1.15 !important;
    transform:none !important;
  }

  .how-mini-steps{
    position:relative !important;
    z-index:5 !important;
  }
}

/* En teléfonos muy angostos dejamos un poco más de separación */
@media(max-width:430px){
  .hero{
    margin-bottom:24px !important;
  }

  .hero:after{
    bottom:-14px !important;
    height:30px !important;
  }

  .how-mini{
    padding-top:24px !important;
  }
}


/* =========================================================
   MÓVIL — "ASÍ DE FÁCIL" VISIBLE
   ========================================================= */
.how-mini-eyebrow{
  display:block !important;
  margin:0 0 5px !important;
  color:var(--coral) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1.2 !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media(max-width:650px){
  .how-mini-head .eyebrow,
  .how-mini-eyebrow{
    display:block !important;
    margin:0 0 4px !important;
    font-size:9px !important;
    line-height:1.2 !important;
    color:var(--coral) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .how-mini-head{
    padding-top:2px !important;
  }
}

/* =========================================================
   OFERTA EN DETALLE — PRECIO ANTERIOR + NUEVO + DESCUENTO
   ========================================================= */
.modal-discount-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:6px 9px;
  margin-bottom:7px;
  border-radius:999px;
  background:#171513;
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.modal-discount-badge.hidden{
  display:none !important;
}

.modal-old-price{
  display:block;
  color:#9a9189 !important;
  font-size:14px !important;
  font-weight:650 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:1.5px !important;
  margin-bottom:3px !important;
}

#modalPrice{
  color:var(--coral) !important;
}

@media(max-width:650px){
  .modal-discount-badge{
    font-size:8px;
    padding:5px 8px;
    margin-bottom:5px;
  }
  .modal-old-price{
    font-size:12px !important;
  }
}


/* =========================================================
   MÓVIL — CONTROLES DE GALERÍA SEPARADOS
   Flechas/swipe = navegación. Botón Zoom = zoom.
   ========================================================= */
.mobile-zoom-toggle{
  display:none;
}

@media(max-width:650px){
  #productModal .main-photo-wrap{
    touch-action:pan-y !important;
    cursor:default !important;
  }

  /* Evita por completo que un toque normal active zoom */
  #productModal .main-photo-wrap:hover > img{
    transform:scale(1) !important;
  }

  #productModal .main-photo-wrap.zoom-active > img{
    transform:scale(1.8) !important;
  }

  /* Flechas alejadas de las esquinas y con mayor área táctil */
  #productModal .gallery-arrow{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    z-index:40 !important;
    touch-action:manipulation !important;
  }

  #productModal #prevPhoto{
    left:14px !important;
    top:50% !important;
  }

  #productModal #nextPhoto{
    right:14px !important;
    top:50% !important;
  }

  /* Botón dedicado abajo a la derecha */
  #productModal .mobile-zoom-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:12px;
    bottom:12px;
    z-index:45;
    min-height:38px;
    padding:0 12px;
    border:1px solid rgba(70,55,45,.14);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#40372f;
    font-size:11px;
    font-weight:850;
    box-shadow:0 5px 14px rgba(44,31,23,.12);
    backdrop-filter:blur(8px);
    touch-action:manipulation;
  }

  /* Cuando hay zoom, ocultamos flechas para evitar conflicto */
  #productModal .main-photo-wrap.mobile-zoom-mode .gallery-arrow{
    opacity:0 !important;
    pointer-events:none !important;
  }

  /* El contador queda separado del botón de zoom */
  #productModal .photo-count{
    left:12px !important;
    bottom:12px !important;
  }

  /* Quitamos leyenda que podía confundirse con el zoom */
  #productModal .zoom-note{
    display:none !important;
  }
}

@media(max-width:430px){
  #productModal .gallery-arrow{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
  }

  #productModal .mobile-zoom-toggle{
    right:10px;
    bottom:10px;
    min-height:36px;
    font-size:10px;
  }

  #productModal .photo-count{
    left:10px !important;
    bottom:10px !important;
  }
}


/* =========================================================
   ZOOM NAVEGABLE / PAN
   ========================================================= */

/* Desktop: el zoom sigue al cursor para explorar toda la imagen */
@media(hover:hover){
  #productModal .main-photo-wrap{
    cursor:zoom-in;
  }
  #productModal .main-photo-wrap:hover > img{
    transform:scale(1.65) !important;
  }
}

/* Móvil: al activar zoom, arrastrar mueve la imagen */
@media(max-width:650px){
  #productModal .main-photo-wrap.mobile-zoom-mode{
    touch-action:none !important;
    cursor:grab !important;
  }

  #productModal .main-photo-wrap.mobile-zoom-mode:active{
    cursor:grabbing !important;
  }

  #productModal .main-photo-wrap.zoom-active > img{
    transform:scale(1.8) !important;
    transition:transform .2s ease, translate .08s linear !important;
    will-change:transform,translate;
  }
}


/* =========================================================
   OFERTA VISIBLE EN TARJETAS DEL CATÁLOGO
   ========================================================= */
.card-price-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:2px !important;
}

.card-old-price{
  color:#9a9189 !important;
  font-size:12px !important;
  font-weight:650 !important;
  line-height:1.05 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:1.5px !important;
}

.card-price.is-offer{
  color:var(--coral) !important;
}

.offer-badge{
  position:absolute !important;
  left:10px !important;
  bottom:10px !important;
  z-index:9 !important;
  max-width:calc(100% - 70px);
  padding:7px 10px !important;
  border-radius:999px !important;
  background:#171513 !important;
  color:#fff !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 5px 14px rgba(0,0,0,.14);
}

@media(max-width:650px){
  .card-old-price{font-size:10px !important}
  .offer-badge{
    font-size:8px !important;
    padding:6px 8px !important;
  }
}


/* =========================================================
   ESCRITORIO — ZOOM SOLO DESPUÉS DE MOVER EL PUNTERO
   ========================================================= */
@media(hover:hover){
  #productModal .main-photo-wrap:hover > img{
    transform:scale(1) !important;
  }

  #productModal .main-photo-wrap.desktop-zoom-ready > img{
    transform:scale(1.65) !important;
  }

  #productModal .main-photo-wrap{
    cursor:zoom-in;
  }
}
