/* =========================================================
   OH MY SKIN — SITEJET CLONE
   BLOCK 01 · TOKENS
   ========================================================= */
:root{
  --oms-bg:#faf6ef;
  --oms-bg-soft:#f3ede2;
  --oms-surface:#fffdf8;
  --oms-card:#ffffff;
  --oms-text:#2d342f;
  --oms-muted:#68756d;
  --oms-line:#ddd4c5;
  --oms-brand:#7f9c84;
  --oms-brand-2:#d4c4aa;
  --oms-brand-3:#efe7d8;
  --oms-accent:#ba6b5c;
  --oms-success:#5c7c61;
  --oms-danger:#a44f43;
  --oms-shadow:0 16px 40px rgba(59, 72, 63, 0.10);
  --oms-radius:22px;
  --oms-radius-sm:14px;
  --oms-max:1400px;
  --oms-font: "Inter", "Segoe UI", Arial, sans-serif;
}


:root{
  --oms-bg-image: url("../img/organic-leaves-bg-desktop-v2.jpg");
}
@media (max-width: 960px){
  :root{
    --oms-bg-image: url("../img/organic-leaves-bg-mobile-20260422.jpg");
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--oms-font);
  color:var(--oms-text);
  background:
    radial-gradient(circle at top right, rgba(212,196,170,.28), transparent 24%),
    linear-gradient(180deg, #faf7f2 0%, #f9f5ed 100%);
}
body.oms-lock{overflow:hidden}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
a{text-decoration:none;color:inherit}

/* =========================================================
   BLOCK 02 · SHELL
   ========================================================= */
.oms-site{min-height:100vh}
.oms-container{max-width:var(--oms-max);margin:0 auto;padding:0 24px}
.oms-section{padding:32px 0}
.oms-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(127,156,132,.12);color:#46614b;
  border:1px solid rgba(127,156,132,.18);
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase
}
.oms-btn{
  appearance:none;border:0;cursor:pointer;
  border-radius:999px;padding:14px 20px;font-weight:700;
  transition:.22s transform,.22s opacity,.22s box-shadow,.22s background;
  display:inline-flex;align-items:center;justify-content:center;gap:10px
}
.oms-btn:hover{transform:translateY(-1px)}
.oms-btn--brand{background:var(--oms-brand);color:#fff;box-shadow:0 10px 24px rgba(127,156,132,.24)}
.oms-btn--soft{background:var(--oms-brand-3);color:var(--oms-text)}
.oms-btn--ghost{background:transparent;border:1px solid var(--oms-line);color:var(--oms-text)}
.oms-btn--danger{background:var(--oms-accent);color:#fff}
.oms-link{color:#46614b;font-weight:700}
.oms-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;padding:7px 12px;border-radius:999px;
  background:#f5efe5;border:1px solid var(--oms-line);color:#5a665e
}
.oms-badge-sale,.oms-badge-stock{
  position:absolute;top:16px;left:16px;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:30px;padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:800;letter-spacing:.02em
}
.oms-badge-sale{background:#fbe0da;color:#8f3f33}
.oms-badge-stock{background:#2e413114;color:#4d6c53}

/* =========================================================
   BLOCK 03 · TOPBAR + HEADER
   ========================================================= */
.oms-topbar{
  background:#314437;color:#f9f7f2;font-size:13px
}
.oms-topbar__inner{
  min-height:42px;display:flex;align-items:center;justify-content:center;gap:20px;
  text-align:center;flex-wrap:wrap;padding:8px 0
}
.oms-header{
  position:sticky;top:0;z-index:40;
  backdrop-filter:blur(12px);
  background:rgba(250,247,242,.9);
  border-bottom:1px solid rgba(221,212,197,.85)
}
.oms-header__inner{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;
  min-height:84px;align-items:center
}
.oms-logo{display:flex;align-items:center;gap:14px;font-weight:800}
.oms-logo__mark{
  width:46px;height:46px;border-radius:16px;
  background:linear-gradient(135deg, var(--oms-brand), #c3d5be);
  color:#fff;display:grid;place-items:center;
  font-size:20px;box-shadow:var(--oms-shadow)
}
.oms-logo__text span{display:block}
.oms-logo__text .sub{font-size:12px;color:var(--oms-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.oms-nav{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap
}
.oms-nav a{
  padding:10px 14px;border-radius:999px;color:#4b584f;font-weight:700;font-size:14px
}
.oms-nav a:hover,.oms-nav a.is-active{background:#efe7d8}
.oms-actions{display:flex;align-items:center;gap:10px}
.oms-iconbtn{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--oms-line);
  background:#fff;display:grid;place-items:center;cursor:pointer;position:relative
}
.oms-count{
  position:absolute;top:-4px;right:-2px;background:var(--oms-accent);color:#fff;
  min-width:20px;height:20px;padding:0 5px;border-radius:999px;font-size:11px;
  display:grid;place-items:center;font-weight:800
}

/* =========================================================
   BLOCK 04 · HERO
   ========================================================= */
.oms-hero{padding:34px 0 18px}
.oms-hero__grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch
}
.oms-hero__card{
  position:relative;overflow:hidden;
  min-height:400px;border-radius:32px;background:
  linear-gradient(135deg, rgba(127,156,132,.18), rgba(255,255,255,.75) 42%, rgba(212,196,170,.38));
  border:1px solid rgba(221,212,197,.9);box-shadow:var(--oms-shadow)
}
.oms-hero__content{
  position:relative;z-index:1;max-width:700px;padding:40px
}
.oms-hero h1{
  margin:14px 0 16px;font-size:clamp(36px,5vw,62px);line-height:.96;letter-spacing:-.03em
}
.oms-hero p{
  margin:0 0 24px;color:#55645a;font-size:17px;line-height:1.65;max-width:60ch
}
.oms-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.oms-hero__stats{
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px
}
.oms-stat{
  background:rgba(255,255,255,.76);border:1px solid rgba(221,212,197,.9);
  border-radius:22px;padding:18px 16px
}
.oms-stat strong{display:block;font-size:26px;margin-bottom:6px}
.oms-stat span{color:var(--oms-muted);font-size:13px;line-height:1.45}
.oms-hero__art{
  position:absolute;inset:0;background:
    radial-gradient(circle at 82% 30%, rgba(255,255,255,.85), transparent 18%),
    radial-gradient(circle at 66% 26%, rgba(127,156,132,.22), transparent 20%),
    radial-gradient(circle at 72% 66%, rgba(212,196,170,.42), transparent 18%);
}
.oms-sidecard{
  display:grid;gap:18px
}
.oms-sidebox{
  border-radius:28px;background:#fffdf9;border:1px solid var(--oms-line);
  box-shadow:var(--oms-shadow);padding:28px
}
.oms-sidebox h3{margin:0 0 10px;font-size:28px;line-height:1.05}
.oms-sidebox p{margin:0;color:var(--oms-muted);line-height:1.65}
.oms-list{display:grid;gap:10px;margin-top:18px}
.oms-list li{list-style:none;display:flex;gap:10px;align-items:flex-start;color:#4a564e}

/* =========================================================
   BLOCK 05 · FILTER BAR
   ========================================================= */
.oms-strip{padding-top:8px;padding-bottom:6px}
.oms-strip__row{
  display:flex;gap:10px;overflow:auto;padding-bottom:4px
}
.oms-chip{
  white-space:nowrap;padding:12px 16px;border-radius:999px;
  border:1px solid var(--oms-line);background:#fff;color:#4d5a51;
  font-weight:700;cursor:pointer
}
.oms-chip.is-active{background:#314437;color:#fff;border-color:#314437}

/* =========================================================
   BLOCK 06 · SHOP LAYOUT
   ========================================================= */
.oms-shop{padding:22px 0 56px}
.oms-shop__layout{
  display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start
}
.oms-panel{
  position:sticky;top:112px;background:#fffdf9;border:1px solid var(--oms-line);
  border-radius:28px;padding:22px;box-shadow:var(--oms-shadow)
}
.oms-panel h3,.oms-panel h4{margin:0}
.oms-panel__group + .oms-panel__group{margin-top:18px;padding-top:18px;border-top:1px solid #eee3d3}
.oms-search{
  display:flex;align-items:center;gap:10px;background:#f7f3eb;border:1px solid var(--oms-line);
  border-radius:16px;padding:0 14px
}
.oms-search input{
  width:100%;height:48px;border:0;background:transparent;outline:0;color:var(--oms-text)
}
.oms-checklist{display:grid;gap:10px}
.oms-check{
  display:flex;gap:10px;align-items:flex-start;cursor:pointer;color:#4d5b52;font-size:14px
}
.oms-check input{margin-top:3px}
.oms-range{
  display:grid;gap:12px
}
.oms-range__inputs{
  display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.oms-range input,.oms-form input,.oms-form select,.oms-form textarea{
  width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--oms-line);
  background:#fff;outline:0;color:var(--oms-text)
}
.oms-range input:focus,.oms-form input:focus,.oms-form select:focus,.oms-form textarea:focus{
  border-color:#9bb4a0;box-shadow:0 0 0 4px rgba(127,156,132,.12)
}
.oms-toolbar{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  margin-bottom:18px;background:#fffdf9;border:1px solid var(--oms-line);
  border-radius:22px;padding:14px 16px;box-shadow:var(--oms-shadow)
}
.oms-toolbar__meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.oms-toolbar select{
  min-width:200px;padding:12px 14px;border-radius:14px;border:1px solid var(--oms-line);background:#fff
}
.oms-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
.oms-card{
  position:relative;overflow:hidden;background:var(--oms-card);
  border:1px solid var(--oms-line);border-radius:26px;box-shadow:var(--oms-shadow);
  display:flex;flex-direction:column
}
.oms-card__media{
  position:relative;aspect-ratio:1/1;background:linear-gradient(135deg,#f7f2e8,#ece3d3);
  overflow:hidden
}
.oms-card__media img{width:100%;height:100%;object-fit:cover}
.oms-card__body{padding:18px;display:grid;gap:12px}
.oms-card__title{
  font-size:18px;line-height:1.18;min-height:43px;font-weight:800;letter-spacing:-.02em
}
.oms-card__tags{display:flex;gap:8px;flex-wrap:wrap}
.oms-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.oms-price strong{font-size:24px;letter-spacing:-.02em}
.oms-price del{color:#9a9287}
.oms-card__footer{display:flex;gap:10px;align-items:center}
.oms-card__footer .oms-btn{flex:1}
.oms-empty{
  background:#fffdf9;border:1px dashed #ccbca2;border-radius:26px;padding:34px;text-align:center
}
.oms-pagination{
  display:flex;justify-content:center;align-items:center;gap:10px;margin-top:28px;flex-wrap:wrap
}
.oms-pagebtn{
  min-width:44px;height:44px;border-radius:999px;border:1px solid var(--oms-line);background:#fff;cursor:pointer;font-weight:700
}
.oms-pagebtn.is-active{background:#314437;color:#fff;border-color:#314437}
.oms-mobile-filters{display:none}

/* =========================================================
   BLOCK 07 · DRAWERS / MODALS
   ========================================================= */
.oms-backdrop{
  position:fixed;inset:0;background:rgba(34,38,36,.42);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:.22s;z-index:80
}
.oms-backdrop.is-open{opacity:1;pointer-events:auto}
.oms-drawer,.oms-modal{
  position:fixed;z-index:90;background:#fffdf8;box-shadow:0 30px 80px rgba(18,21,19,.22);
  transition:.28s ease;border:1px solid rgba(221,212,197,.85)
}
.oms-drawer{
  top:0;right:0;height:100vh;width:min(480px,100vw);
  transform:translateX(104%);display:flex;flex-direction:column
}
.oms-drawer.is-open{transform:translateX(0)}
.oms-modal{
  left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);
  width:min(1120px,calc(100vw - 28px));max-height:92vh;border-radius:28px;overflow:auto;opacity:0;pointer-events:none
}
.oms-modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.oms-sheet-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 18px;border-bottom:1px solid #eee4d7;background:#fffaf2;position:sticky;top:0;z-index:2
}
.oms-sheet-body{padding:20px}
.oms-close{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--oms-line);background:#fff;cursor:pointer;font-size:20px
}
.oms-product-modal{
  display:grid;grid-template-columns:1.05fr .95fr;gap:22px
}
.oms-gallery{
  display:grid;gap:12px
}
.oms-gallery__main{
  aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:#f4ecdf;border:1px solid var(--oms-line)
}
.oms-gallery__main img{width:100%;height:100%;object-fit:cover}
.oms-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.oms-thumb{
  aspect-ratio:1/1;border-radius:16px;overflow:hidden;border:1px solid var(--oms-line);cursor:pointer;background:#f8f2e6
}
.oms-thumb.is-active{outline:2px solid #7f9c84;outline-offset:2px}
.oms-product-meta{display:grid;gap:16px}
.oms-product-meta h2{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.02;letter-spacing:-.03em}
.oms-product-meta p{margin:0;color:#57655b;line-height:1.72}
.oms-product-buy{
  display:flex;gap:12px;align-items:center;flex-wrap:wrap
}
.oms-qty{
  display:inline-grid;grid-template-columns:44px 56px 44px;align-items:center;
  border:1px solid var(--oms-line);border-radius:999px;overflow:hidden;background:#fff
}
.oms-qty button{border:0;background:#fff;height:46px;cursor:pointer;font-size:22px}
.oms-qty input{border:0;text-align:center;height:46px;padding:0;background:#fff}
.oms-related{
  margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px
}
.oms-related .oms-card{border-radius:20px;box-shadow:none}
.oms-cart-items{display:grid;gap:12px}
.oms-cart-item{
  display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:12px;
  border:1px solid var(--oms-line);border-radius:18px;padding:10px;background:#fff
}
.oms-cart-item__media{
  width:84px;height:84px;border-radius:14px;overflow:hidden;background:#f4ecdf
}
.oms-cart-item__media img{width:100%;height:100%;object-fit:cover}
.oms-cart-item h4{margin:0 0 6px;font-size:15px;line-height:1.25}
.oms-cart-item p{margin:0;color:var(--oms-muted);font-size:13px}
.oms-cart-summary{
  margin-top:auto;border-top:1px solid #eee4d7;padding:18px;display:grid;gap:12px;background:#fffaf2
}
.oms-summary-row{display:flex;justify-content:space-between;gap:18px;color:#55645a}
.oms-summary-row strong{color:var(--oms-text)}
.oms-form{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px
}
.oms-form .full{grid-column:1/-1}
.oms-form textarea{min-height:110px;resize:vertical}
.oms-note{
  padding:14px 16px;background:#f6f1e6;border-radius:18px;color:#58665d;border:1px solid var(--oms-line);font-size:14px;line-height:1.6
}
.oms-mini-card{
  padding:16px;border-radius:18px;background:#f7f3eb;border:1px solid var(--oms-line)
}

/* =========================================================
   BLOCK 08 · FOOTER + FLOATING
   ========================================================= */
.oms-footer{
  padding:40px 0 58px;border-top:1px solid rgba(221,212,197,.9);
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(239,231,216,.38))
}
.oms-footer__grid{
  display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px
}
.oms-footer h4{margin:0 0 10px}
.oms-footer p,.oms-footer li{margin:0;color:var(--oms-muted);line-height:1.7}
.oms-footer ul{padding:0;list-style:none;display:grid;gap:10px}
.oms-bottom{
  margin-top:24px;padding-top:20px;border-top:1px solid rgba(221,212,197,.9);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#68756d;font-size:14px
}
.oms-float{
  position:fixed;right:18px;bottom:18px;z-index:60;display:grid;gap:12px
}
.oms-float .oms-iconbtn{box-shadow:var(--oms-shadow);width:58px;height:58px}

/* =========================================================
   BLOCK 09 · HELPERS
   ========================================================= */
.oms-hidden{display:none !important}
.oms-muted{color:var(--oms-muted)}
.oms-sr{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0
}
.oms-sep{height:1px;background:#eee4d7;margin:2px 0}
.oms-kbd{font-family:ui-monospace, monospace;padding:2px 6px;border-radius:8px;background:#f2ede3;border:1px solid #e0d6c6}

/* =========================================================
   BLOCK 10 · RESPONSIVE
   ========================================================= */
@media (max-width:1180px){
  .oms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oms-hero__grid{grid-template-columns:1fr}
  .oms-product-modal{grid-template-columns:1fr}
}
@media (max-width:960px){
  .oms-header__inner{grid-template-columns:1fr auto;gap:16px}
  .oms-nav{display:none}
  .oms-shop__layout{grid-template-columns:1fr}
  .oms-panel{display:none}
  .oms-mobile-filters{display:inline-flex}
  .oms-footer__grid{grid-template-columns:1fr}
  .oms-form{grid-template-columns:1fr}
}
@media (max-width:680px){
  .oms-container{padding:0 16px}
  .oms-grid{grid-template-columns:1fr}
  .oms-hero__content{padding:26px}
  .oms-hero__stats{grid-template-columns:1fr}
  .oms-card__title{min-height:auto}
  .oms-toolbar{align-items:stretch}
  .oms-toolbar select{width:100%}
  .oms-gallery__thumbs{grid-template-columns:repeat(4, minmax(0,1fr))}
  .oms-related{grid-template-columns:1fr}
  .oms-modal{width:min(100vw - 16px, 1120px)}
}

/* =========================================================
   BLOCK 11 · CART DRAWER VISIBILITY FIX
   ========================================================= */
.oms-drawer{
  height:100dvh;
  display:flex;
  flex-direction:column;
}
.oms-drawer .oms-sheet-head{
  flex:0 0 auto;
}
.oms-drawer .oms-sheet-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding-bottom:16px;
}
.oms-drawer .oms-cart-items{
  padding-bottom:8px;
}
.oms-drawer .oms-cart-summary{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:3;
  background:#fffaf2;
  box-shadow:0 -10px 24px rgba(18,21,19,.08);
}

@media (max-width:640px){
  .oms-drawer .oms-sheet-body{
    padding:16px;
  }
  .oms-drawer .oms-cart-summary{
    padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  }
  .oms-drawer .oms-cart-summary .oms-btn{
    width:100%;
  }
}



/* =========================================================
   BLOCK 12 · HEADER / LOGO CUSTOM
   ========================================================= */
.oms-topbar{
  background:#6f8f3a !important;
  color:#ffffff !important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.2px;
}
.oms-header{
  background:#ffffff !important;
  backdrop-filter:none !important;
}
.oms-header__inner{
  height:84px !important;
  min-height:84px !important;
  max-height:84px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px;
}
.oms-logo{
  flex:0 0 260px;
  height:84px !important;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.oms-logo img{
  display:block;
  height:72px !important;
  width:auto !important;
  object-fit:contain;
  background:#fff;
}
.oms-nav,
.oms-header nav{
  margin-left:auto !important;
  flex:0 1 auto;
}

/* =========================================================
   BLOCK 13 · MOBILE LEFT MENU
   ========================================================= */
@media (max-width: 960px){
  .oms-nav{
    display:none !important;
  }

  .oms-mobile-filters{
    display:grid !important;
  }

  .oms-header__inner{
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
  }

  .oms-actions{
    margin-left:auto;
  }

  .oms-mobile-menu{
    background:#fffdf8;
  }

  .oms-mobile-menu .oms-sheet-head{
    background:#fff;
  }

  .oms-mobile-menu__nav{
    display:grid;
    gap:10px;
  }

  .oms-mobile-menu__nav a{
    display:flex;
    align-items:center;
    min-height:52px;
    padding:0 6px;
    border-bottom:1px solid rgba(221,212,197,.6);
    color:#2f3a33;
    font-weight:700;
    font-size:17px;
    text-decoration:none;
  }

  .oms-mobile-menu__cta{
    margin-top:18px;
  }

  .oms-mobile-menu__wa{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    border-radius:999px;
    background:#6f8f3a;
    color:#fff;
    font-weight:800;
    text-decoration:none;
  }
}
/* =========================================================
   PRODUCTOS EN GRID MOBILE (3 POR FILA)
   ========================================================= */
@media (max-width: 768px){

  .oms-products,
  .oms-products-grid,
  .products-grid{
    display:grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap:10px !important;
  }

  .oms-product-card,
  .product-card{
    width:100% !important;
    padding:8px !important;
    border-radius:12px !important;
  }

  .oms-product-card img,
  .product-card img{
    width:100% !important;
    height:90px !important;
    object-fit:contain !important;
  }

  .oms-product-card h3,
  .product-card h3{
    font-size:11px !important;
    line-height:1.2 !important;
  }

  .oms-product-price,
  .price{
    font-size:12px !important;
    font-weight:600 !important;
  }

  .oms-product-card button{
    font-size:11px !important;
    padding:6px !important;
  }
}
/* =========================================================
   PRODUCTOS EN GRID MOBILE (3 POR FILA)
   ========================================================= */
@media (max-width: 768px){

  .oms-products,
  .oms-products-grid,
  .products-grid{
    display:grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
    align-items:start !important;
  }

  .oms-product-card,
  .product-card{
    width:100% !important;
    min-width:0 !important;
    padding:8px !important;
    border-radius:12px !important;
  }

  .oms-product-card img,
  .product-card img{
    width:100% !important;
    height:90px !important;
    object-fit:contain !important;
    display:block !important;
  }

  .oms-product-card h3,
  .product-card h3{
    font-size:11px !important;
    line-height:1.2 !important;
    margin:6px 0 4px !important;
    min-height:28px !important;
    overflow:hidden !important;
  }

  .oms-product-price,
  .price{
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
  }

  .oms-product-card button,
  .product-card button{
    font-size:11px !important;
    line-height:1.1 !important;
    padding:6px 8px !important;
    min-height:32px !important;
  }
}
.oms-terms-panel[hidden]{display:none !important;}
/* =========================================================
   OH MY SKIN · PREMIUM LUXURY THEME
   Súbelo y pégalo al FINAL de styles.css
   ========================================================= */
:root{
  --oms-bg:#f7f3eb;
  --oms-bg-soft:#f3eee4;
  --oms-surface:#fffdf9;
  --oms-card:#fffdf9;
  --oms-text:#263229;
  --oms-muted:#667164;
  --oms-line:#ddd4c4;
  --oms-brand:#78955d;
  --oms-brand-2:#ccb88d;
  --oms-brand-3:#f4ede1;
  --oms-accent:#b29455;
  --oms-success:#5f7e5c;
  --oms-danger:#9f564d;
  --oms-shadow:0 20px 50px rgba(48, 58, 44, .08);
  --oms-radius:26px;
  --oms-radius-sm:16px;
}

body{
  background:
    radial-gradient(circle at 86% 9%, rgba(204,184,141,.16), transparent 22%),
    radial-gradient(circle at 8% 12%, rgba(120,149,93,.08), transparent 18%),
    linear-gradient(180deg, #fbf8f2 0%, #f6f0e6 100%);
  color:var(--oms-text);
}

.oms-site{
  background-image:url("../img/oms-luxury-texture.svg");
  background-repeat:no-repeat;
  background-position:right top 92px;
  background-size:520px auto;
}

.oms-topbar{
  background:linear-gradient(90deg, #6b8a40 0%, #78955d 55%, #5e7d34 100%) !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(81, 108, 49, .15);
}

.oms-topbar__inner{
  font-weight:700;
  letter-spacing:.02em;
}

.oms-header{
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid rgba(212,200,179,.85) !important;
  box-shadow:0 10px 34px rgba(70, 80, 59, .05);
}

.oms-logo img{
  filter: saturate(1.03) contrast(1.02);
}

.oms-nav a{
  color:#44533f;
}

.oms-nav a:hover,
.oms-nav a.is-active{
  background:linear-gradient(180deg, #f3ecdf 0%, #ede3d1 100%);
  color:#314531;
  box-shadow:inset 0 0 0 1px rgba(204,184,141,.25);
}

.oms-iconbtn{
  background:linear-gradient(180deg, #ffffff 0%, #fbf7ef 100%);
  border:1px solid rgba(214,204,188,.95);
  box-shadow:0 8px 18px rgba(80, 89, 70, .05);
}

.oms-pill{
  background:linear-gradient(180deg, rgba(120,149,93,.10) 0%, rgba(120,149,93,.06) 100%);
  border-color:rgba(120,149,93,.18);
  color:#4f6445;
}

.oms-hero__card{
  background:
    linear-gradient(135deg, rgba(120,149,93,.12) 0%, rgba(255,255,255,.82) 42%, rgba(204,184,141,.22) 100%);
  border:1px solid rgba(216,205,188,.95);
  box-shadow:0 30px 70px rgba(71, 80, 61, .08);
}

.oms-hero__art{
  background:
    radial-gradient(circle at 84% 26%, rgba(255,255,255,.92), transparent 17%),
    radial-gradient(circle at 73% 34%, rgba(120,149,93,.12), transparent 21%),
    radial-gradient(circle at 76% 70%, rgba(204,184,141,.22), transparent 18%),
    url("../img/oms-luxury-texture.svg");
  background-repeat:no-repeat;
  background-position:right 8% top 18%;
  background-size:360px auto;
  opacity:.98;
}

.oms-hero h1,
.oms-sidebox h3,
.oms-panel h3,
.oms-panel h4{
  color:#253128;
}

.oms-hero p,
.oms-sidebox p,
.oms-stat span,
.oms-list li,
.oms-card__title,
.oms-card__body,
.oms-empty,
.oms-product-meta p{
  color:#5c675d;
}

.oms-sidebox,
.oms-panel,
.oms-toolbar,
.oms-empty,
.oms-modal,
.oms-drawer,
.oms-cart-item{
  background:linear-gradient(180deg, #fffdf9 0%, #fffaf3 100%);
  border:1px solid rgba(218,206,190,.92);
  box-shadow:var(--oms-shadow);
}

.oms-stat{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(218,206,190,.9);
}

.oms-chip{
  background:linear-gradient(180deg, #fffdfb 0%, #fbf5ea 100%);
  border-color:rgba(216,205,188,.95);
  color:#50604e;
  box-shadow:0 4px 10px rgba(83, 92, 74, .03);
}

.oms-chip.is-active{
  background:linear-gradient(180deg, #6d8c42 0%, #78955d 100%);
  border-color:#6d8c42;
  color:#fff;
  box-shadow:0 10px 24px rgba(109, 140, 66, .22);
}

.oms-btn{
  border-radius:999px;
}

.oms-btn--brand{
  background:linear-gradient(135deg, #6f8d44 0%, #78955d 55%, #5f7c3a 100%);
  color:#fff;
  box-shadow:0 14px 30px rgba(111, 141, 68, .24);
}

.oms-btn--brand:hover{
  box-shadow:0 18px 34px rgba(111, 141, 68, .28);
}

.oms-btn--soft{
  background:linear-gradient(180deg, #f3ecdf 0%, #eadfca 100%);
  color:#2d362f;
  box-shadow:0 8px 16px rgba(98, 89, 66, .06);
}

.oms-btn--ghost{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(214,203,186,.95);
}

.oms-card{
  border-radius:28px;
  border-color:rgba(218,206,190,.9);
  box-shadow:0 18px 40px rgba(67, 77, 59, .08);
}

.oms-card__media{
  background:linear-gradient(135deg, #faf5eb 0%, #efe5d6 100%);
}

.oms-card__media img{
  object-fit:contain;
  padding:14px;
}

.oms-card__title{
  color:#273229;
  font-weight:800;
}

.oms-price strong{
  color:#263229;
}

.oms-price del{
  color:#a28f72;
}

.oms-badge-sale{
  background:linear-gradient(180deg, #d8c196 0%, #c8af80 100%);
  color:#fff;
  box-shadow:0 8px 16px rgba(177, 149, 87, .22);
}

.oms-badge-stock{
  background:rgba(120,149,93,.11);
  color:#537049;
}

.oms-search,
.oms-range input,
.oms-form input,
.oms-form select,
.oms-form textarea,
.oms-toolbar select{
  background:#fffdfa;
  border-color:rgba(216,205,188,.95);
}

.oms-range input:focus,
.oms-form input:focus,
.oms-form select:focus,
.oms-form textarea:focus,
.oms-toolbar select:focus{
  border-color:#9db389;
  box-shadow:0 0 0 4px rgba(120,149,93,.12);
}

.oms-gallery__main,
.oms-thumb{
  background:linear-gradient(135deg, #faf5eb 0%, #efe5d6 100%);
}

.oms-thumb.is-active{
  outline-color:#78955d;
}

.oms-summary-row strong,
.oms-summary-row span:last-child{
  color:#273229;
}

.oms-payment-card{
  background:linear-gradient(180deg, #fffefb 0%, #faf4e8 100%);
  border:1px solid rgba(214,203,186,.92);
}

.oms-payment-card.is-selected{
  border-color:#88a56a;
  box-shadow:0 0 0 3px rgba(120,149,93,.10);
}

.oms-terms-box{
  background:rgba(255,255,255,.6);
  border-radius:18px;
}

.oms-footer,
footer{
  background:linear-gradient(180deg, #2f402f 0%, #263427 100%);
  color:#eef3ea;
}

@media (max-width: 960px){
  .oms-site{
    background-size:300px auto;
    background-position:right top 110px;
  }

  .oms-hero__card,
  .oms-sidebox,
  .oms-panel,
  .oms-card{
    border-radius:22px;
  }
}


/* =========================================================
   FINAL V2 · MINIMAL LUXURY OVERRIDES
   ========================================================= */
:root{
  --oms-bg:#f8f4ec;
  --oms-bg-soft:#f3ede3;
  --oms-surface:#fffdfa;
  --oms-card:#fffdfa;
  --oms-text:#253026;
  --oms-muted:#667063;
  --oms-line:#ddd3c1;
  --oms-brand:#728f58;
  --oms-brand-2:#ccb78a;
  --oms-brand-3:#f4ede1;
  --oms-accent:#b39b69;
  --oms-shadow:0 18px 48px rgba(49,60,45,.08);
}
body{
  background:
    radial-gradient(circle at 88% 8%, rgba(204,183,138,.14), transparent 22%),
    radial-gradient(circle at 6% 12%, rgba(114,143,88,.08), transparent 18%),
    linear-gradient(180deg, #fcfaf5 0%, #f5eee4 100%);
  color:var(--oms-text);
}
.oms-site{
  background-image:url("../img/oms-luxury-texture.svg");
  background-repeat:no-repeat;
  background-position:right top 110px;
  background-size:460px auto;
}
.oms-topbar{
  background:linear-gradient(90deg,#6c8748 0%, #728f58 50%, #5b733d 100%) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(91,115,61,.16);
}
.oms-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid rgba(214,202,183,.92) !important;
  box-shadow:0 8px 22px rgba(69,79,58,.04);
}
.oms-nav a{color:#4a5848}
.oms-nav a:hover,.oms-nav a.is-active{
  background:#f3ebdd;
  color:#283328;
}
.oms-iconbtn{
  background:#fffefb;
  border:1px solid rgba(214,202,183,.95);
  box-shadow:0 8px 16px rgba(76,83,66,.05);
}
.oms-hero__card,.oms-sidebox,.oms-panel,.oms-toolbar,.oms-modal,.oms-drawer,.oms-cart-item,.oms-empty,.oms-card{
  background:linear-gradient(180deg,#fffdf9 0%,#fffaf4 100%);
  border:1px solid rgba(219,207,190,.92);
  box-shadow:var(--oms-shadow);
}
.oms-hero__card{
  background:linear-gradient(135deg, rgba(114,143,88,.10) 0%, rgba(255,255,255,.86) 44%, rgba(204,183,138,.18) 100%);
}
.oms-hero__art{
  background:
    radial-gradient(circle at 84% 28%, rgba(255,255,255,.94), transparent 17%),
    radial-gradient(circle at 72% 34%, rgba(114,143,88,.11), transparent 21%),
    radial-gradient(circle at 76% 72%, rgba(204,183,138,.18), transparent 16%),
    url("../img/oms-luxury-texture.svg");
  background-repeat:no-repeat;
  background-position:right 8% top 20%;
  background-size:330px auto;
}
.oms-hero h1{color:#222d24}
.oms-hero p,.oms-sidebox p,.oms-list li,.oms-stat span,.oms-card__body,.oms-empty,.oms-product-meta p{color:#626d61}
.oms-pill{
  background:linear-gradient(180deg, rgba(114,143,88,.10), rgba(114,143,88,.06));
  border-color:rgba(114,143,88,.18);
  color:#506446;
}
.oms-chip{
  background:#fffdfa;
  border-color:rgba(219,207,190,.95);
  color:#536150;
}
.oms-chip.is-active{
  background:linear-gradient(180deg,#6d8749 0%,#728f58 100%);
  border-color:#6d8749;
  color:#fff;
}
.oms-btn--brand{
  background:linear-gradient(135deg,#6d8749 0%, #728f58 58%, #5c743d 100%);
  color:#fff;
  box-shadow:0 14px 28px rgba(109,135,73,.22);
}
.oms-btn--soft{
  background:linear-gradient(180deg,#f3ebdd 0%, #eadfc9 100%);
  color:#2b342c;
}
.oms-btn--ghost{
  background:rgba(255,255,255,.85);
  border:1px solid rgba(214,202,183,.95);
}
.oms-card{border-radius:24px}
.oms-card__media{background:linear-gradient(135deg,#faf4e8 0%, #efe4d4 100%)}
.oms-card__media img{object-fit:contain;padding:14px}
.oms-card__title{font-size:17px;line-height:1.22;min-height:42px;color:#243026}
.oms-price strong{color:#243026}
.oms-price del{color:#a48f70}
.oms-badge-sale{background:linear-gradient(180deg,#d3be96 0%, #c2a97a 100%);color:#fff}
.oms-badge-stock{background:rgba(114,143,88,.11);color:#536d49}
.oms-payment-card{background:linear-gradient(180deg,#fffefb 0%, #faf4e9 100%);border:1px solid rgba(214,202,183,.92)}
.oms-payment-card.is-selected{border-color:#8ea777;box-shadow:0 0 0 3px rgba(114,143,88,.10)}
.oms-form input,.oms-form select,.oms-form textarea,.oms-search,.oms-toolbar select{background:#fffdfa;border-color:rgba(216,205,188,.95)}
.oms-range input:focus,.oms-form input:focus,.oms-form select:focus,.oms-form textarea:focus,.oms-toolbar select:focus{border-color:#a3b58f;box-shadow:0 0 0 4px rgba(114,143,88,.12)}
.oms-footer,footer{background:linear-gradient(180deg,#2f3e2f 0%, #253226 100%);color:#eef3ea}

/* Full-width mobile headers */
@media (max-width: 960px){
  html,body{overflow-x:hidden !important}
  #oms-app,.oms-site{overflow-x:hidden !important}
  .oms-topbar,.oms-header{width:100vw !important;max-width:100vw !important;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;left:0 !important;right:0 !important}
  .oms-topbar__inner,.oms-header__inner{width:100% !important;max-width:none !important;padding-left:16px !important;padding-right:16px !important}
  .oms-site{background-size:280px auto;background-position:right top 120px}
}

/* Mobile menu drawer left */
@media (max-width: 960px){
  .oms-nav{display:none !important}
  .oms-mobile-filters{display:grid !important}
  .oms-header__inner{grid-template-columns:auto 1fr auto !important;display:grid !important;gap:14px !important}
  .oms-actions{margin-left:auto}
  .oms-mobile-menu{background:#fffdf8}
  .oms-mobile-menu .oms-sheet-head{background:#fff}
  .oms-mobile-menu__nav{display:grid;gap:10px}
  .oms-mobile-menu__nav a{display:flex;align-items:center;min-height:52px;padding:0 6px;border-bottom:1px solid rgba(221,212,197,.6);color:#2f3a33;font-weight:700;font-size:17px}
  .oms-mobile-menu__cta{margin-top:18px}
  .oms-mobile-menu__wa{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;background:#6f8f3a;color:#fff;font-weight:800}
}

/* 3 products per row on mobile */
@media (max-width: 768px){
  .oms-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important}
  .oms-card{border-radius:16px !important}
  .oms-card__media{aspect-ratio:1/1}
  .oms-card__body{padding:10px !important;gap:8px !important}
  .oms-card__title{font-size:11px !important;line-height:1.2 !important;min-height:28px !important;overflow:hidden !important}
  .oms-price{gap:6px !important}
  .oms-price strong{font-size:13px !important}
  .oms-price del{font-size:11px !important}
  .oms-card__footer .oms-btn,.oms-card .oms-btn{font-size:11px !important;min-height:32px !important;padding:7px 8px !important}
  .oms-badge-sale,.oms-badge-stock{top:10px;left:10px;min-height:24px;padding:4px 8px;font-size:10px}
}

/* Terms hidden by default */
.oms-terms-panel[hidden]{display:none !important}


/* =========================================================
   CHECKOUT FIX · Layout, Flow card, terms hidden, shipping
   ========================================================= */
.oms-product-modal{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:22px;
  align-items:start;
}

.oms-mini-card{
  background:linear-gradient(180deg,#fffdfa 0%,#fdf8f0 100%);
  border:1px solid rgba(221,211,193,.95);
  box-shadow:0 12px 30px rgba(52,62,47,.05);
}

.oms-payment-box{
  display:grid;
  gap:12px;
}

.oms-payment-title{
  font-size:15px;
  font-weight:800;
  color:var(--oms-text);
  margin-bottom:2px;
}

.oms-payment-card{
  position:relative;
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:86px;
  padding:16px 18px;
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
}

.oms-payment-card input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:1px !important;
  height:1px !important;
}

.oms-payment-card__icon{
  width:20px;
  height:20px;
  border-radius:999px;
  border:2px solid var(--oms-brand);
  display:grid;
  place-items:center;
  background:var(--oms-brand);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:800;
}

.oms-payment-card__main{
  display:grid;
  gap:4px;
  min-width:0;
}

.oms-payment-card__main img{
  height:28px !important;
  width:auto !important;
  display:block !important;
  margin:0 0 4px !important;
}

.oms-payment-card__main strong{
  font-size:18px;
  line-height:1.15;
  color:var(--oms-text);
}

.oms-payment-card__main small{
  display:block;
  font-size:14px;
  line-height:1.4;
  color:var(--oms-muted);
}

.oms-checkline{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:12px;
  align-items:start;
  font-size:15px;
  line-height:1.5;
  color:var(--oms-text);
}

.oms-checkline input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:3px 0 0;
  accent-color:var(--oms-brand);
}

.oms-linkbtn{
  appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0;
  color:var(--oms-brand);
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}

.oms-terms-box{
  padding:16px 18px;
  border:1px solid rgba(221,211,193,.95);
  background:rgba(255,255,255,.62);
}

.oms-terms-panel{
  margin-top:14px;
  padding:16px 2px 0;
  border-top:1px solid rgba(221,211,193,.85);
  max-height:260px;
  overflow:auto;
}

.oms-terms-panel[hidden]{
  display:none !important;
}

.oms-terms-panel h3,
.oms-terms-panel h4{
  margin:0 0 12px;
  color:var(--oms-text);
}

.oms-terms-panel p{
  margin:0 0 14px;
  line-height:1.65;
  color:var(--oms-muted);
}

.oms-checkout-actions{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
}

.oms-checkout-actions .oms-btn{
  min-width:190px;
}

@media (max-width:1180px){
  .oms-product-modal{
    grid-template-columns:1fr;
  }
}

@media (max-width:680px){
  .oms-payment-card{
    min-height:78px;
    padding:14px 15px;
    border-radius:18px;
  }

  .oms-payment-card__main strong{
    font-size:16px;
  }

  .oms-payment-card__main small{
    font-size:13px;
  }

  .oms-terms-box{
    padding:14px 15px;
  }

  .oms-checkline{
    font-size:14px;
  }

  .oms-checkout-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .oms-checkout-actions .oms-btn{
    width:100%;
    min-width:0;
  }
}

/* ===== PATCH · IMÁGENES FULL COVER ===== */
/* =========================================================
   OH MY SKIN · PRODUCT IMAGE COVER / ZOOM
   Pégalo al final de public_html/assets/css/styles.css
   ========================================================= */

/* Cards de producto */
.oms-card__media,
.oms-product-card__media,
.product-card__media{
  overflow:hidden !important;
  position:relative;
  background:linear-gradient(180deg,#fbf7f0 0%,#f2eadf 100%) !important;
}

.oms-card__media img,
.oms-product-card__media img,
.oms-product-card img,
.product-card__media img,
.product-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.18);
  transition:transform .25s ease;
  display:block !important;
}

/* Hover sutil premium */
.oms-card:hover .oms-card__media img,
.oms-product-card:hover img,
.product-card:hover img{
  transform:scale(1.22);
}

/* Imagen principal en ficha / modal */
.oms-gallery__main,
.oms-product-modal__media,
.oms-modal-media{
  overflow:hidden !important;
}

.oms-gallery__main img,
.oms-product-modal__media img,
.oms-modal-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.10);
  display:block !important;
}

/* Miniaturas del carrito */
.oms-cart-item__thumb,
.oms-cart-thumb{
  overflow:hidden !important;
  background:linear-gradient(180deg,#fbf7f0 0%,#f2eadf 100%) !important;
}

.oms-cart-item__thumb img,
.oms-cart-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.15);
  display:block !important;
}

/* Mobile: un poco más de zoom para que llenen mejor */
@media (max-width: 768px){
  .oms-card__media img,
  .oms-product-card__media img,
  .oms-product-card img,
  .product-card__media img,
  .product-card img{
    transform:scale(1.26);
  }

  .oms-gallery__main img,
  .oms-product-modal__media img,
  .oms-modal-media img{
    transform:scale(1.14);
  }

  .oms-cart-item__thumb img,
  .oms-cart-thumb img{
    transform:scale(1.20);
  }
}

/* =========================================================
   OH MY SKIN · LEAF BACKGROUND AS LAST LAYER
   Visible only behind gaps between sections/cards/products
   ========================================================= */
:root{
  --oms-bg:#f7f8f3;
  --oms-surface:#ffffff;
  --oms-card:#ffffff;
  --oms-text:#243024;
  --oms-muted:#5b6658;
  --oms-line:rgba(206,216,194,.92);
  --oms-brand:#6f8f3a;
  --oms-brand-dark:#567124;
  --oms-accent:#b39a61;
  --oms-shadow:0 16px 40px rgba(34,52,24,.08);
}

html,
body{
  min-height:100%;
}

body{
  background:var(--oms-bg-image) center top / cover fixed no-repeat !important;
  color:var(--oms-text) !important;
}

/* transparent page wrappers so the leaf image is the real last layer */
#oms-app,
.oms-app,
.oms-site,
.oms-page,
.oms-shell,
main,
.oms-main,
.oms-content,
.oms-shop,
.oms-section{
  background:transparent !important;
}

/* keep the two headers elegant and readable */
.oms-topbar{
  background:linear-gradient(90deg,#5d7b28 0%, #6f8f3a 55%, #587323 100%) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(58,84,24,.18);
}

.oms-header{
  background:rgba(255,255,255,.96) !important;
  border-bottom:1px solid rgba(206,216,194,.96) !important;
  box-shadow:0 10px 26px rgba(34,52,24,.06);
  backdrop-filter:blur(8px);
}

/* main blocks/cards stay solid so the leaves show only in the gaps */
.oms-hero__card,
.oms-sidebox,
.oms-panel,
.oms-toolbar,
.oms-empty,
.oms-card,
.oms-modal,
.oms-drawer,
.oms-cart-item,
.oms-mini-card,
.oms-payment-card,
.oms-terms-box,
.oms-stat{
  background:rgba(255,255,255,.94) !important;
  border:1px solid var(--oms-line) !important;
  box-shadow:var(--oms-shadow) !important;
  backdrop-filter:none !important;
}

.oms-card__media,
.oms-gallery__main,
.oms-cart-item__thumb,
.oms-thumb,
.oms-product-card__media,
.product-card__media{
  background:linear-gradient(180deg,#fafcf7 0%, #eef4e8 100%) !important;
}

.oms-pill{
  background:linear-gradient(180deg, rgba(111,143,58,.11) 0%, rgba(111,143,58,.08) 100%) !important;
  border-color:rgba(111,143,58,.16) !important;
  color:#4c6442 !important;
}

.oms-chip{
  background:rgba(255,255,255,.92) !important;
  border-color:var(--oms-line) !important;
  color:#495846 !important;
}

.oms-chip.is-active{
  background:linear-gradient(180deg,#5d7b28 0%, #6f8f3a 100%) !important;
  border-color:#5d7b28 !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(93,123,40,.22) !important;
}

.oms-btn--brand{
  background:linear-gradient(135deg,#5e7b27 0%, #6f8f3a 55%, #54701f 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(93,123,40,.24) !important;
}

.oms-btn--soft{
  background:linear-gradient(180deg,#f2ead7 0%, #e7dbbc 100%) !important;
  color:#2f382d !important;
}

.oms-btn--ghost{
  background:rgba(255,255,255,.94) !important;
  border:1px solid var(--oms-line) !important;
}

.oms-nav a{
  color:#394936 !important;
}
.oms-nav a:hover,
.oms-nav a.is-active{
  background:linear-gradient(180deg,#edf4e5 0%, #e3ebd9 100%) !important;
  color:#253223 !important;
}

.oms-iconbtn{
  background:linear-gradient(180deg,#ffffff 0%, #f4f8ef 100%) !important;
  border:1px solid var(--oms-line) !important;
}

.oms-price strong,
.oms-summary-row strong,
.oms-summary-row span:last-child,
.oms-card__title,
.oms-hero h1,
.oms-sidebox h3,
.oms-panel h3,
.oms-panel h4{
  color:#233022 !important;
}

.oms-hero p,
.oms-sidebox p,
.oms-stat span,
.oms-list li,
.oms-card__body,
.oms-empty,
.oms-product-meta p,
.oms-payment-card__main small{
  color:#5e685c !important;
}

.oms-search,
.oms-range input,
.oms-form input,
.oms-form select,
.oms-form textarea,
.oms-toolbar select{
  background:#fff !important;
  border-color:var(--oms-line) !important;
}

.oms-range input:focus,
.oms-form input:focus,
.oms-form select:focus,
.oms-form textarea:focus,
.oms-toolbar select:focus{
  border-color:#94ad6a !important;
  box-shadow:0 0 0 4px rgba(111,143,58,.12) !important;
}

.oms-footer,
footer{
  background:linear-gradient(180deg,#24321c 0%, #1c2816 100%) !important;
  color:#eef4ea !important;
}

@media (max-width: 960px){
  body{
    background:var(--oms-bg-image) center top / cover no-repeat fixed !important;
  }
}

/* =========================================================
   FIX · BLOQUEAR SCROLL DE LA PÁGINA CUANDO SE ABRE EL CARRITO
   ========================================================= */
html.oms-lock,
body.oms-lock{
  overflow:hidden !important;
  overscroll-behavior:none !important;
  touch-action:none !important;
  height:100% !important;
}

body.oms-lock{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
}

.oms-backdrop.is-open{
  touch-action:none !important;
}

.oms-drawer,
.oms-modal{
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

.oms-drawer .oms-sheet-body,
.oms-modal .oms-sheet-body,
.oms-cart-items{
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

/* =========================================================
   FIX DEFINITIVO · FONDO DE HOJAS COMO ÚLTIMA CAPA
   Si no se veía, era porque alguna capa sólida lo tapaba.
   Este bloque lo fuerza detrás de toda la web.
   ========================================================= */
html,
body{
  background: transparent !important;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-10;
  pointer-events:none;
  background:
    linear-gradient(rgba(248,250,244,.34), rgba(248,250,244,.48)),
    var(--oms-bg-image) center 28% / cover no-repeat !important;
}

#oms-app,
.oms-app,
.oms-site,
.oms-page,
.oms-shell,
main,
.oms-main,
.oms-content,
.oms-shop,
.oms-section{
  background: transparent !important;
}

/* Las tarjetas siguen claras para que el fondo solo se note en los espacios */
.oms-hero__card,
.oms-sidebox,
.oms-panel,
.oms-toolbar,
.oms-empty,
.oms-card,
.oms-modal,
.oms-drawer,
.oms-cart-item,
.oms-mini-card,
.oms-payment-card,
.oms-terms-box,
.oms-stat{
  background: rgba(255,255,255,.96) !important;
}

/* Un toque más orgánico general */
.oms-topbar{
  background: linear-gradient(90deg,#587623 0%, #6f8f3a 55%, #53701f 100%) !important;
}

.oms-btn--brand{
  background: linear-gradient(135deg,#597625 0%, #6f8f3a 58%, #54701f 100%) !important;
}

@media (max-width: 960px){
  body::before{
    background:
      linear-gradient(rgba(248,250,244,.40), rgba(248,250,244,.54)),
      var(--oms-bg-image) center 28% / cover no-repeat !important;
  }
}

/* =========================================================
   HERO SHOWCASE · estilo inspirado en grandes e-commerce
   Reemplaza el bloque hero por panel promo + slider principal
   ========================================================= */
.oms-hero--showcase{
  padding:28px 0 20px;
}

.oms-showcase{
  display:grid;
  grid-template-columns: 360px minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}

.oms-showcase__promo,
.oms-showcase__slider{
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(206,216,194,.92);
  box-shadow:0 20px 48px rgba(34,52,24,.08);
}

.oms-showcase__promo{
  position:relative;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(145deg, rgba(20,29,18,.94) 0%, rgba(32,45,24,.98) 44%, rgba(66,42,82,.88) 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:560px;
  padding:36px 34px;
}

.oms-showcase__promo::after{
  content:"";
  position:absolute;
  inset:auto -18% -22% auto;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 70%);
}

.oms-showcase__promo-top{
  font-size:20px;
  font-weight:800;
  letter-spacing:.08em;
  color:#ffffff;
  opacity:.94;
}

.oms-showcase__promo-copy{
  display:grid;
  gap:16px;
}

.oms-showcase__eyebrow{
  color:#d7b4ef;
  font-size:18px;
  font-weight:700;
  letter-spacing:.12em;
}

.oms-showcase__promo h2{
  margin:0;
  font-size:68px;
  line-height:.92;
  font-weight:900;
  letter-spacing:-.04em;
}

.oms-showcase__promo h2 strong{
  display:block;
  font-size:112px;
  line-height:.92;
  color:#fff;
}

.oms-showcase__promo p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.55;
  max-width:26ch;
}

.oms-showcase__promo-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.oms-showcase__promo .oms-btn{
  justify-content:center;
}

.oms-showcase__slider{
  position:relative;
  min-height:560px;
  background:
    linear-gradient(135deg, rgba(30,56,120,.78) 0%, rgba(135,98,190,.72) 48%, rgba(206,130,177,.70) 100%);
}

.oms-showcase__slides{
  position:relative;
  width:100%;
  height:100%;
  min-height:560px;
}

.oms-showcase__slide{
  position:absolute;
  cursor:pointer;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .55s ease, visibility .55s ease;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48%;
  align-items:center;
  padding:42px 56px;
}

.oms-showcase__slide.is-active{
  opacity:1;
  visibility:visible;
}

.oms-showcase__slide-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 24%, rgba(255,255,255,.18), transparent 16%),
    radial-gradient(circle at 28% 76%, rgba(255,255,255,.12), transparent 16%),
    linear-gradient(0deg, rgba(255,255,255,.06), rgba(255,255,255,.06));
  pointer-events:none;
}

.oms-showcase__slide-copy{
  position:relative;
  z-index:1;
  max-width:420px;
  color:#fff;
}

.oms-showcase__tag{
  display:inline-flex;
  padding:8px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:14px;
  font-weight:700;
  letter-spacing:.05em;
  margin-bottom:18px;
}

.oms-showcase__slide-copy h3{
  margin:0 0 12px;
  font-size:64px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.05em;
  color:#fff !important;
}

.oms-showcase__slide-copy p{
  margin:0 0 26px;
  font-size:20px;
  line-height:1.55;
  color:rgba(255,255,255,.90) !important;
}

.oms-showcase__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border-radius:999px;
  background:#ffffff;
  color:#243024;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(20,29,18,.16);
}

.oms-showcase__slide-media{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
}

.oms-showcase__slide-media img{
  max-width:86%;
  max-height:450px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter: drop-shadow(0 24px 32px rgba(18,20,18,.24));
  transform:scale(1.02);
}

.oms-showcase__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.92);
  color:#243024;
  font-size:34px;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 12px 24px rgba(34,52,24,.16);
  cursor:pointer;
  z-index:2;
}

.oms-showcase__arrow--prev{left:18px}
.oms-showcase__arrow--next{right:18px}

.oms-showcase__dots{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  z-index:2;
}

.oms-showcase__dot{
  width:11px;
  height:11px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.42);
  cursor:pointer;
}

.oms-showcase__dot.is-active{
  background:#111;
}

@media (max-width: 1180px){
  .oms-showcase{
    grid-template-columns: 320px minmax(0,1fr);
  }
  .oms-showcase__promo{
    min-height:520px;
    padding:30px 28px;
  }
  .oms-showcase__promo h2{font-size:56px}
  .oms-showcase__promo h2 strong{font-size:92px}
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:520px;
  }
  .oms-showcase__slide{
    padding:34px 46px;
  }
  .oms-showcase__slide-copy h3{font-size:52px}
  .oms-showcase__slide-copy p{font-size:18px}
}

@media (max-width: 920px){
  .oms-showcase{
    grid-template-columns:1fr;
  }
  .oms-showcase__promo{
    min-height:unset;
    padding:28px 24px;
  }
  .oms-showcase__promo p{
    max-width:none;
  }
  .oms-showcase__promo-actions{
    flex-direction:row;
    flex-wrap:wrap;
  }
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:520px;
  }
}

@media (max-width: 680px){
  .oms-hero--showcase{
    padding-top:18px;
  }
  .oms-showcase__promo{
    padding:24px 20px;
    border-radius:24px;
  }
  .oms-showcase__promo-top{
    font-size:16px;
  }
  .oms-showcase__eyebrow{
    font-size:14px;
  }
  .oms-showcase__promo h2{
    font-size:42px;
  }
  .oms-showcase__promo h2 strong{
    font-size:72px;
  }
  .oms-showcase__promo p{
    font-size:16px;
  }
  .oms-showcase__promo-actions{
    flex-direction:column;
  }
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:430px;
    border-radius:24px;
  }
  .oms-showcase__slide{
    grid-template-columns:1fr;
    padding:24px 20px 54px;
    align-content:start;
  }
  .oms-showcase__slide-copy{
    max-width:none;
  }
  .oms-showcase__slide-copy h3{
    font-size:38px;
  }
  .oms-showcase__slide-copy p{
    font-size:15px;
    margin-bottom:18px;
  }
  .oms-showcase__slide-media{
    margin-top:12px;
    align-items:flex-end;
  }
  .oms-showcase__slide-media img{
    max-width:78%;
    max-height:220px;
  }
  .oms-showcase__arrow{
    width:42px;
    height:42px;
    font-size:28px;
  }
  .oms-showcase__arrow--prev{left:10px}
  .oms-showcase__arrow--next{right:10px}
}

/* =========================================================
   FIX · BLOQUEAR SCROLL DE LA PÁGINA CUANDO SE ABRE EL CARRITO
   ========================================================= */
html.oms-lock,
body.oms-lock{
  overflow:hidden !important;
  overscroll-behavior:none !important;
  touch-action:none !important;
  height:100% !important;
}
body.oms-lock{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
}
.oms-backdrop.is-open{
  touch-action:none !important;
}
.oms-drawer,
.oms-modal{
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}
.oms-drawer .oms-sheet-body,
.oms-modal .oms-sheet-body,
.oms-cart-items{
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

/* =========================================================
   HERO SLIDER FULL WIDTH · reemplazo total del panel izquierdo
   ========================================================= */
.oms-showcase{
  display:block !important;
}

.oms-showcase__promo{
  display:none !important;
}

.oms-showcase__slider{
  width:100%;
  min-height:620px;
  border-radius:36px;
  overflow:hidden;
  border:1px solid rgba(206,216,194,.92);
  box-shadow:0 22px 54px rgba(34,52,24,.10);
  background:
    linear-gradient(120deg, rgba(22,38,18,.58) 0%, rgba(56,95,34,.30) 28%, rgba(214,223,204,.10) 52%, rgba(111,143,58,.16) 100%),
    var(--oms-bg-image) center center / cover no-repeat !important;
}

.oms-showcase__slides{
  min-height:620px;
}

.oms-showcase__slide{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  padding:44px 66px 72px;
  align-items:center;
}

.oms-showcase__slide-bg{
  background:
    linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.66) 34%, rgba(255,255,255,.24) 58%, rgba(255,255,255,0) 100%),
    radial-gradient(circle at 78% 24%, rgba(255,255,255,.18), transparent 16%),
    radial-gradient(circle at 28% 76%, rgba(255,255,255,.10), transparent 16%);
}

.oms-showcase__slide-copy{
  max-width:520px;
  color:#213021;
}

.oms-showcase__tag{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(206,216,194,.92);
  color:#516646;
  backdrop-filter:blur(6px);
  margin-bottom:20px;
}

.oms-showcase__slide-copy h3{
  color:#1f2d20 !important;
  font-size:78px;
  line-height:.92;
  margin:0 0 14px;
}

.oms-showcase__slide-copy p{
  color:#4f5f4d !important;
  font-size:22px;
  line-height:1.55;
  margin:0 0 28px;
  max-width:30ch;
}

.oms-showcase__slide-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.oms-showcase__slide-media{
  justify-content:flex-end;
}

.oms-showcase__slide-media img{
  max-width:96%;
  max-height:500px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 34px rgba(18,20,18,.20));
}

.oms-showcase__arrow{
  width:58px;
  height:58px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 24px rgba(34,52,24,.14);
}

.oms-showcase__arrow--prev{left:20px}
.oms-showcase__arrow--next{right:20px}

.oms-showcase__dot{
  width:12px;
  height:12px;
  background:rgba(255,255,255,.52);
}
.oms-showcase__dot.is-active{
  background:#1e2c1f;
}

@media (max-width: 1180px){
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:560px;
  }
  .oms-showcase__slide{
    padding:36px 42px 70px;
  }
  .oms-showcase__slide-copy h3{
    font-size:62px;
  }
  .oms-showcase__slide-copy p{
    font-size:19px;
  }
  .oms-showcase__slide-media img{
    max-height:430px;
  }
}

@media (max-width: 760px){
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:500px;
    border-radius:28px;
  }
  .oms-showcase__slide{
    grid-template-columns:1fr;
    padding:28px 22px 62px;
    align-content:start;
  }
  .oms-showcase__slide-copy{
    max-width:none;
  }
  .oms-showcase__slide-copy h3{
    font-size:40px;
  }
  .oms-showcase__slide-copy p{
    font-size:16px;
    max-width:none;
  }
  .oms-showcase__slide-actions{
    gap:10px;
  }
  .oms-showcase__slide-actions .oms-btn{
    min-height:46px;
  }
  .oms-showcase__slide-media{
    justify-content:center;
    margin-top:10px;
  }
  .oms-showcase__slide-media img{
    max-width:88%;
    max-height:250px;
  }
}


/* =========================================================
   HERO BANNERS · 5 slides premium image-only
   ========================================================= */
.oms-showcase{
  display:block !important;
}

.oms-showcase__slider{
  width:100%;
  min-height:680px;
  border-radius:36px;
  overflow:hidden;
  border:1px solid rgba(206,216,194,.92);
  box-shadow:0 22px 54px rgba(34,52,24,.10);
  background:rgba(255,255,255,.35);
}

.oms-showcase__slides{
  min-height:680px;
}

.oms-showcase__slide{
  padding:0 !important;
  display:block !important;
}

.oms-showcase__banner{
  display:block;
  width:100%;
  height:680px;
  object-fit:cover;
  object-position:center center;
}

.oms-showcase__arrow{
  width:58px;
  height:58px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 24px rgba(34,52,24,.14);
}

.oms-showcase__arrow--prev{left:20px}
.oms-showcase__arrow--next{right:20px}

.oms-showcase__dot{
  width:12px;
  height:12px;
  background:rgba(255,255,255,.55);
}
.oms-showcase__dot.is-active{
  background:#1f2d20;
}

@media (max-width: 1180px){
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:560px;
  }
  .oms-showcase__banner{
    height:560px;
  }
}

@media (max-width: 760px){
  .oms-showcase__slider,
  .oms-showcase__slides{
    min-height:340px;
    border-radius:26px;
  }
  .oms-showcase__banner{
    height:340px;
    object-position:center center;
  }
  .oms-showcase__arrow{
    width:46px;
    height:46px;
  }
  .oms-showcase__arrow--prev{left:12px}
  .oms-showcase__arrow--next{right:12px}
}


/* =========================================================
   HERO PACK SLIDES · full clickable banners
   ========================================================= */
.oms-showcase__slider{
  min-height:clamp(320px, 48vw, 560px);
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(206,216,194,.92);
  box-shadow:0 20px 54px rgba(34,52,24,.12);
  background:transparent;
}

.oms-showcase__slides{
  min-height:inherit;
}

.oms-showcase__slide{
  cursor:pointer;
  display:block;
  min-height:inherit;
  outline:none;
}

.oms-showcase__slide:focus-visible{
  box-shadow:inset 0 0 0 3px rgba(111,143,58,.35);
}

.oms-showcase__banner{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.oms-showcase__arrow{
  z-index:3;
}

.oms-showcase__dots{
  z-index:3;
}

@media (max-width: 760px){
  .oms-showcase__slider{
    min-height:260px;
    border-radius:24px;
  }
}

/* =========================================================
   LO MÁS VENDIDO · carrusel horizontal estilo DBS
   ========================================================= */
.oms-strip{
  display:none !important;
}

.oms-bestsellers{
  padding:22px 0 10px;
}

.oms-bestsellers__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.oms-bestsellers__eyebrow{
  display:inline-block;
  margin-bottom:8px;
  color:#6f8f3a;
  font-weight:800;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.oms-bestsellers__head h2{
  margin:0 0 6px;
  font-size:40px;
  line-height:1;
  color:#233022;
}

.oms-bestsellers__head p{
  margin:0;
  color:#5f6a5d;
  font-size:17px;
}

.oms-bestsellers__link{
  white-space:nowrap;
  color:#2a3528;
  font-weight:700;
  text-decoration:none;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(206,216,194,.92);
  box-shadow:0 10px 20px rgba(34,52,24,.05);
}

.oms-bestsellers__rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(240px, 240px);
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 4px 18px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#a5b98d rgba(255,255,255,.55);
}

.oms-bestsellers__rail::-webkit-scrollbar{
  height:10px;
}
.oms-bestsellers__rail::-webkit-scrollbar-track{
  background:rgba(255,255,255,.55);
  border-radius:999px;
}
.oms-bestsellers__rail::-webkit-scrollbar-thumb{
  background:#93ab72;
  border-radius:999px;
}

.oms-mini-sellcard{
  scroll-snap-align:start;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(206,216,194,.92);
  border-radius:24px;
  box-shadow:0 16px 34px rgba(34,52,24,.08);
  overflow:hidden;
  display:grid;
  grid-template-rows:150px auto;
  min-width:0;
}

.oms-mini-sellcard__media{
  all:unset;
  cursor:pointer;
  position:relative;
  display:block;
  width:100%;
  height:150px;
  background:linear-gradient(180deg,#fbf8f1 0%, #edf4e7 100%);
  overflow:hidden;
}

.oms-mini-sellcard__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.oms-mini-sellcard__body{
  padding:14px 14px 16px;
  display:grid;
  gap:10px;
}

.oms-mini-sellcard__tag{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:7px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  color:#54684a;
  background:#eef4e7;
  border:1px solid rgba(111,143,58,.14);
  text-transform:uppercase;
}

.oms-mini-sellcard__title{
  all:unset;
  cursor:pointer;
  color:#243024;
  font-weight:800;
  font-size:17px;
  line-height:1.2;
  min-height:40px;
}

.oms-mini-sellcard__price{
  display:flex;
  align-items:baseline;
  gap:8px;
}

.oms-mini-sellcard__price strong{
  color:#223022;
  font-size:17px;
}

.oms-mini-sellcard__price del{
  color:#9d8d73;
  font-size:13px;
}

.oms-mini-sellcard__action{
  appearance:none;
  border:0;
  border-radius:999px;
  min-height:42px;
  padding:0 16px;
  background:linear-gradient(135deg,#5e7b27 0%, #6f8f3a 55%, #54701f 100%);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.oms-mini-sellcard__action[disabled]{
  opacity:.55;
  cursor:not-allowed;
}

@media (max-width: 960px){
  .oms-bestsellers{
    padding:16px 0 8px;
  }
  .oms-bestsellers__head{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:14px;
  }
  .oms-bestsellers__head h2{
    font-size:30px;
  }
  .oms-bestsellers__head p{
    font-size:15px;
  }
  .oms-bestsellers__rail{
    grid-auto-columns:minmax(180px, 180px);
    gap:12px;
    padding-bottom:14px;
  }
  .oms-mini-sellcard{
    grid-template-rows:120px auto;
    border-radius:18px;
  }
  .oms-mini-sellcard__media{
    height:120px;
  }
  .oms-mini-sellcard__body{
    padding:12px;
    gap:8px;
  }
  .oms-mini-sellcard__title{
    font-size:15px;
    min-height:36px;
  }
  .oms-mini-sellcard__price strong{
    font-size:15px;
  }
  .oms-mini-sellcard__price del{
    font-size:12px;
  }
  .oms-mini-sellcard__action{
    min-height:38px;
    font-size:14px;
  }
}

/* =========================================================
   DRAG HORIZONTAL · Lo más vendido sin barra visible
   ========================================================= */
.oms-bestsellers__rail{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.oms-bestsellers__rail::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

.oms-bestsellers__rail.is-dragging{
  cursor:grabbing;
}

.oms-bestsellers__rail.is-dragging *{
  cursor:grabbing !important;
}

/* =========================================================
   DESKTOP DRAG + click completo en card de Lo más vendido
   ========================================================= */
.oms-mini-sellcard{
  cursor:pointer;
}

.oms-mini-sellcard.is-dragging,
.oms-bestsellers__rail.is-dragging .oms-mini-sellcard{
  cursor:grabbing;
}

.oms-mini-sellcard:focus-visible{
  outline:3px solid rgba(111,143,58,.24);
  outline-offset:3px;
}

.oms-mini-sellcard__media,
.oms-mini-sellcard__title{
  pointer-events:none;
}

.oms-mini-sellcard__action{
  pointer-events:auto;
}

/* =========================================================
   DRAG DINÁMICO · Lo más vendido
   ========================================================= */
.oms-bestsellers__rail{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
  scroll-behavior:auto !important;
}

.oms-bestsellers__rail.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none !important;
}

.oms-bestsellers__rail.is-dragging .oms-mini-sellcard,
.oms-bestsellers__rail.is-dragging .oms-mini-sellcard *{
  cursor:grabbing !important;
}

.oms-mini-sellcard{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}

.oms-mini-sellcard:hover{
  transform:translateY(-2px);
}

.oms-bestsellers__rail.is-dragging .oms-mini-sellcard{
  transform:none !important;
}

.oms-mini-sellcard *{
  user-select:none;
  -webkit-user-select:none;
}

/* =========================================================
   MOBILE SWIPE FIX · Lo más vendido
   ========================================================= */
.oms-bestsellers__rail{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-x:contain;
}

@media (max-width: 960px){
  .oms-bestsellers__rail{
    touch-action:pan-x pan-y !important;
    scroll-snap-type:x proximity;
    padding-bottom:10px;
  }

  .oms-bestsellers__rail.is-dragging{
    cursor:grab !important;
  }

  .oms-mini-sellcard{
    flex:0 0 auto;
  }
}



/* =========================================================
   PATCH FINAL · fondo nítido + auth + reseñas + descripciones + whatsapp
   ========================================================= */
html, body{
  background: transparent !important;
}
body::before{
  filter:none !important;
  opacity:1 !important;
  background:var(--oms-bg-image) center 28% / cover no-repeat !important;
}
body::after{
  background:transparent !important;
}

.oms-card__desc,
.oms-mini-sellcard__desc{
  color:var(--oms-muted);
  font-size:13px;
  line-height:1.5;
}
.oms-card__desc{min-height:38px}
.oms-mini-sellcard__desc{min-height:34px}

.oms-card__rating,
.oms-mini-sellcard__rating{
  display:flex;
  align-items:center;
}
.oms-card__rating--product{
  margin:4px 0 8px;
}

.oms-rating{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.oms-rating.is-compact{gap:6px}
.oms-rating__stars{display:inline-flex;gap:2px}
.oms-star{
  color:#d9cfbb;
  font-size:14px;
  line-height:1;
}
.oms-star.is-on{color:#cda949}
.oms-rating__meta{
  color:var(--oms-muted);
  font-size:12px;
}

.oms-product-brief{
  color:var(--oms-muted);
  font-size:14px;
  line-height:1.6;
  margin:4px 0 8px;
}
.oms-product-modal .oms-product-buy{
  align-items:center;
}


/* =========================================================
   PRODUCTO · Sellos de confianza bajo rating + despacho
   ========================================================= */
.oms-product-trust{
  display:grid;
  gap:10px;
  margin:-2px 0 8px;
}

.oms-product-seals{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  padding:3px 2px 8px;
  margin:0 -2px;
}

.oms-product-seals::-webkit-scrollbar{
  display:none;
}

.oms-product-seal{
  flex:0 0 auto;
  width:72px;
  height:72px;
  margin:0;
  border-radius:999px;
  overflow:hidden;
  background:#fffaf0;
  border:1px solid rgba(119,134,77,.22);
  box-shadow:0 8px 20px rgba(36,56,36,.08);
}

.oms-product-seal img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}

.oms-product-delivery{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  border:1px solid rgba(119,134,77,.24);
  background:linear-gradient(90deg, rgba(247,243,235,.96), rgba(255,253,248,.96));
  color:#233225;
  padding:10px 12px;
  border-radius:14px;
  font-size:13px;
  font-weight:800;
  line-height:1.3;
  box-shadow:0 8px 20px rgba(36,56,36,.055);
}

.oms-product-delivery__icon{
  flex:0 0 auto;
  width:27px;
  height:27px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef3e7;
  color:#6b873a;
}

.oms-product-delivery__icon svg{
  width:17px;
  height:17px;
  display:block;
}

@media (min-width: 769px){
  .oms-product-seals{
    flex-wrap:wrap;
    overflow:visible;
    padding-bottom:2px;
  }
}

@media (max-width: 760px){
  .oms-product-trust{
    gap:9px;
    margin:-4px 0 10px;
  }

  .oms-product-seals{
    gap:9px;
    padding:2px 0 7px;
    margin:0;
  }

  .oms-product-seal{
    width:61px;
    height:61px;
    box-shadow:0 6px 15px rgba(36,56,36,.075);
  }

  .oms-product-delivery{
    padding:10px 11px;
    border-radius:12px;
    font-size:12.5px;
  }
}


.oms-auth-card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--oms-line);
  border-radius:20px;
  padding:18px;
  box-shadow:var(--oms-shadow);
  margin-bottom:14px;
}
.oms-auth-card--logged{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.oms-auth-card strong{display:block;font-size:18px;margin-bottom:4px}
.oms-auth-card p,.oms-auth-note{margin:0;color:var(--oms-muted);font-size:14px;line-height:1.5}
.oms-auth-switch{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.oms-auth-switch__btn{
  appearance:none;border:1px solid var(--oms-line);background:#fff;border-radius:999px;
  padding:10px 14px;cursor:pointer;font-weight:700;
}
.oms-auth-switch__btn.is-active{background:#000;color:#fff;border-color:#000}
.oms-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.oms-auth-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.oms-auth-error{
  margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff1ef;
  color:#8f3f33;border:1px solid #f3c9c2;font-size:14px;
}

.oms-review-form{
  margin-top:14px;padding:16px;border:1px solid var(--oms-line);
  border-radius:18px;background:#fff;
}
.oms-review-stars{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.oms-review-stars label{
  cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:8px 10px;
  border-radius:999px;border:1px solid var(--oms-line);background:#faf7f0;
}
.oms-review-stars input{margin:0}
.oms-reviews{display:grid;gap:14px}
.oms-reviews__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.oms-reviews__head h3{margin:0 0 6px}
.oms-review-list{display:grid;gap:10px}
.oms-review-item{
  border:1px solid var(--oms-line);border-radius:16px;padding:0 14px;background:#fff;
}
.oms-review-item summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;
  align-items:center;padding:14px 0;
}
.oms-review-item summary::-webkit-details-marker{display:none}
.oms-review-item__user{font-weight:700}
.oms-review-item__body{color:var(--oms-muted);font-size:14px;line-height:1.6;padding:0 0 14px}

.oms-payment-card{cursor:pointer}
.oms-payment-card input[type="radio"]{accent-color:#000}
.oms-payment-card.is-selected{
  border-color:#000 !important;
  box-shadow:0 0 0 3px rgba(0,0,0,.08);
}

.oms-wa-cta{
  display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;
  border-radius:999px;background:#25D366;color:#fff;box-shadow:0 14px 28px rgba(37,211,102,.28);
  font-weight:800;
}
.oms-wa-cta__icon{
  display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:#fff;box-shadow:0 6px 12px rgba(0,0,0,.08);overflow:hidden;flex:0 0 auto;
}
.oms-wa-cta__icon img{
  width:18px;height:18px;display:block;object-fit:contain;
}

.oms-mini-sellcard{
  cursor:pointer;
}
.oms-mini-sellcard__media,
.oms-mini-sellcard__title{pointer-events:none}
.oms-mini-sellcard__action{pointer-events:auto}

@media (max-width: 860px){
  .oms-auth-card--logged,.oms-reviews__head{flex-direction:column;align-items:flex-start}
  .oms-auth-grid{grid-template-columns:1fr}
  .oms-wa-cta{min-height:48px;padding:0 14px;font-size:14px}
}



/* =========================================================
   AUTH FLOW · antes del checkout
   ========================================================= */
.oms-auth-choice{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.oms-auth-grid--single{
  grid-template-columns:1fr !important;
}

.oms-auth-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.oms-auth-actions .oms-btn{
  flex:1 1 180px;
}

@media (max-width: 680px){
  .oms-auth-actions{
    flex-direction:column;
  }
  .oms-auth-actions .oms-btn{
    width:100%;
  }
}



/* =========================================================
   AUTH FORM · correo + contraseña
   ========================================================= */
.oms-auth-inline-form input{
  width:100%;
}

.oms-auth-grid--single{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}

.oms-auth-card p,
.oms-auth-card strong{
  word-break:break-word;
}

/* =========================================================
   PAGINACIÓN ARRIBA + 2 PRODUCTOS POR FILA EN CELULAR
   ========================================================= */
.oms-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
}

.oms-pagination + .oms-grid{
  margin-top:0;
}

/* En celular: 2 productos por fila */
@media (max-width: 768px){
  .oms-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .oms-card__body{
    padding:12px !important;
  }

  .oms-card__title{
    font-size:16px !important;
    line-height:1.15 !important;
  }

  .oms-card__desc{
    font-size:12px !important;
    line-height:1.45 !important;
  }

  .oms-price strong{
    font-size:15px !important;
  }

  .oms-price del{
    font-size:12px !important;
  }

  .oms-card__footer{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .oms-card__footer .oms-btn{
    min-height:40px !important;
    font-size:14px !important;
    padding:0 10px !important;
  }

  .oms-pagebtn{
    min-width:40px !important;
    min-height:40px !important;
    font-size:14px !important;
  }
}

/* =========================================================
   RESEÑAS + TOPBAR NEGRA FIJA
   ========================================================= */
.oms-card__rating--single{
  margin:6px 0 12px;
}

.oms-reviews__head{
  align-items:center;
}

.oms-reviews__summary{
  display:none !important;
}

.oms-product-buy{
  display:grid;
  grid-template-columns:auto 1fr 1fr;
  gap:12px;
}

@media (max-width: 768px){
  .oms-product-buy{
    grid-template-columns:1fr;
  }
}

.oms-topbar{
  position:sticky !important;
  top:0 !important;
  z-index:70 !important;
  background:#000000 !important;
  color:#ffffff !important;
  background-image:none !important;
}

.oms-topbar,
.oms-topbar *{
  color:#ffffff !important;
}

.oms-topbar__inner{
  min-height:42px !important;
}

.oms-header{
  top:42px !important;
}


/* Imagen clickeable en Lo más vendido */
.oms-mini-sellcard__media{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  width:100%;
  cursor:pointer;
}


/* Drag en toda la card excepto imagen y Agregar */
.oms-mini-sellcard{
  cursor:grab;
}
.oms-mini-sellcard__media{
  cursor:pointer !important;
}
.oms-mini-sellcard__action{
  cursor:pointer !important;
}
.oms-bestsellers__rail.is-dragging .oms-mini-sellcard{
  cursor:grabbing !important;
}
.oms-bestsellers__rail.is-dragging .oms-mini-sellcard__media,
.oms-bestsellers__rail.is-dragging .oms-mini-sellcard__action{
  cursor:pointer !important;
}


/* La imagen en Lo más vendido abre producto, no activa drag */
.oms-mini-sellcard__media{
  position:relative;
  z-index:2;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}


/* =========================================================
   FLOW CHECKOUT CARD · estética corregida
   ========================================================= */
.oms-payment-box{
  display:grid;
  gap:14px;
}

.oms-payment-title{
  font-size:15px;
  font-weight:800;
  color:var(--oms-text);
  margin:0 0 2px;
}

.oms-payment-card{
  position:relative;
  display:grid !important;
  grid-template-columns:24px 1fr !important;
  gap:14px !important;
  align-items:center !important;
  min-height:96px;
  padding:18px 20px !important;
  border-radius:22px !important;
  overflow:hidden;
  cursor:pointer;
  background:linear-gradient(180deg,#fffefb 0%, #faf6ed 100%) !important;
  border:1px solid rgba(214,203,186,.92) !important;
  box-shadow:0 10px 24px rgba(61,72,49,.06);
}

.oms-payment-card:hover{
  border-color:#9ab177 !important;
  box-shadow:0 14px 28px rgba(93,123,40,.10);
}

.oms-payment-card.is-selected{
  border-color:#88a56a !important;
  box-shadow:0 0 0 3px rgba(120,149,93,.10), 0 14px 28px rgba(93,123,40,.10) !important;
}

.oms-payment-card input[type="radio"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:20px !important;
  height:20px !important;
  margin:0 !important;
  border-radius:6px !important;
  border:2px solid #8aa55e !important;
  background:#fff !important;
  cursor:pointer !important;
  display:block !important;
  position:relative !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

.oms-payment-card input[type="radio"]:checked{
  background:#6f8f3a !important;
  border-color:#6f8f3a !important;
}

.oms-payment-card input[type="radio"]:checked::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

.oms-payment-card__icon{
  display:none !important;
}

.oms-payment-card__main{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  column-gap:14px !important;
  row-gap:3px !important;
  min-width:0;
}

.oms-payment-card__main img{
  grid-row:1 / span 3;
  width:92px !important;
  height:auto !important;
  min-width:92px !important;
  max-width:92px !important;
  display:block !important;
  object-fit:contain !important;
  margin:0 !important;
}

.oms-payment-card__main strong{
  display:block;
  font-size:22px !important;
  line-height:1.05 !important;
  color:var(--oms-text);
  margin:0 !important;
}

.oms-payment-card__main small{
  display:block;
  font-size:14px !important;
  line-height:1.45 !important;
  color:var(--oms-muted);
  margin:0 !important;
  max-width:42ch;
}

@media (max-width: 680px){
  .oms-payment-card{
    grid-template-columns:22px 1fr !important;
    padding:16px 16px !important;
    min-height:86px !important;
    border-radius:20px !important;
  }

  .oms-payment-card__main{
    grid-template-columns:78px 1fr !important;
    column-gap:12px !important;
  }

  .oms-payment-card__main img{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
  }

  .oms-payment-card__main strong{
    font-size:18px !important;
  }

  .oms-payment-card__main small{
    font-size:13px !important;
    max-width:none !important;
  }
}


/* =========================================================
   PRODUCTOS · sin descuentos + rating bajo imagen
   ========================================================= */
.oms-badge-sale{
  display:none !important;
}

.oms-price del{
  display:none !important;
}

.oms-card__rating--under-image{
  margin:0 0 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.oms-card__rating--under-image .oms-rating{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}

.oms-card__body{
  display:flex;
  flex-direction:column;
}

.oms-card__tags{
  margin-bottom:8px;
}

.oms-price{
  margin-top:auto;
  margin-bottom:12px;
}

.oms-card__footer{
  margin-top:0 !important;
}

@media (max-width:768px){
  .oms-card__rating--under-image{
    margin:0 0 6px !important;
  }
  .oms-card__rating--under-image .oms-rating{
    gap:6px !important;
  }
}


/* =========================================================
   DESCRIPCIÓN DESPLEGABLE EN PRODUCTO
   ========================================================= */
.oms-product-longdesc{
  margin:8px 0 14px;
  border:1px solid rgba(221,211,193,.95);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  overflow:hidden;
}

.oms-product-longdesc summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  font-weight:800;
  color:var(--oms-text);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.oms-product-longdesc summary::-webkit-details-marker{
  display:none;
}

.oms-product-longdesc summary::after{
  content:"+";
  font-size:22px;
  line-height:1;
  color:var(--oms-brand);
  font-weight:700;
}

.oms-product-longdesc[open] summary::after{
  content:"−";
}

.oms-product-longdesc__content{
  padding:0 16px 16px;
  border-top:1px solid rgba(221,211,193,.8);
  max-height:min(42vh, 380px);
  overflow:auto;
  overscroll-behavior:contain;
}

.oms-product-longdesc__block{
  margin-top:14px;
}

.oms-product-longdesc__block > strong{
  display:block;
  margin-bottom:6px;
  color:var(--oms-text);
  font-size:15px;
}

.oms-product-longdesc__block p{
  margin:0;
  color:var(--oms-muted);
  line-height:1.7;
}

.oms-product-longdesc__block p strong,
.oms-product-longdesc__block li strong,
.oms-product-longdesc__block strong strong{
  display:inline;
  margin:0;
  font-size:inherit;
}

.oms-product-longdesc__content::-webkit-scrollbar{
  width:10px;
}

.oms-product-longdesc__content::-webkit-scrollbar-thumb{
  background:rgba(91,122,38,.28);
  border-radius:999px;
  border:2px solid rgba(255,255,255,.65);
}

.oms-product-longdesc__content::-webkit-scrollbar-track{
  background:transparent;
}

/* =========================================================
   OCULTAR BARRA DE SCROLL EN MODALES DE PRODUCTO
   Mantiene el desplazamiento con mouse/touch, pero sin mostrar la barra.
   ========================================================= */
.oms-modal{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

.oms-modal::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}


/* =========================================================
   TÍTULO · LO MAS VENDIDO centrado y destacado
   ========================================================= */
.oms-bestsellers{
  padding:28px 0 10px;
}

.oms-bestsellers__head--centered{
  display:block;
  text-align:center;
  margin:0 auto 22px;
}

.oms-bestsellers__title{
  display:inline-block;
  margin:0;
  padding:12px 26px 14px;
  border-radius:999px;
  font-size:clamp(36px, 5.4vw, 68px);
  line-height:.94;
  font-weight:1000;
  letter-spacing:.065em;
  text-transform:uppercase;
  background:linear-gradient(180deg, #fff7e6 0%, #f5efdf 22%, #d2ebb1 55%, #7fb13d 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  position:relative;
  filter:drop-shadow(0 10px 22px rgba(19,36,7,.28));
  text-shadow:
    0 0 4px rgba(255,250,239,.95),
    0 0 10px rgba(244,235,216,.78),
    0 0 22px rgba(180,214,120,.30);
}

@supports (-webkit-text-stroke: 1px rgba(255,248,236,.95)){
  .oms-bestsellers__title{
    -webkit-text-stroke:1.15px rgba(255,248,236,.95);
  }
}

.oms-bestsellers__title::after{
  content:"";
  position:absolute;
  inset:-10px -18px;
  border-radius:999px;
  background:radial-gradient(circle at center, rgba(255,252,244,.28) 0%, rgba(255,252,244,.16) 42%, rgba(210,235,177,.10) 62%, rgba(127,177,61,0) 82%);
  filter:blur(8px);
  z-index:-1;
  pointer-events:none;
}

@media (max-width: 960px){
  .oms-bestsellers{
    padding:18px 0 8px;
  }

  .oms-bestsellers__head--centered{
    margin-bottom:16px;
  }

  .oms-bestsellers__title{
    padding:10px 16px 12px;
    font-size:clamp(30px, 9.2vw, 46px);
    letter-spacing:.045em;
    border-radius:999px;
  }
}


/* =========================================================
   HERO SLIDES · full width and visually attached to logo banner
   ========================================================= */
.oms-hero--showcase{
  padding:0 0 18px !important;
}

.oms-hero--showcase > .oms-container{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
}

.oms-showcase--full{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.oms-showcase--full .oms-showcase__slider{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
}

.oms-showcase--full .oms-showcase__slides,
.oms-showcase--full .oms-showcase__slide,
.oms-showcase--full .oms-showcase__banner{
  width:100% !important;
}

.oms-showcase--full .oms-showcase__banner{
  min-height:clamp(320px, 42vw, 640px) !important;
  height:clamp(320px, 42vw, 640px) !important;
  object-fit:cover !important;
  object-position:center center !important;
}

@media (max-width: 760px){
  .oms-hero--showcase{
    padding:0 0 12px !important;
  }

  .oms-showcase--full .oms-showcase__slider{
    min-height:260px !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
  }

  .oms-showcase--full .oms-showcase__banner{
    min-height:260px !important;
    height:260px !important;
  }
}


/* =========================================================
   HERO SLIDES · deslizamiento rápido cada 2 segundos
   ========================================================= */
.oms-showcase__slides{
  position:relative;
  width:100%;
  height:100%;
  min-height:inherit;
  overflow:hidden;
}

.oms-showcase__slide{
  position:absolute;
  cursor:pointer;
  inset:0;
  display:block !important;
  padding:0 !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(100%,0,0);
  transition:transform .36s cubic-bezier(.22,.8,.24,1), opacity .22s ease;
  will-change:transform, opacity;
}

.oms-showcase__slide.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(100%,0,0);
}

.oms-showcase__slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0);
  z-index:2;
}

.oms-showcase__slide.is-next,
.oms-showcase__slide.is-prev,
.oms-showcase__slide.is-leave-left,
.oms-showcase__slide.is-leave-right{
  opacity:1;
  visibility:visible;
}

.oms-showcase__slide.is-next{
  transform:translate3d(100%,0,0);
  z-index:3;
}

.oms-showcase__slide.is-prev{
  transform:translate3d(-100%,0,0);
  z-index:3;
}

.oms-showcase__slide.is-leave-left{
  transform:translate3d(-100%,0,0);
  z-index:2;
}

.oms-showcase__slide.is-leave-right{
  transform:translate3d(100%,0,0);
  z-index:2;
}

.oms-showcase__banner{
  width:100%;
  height:100%;
  min-height:inherit;
  display:block;
  object-fit:cover;
  object-position:center center;
}


/* =========================================================
   HERO SLIDES · volver al tamaño anterior (no full width)
   ========================================================= */
.oms-hero--showcase{
  padding:18px 0 18px !important;
}

.oms-hero--showcase > .oms-container{
  max-width:var(--oms-max) !important;
  width:100% !important;
  padding:0 24px !important;
}

.oms-showcase--full{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

.oms-showcase--full .oms-showcase__slider{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  border-radius:34px !important;
  border-left:1px solid rgba(206,216,194,.92) !important;
  border-right:1px solid rgba(206,216,194,.92) !important;
}

.oms-showcase--full .oms-showcase__slides,
.oms-showcase--full .oms-showcase__slide,
.oms-showcase--full .oms-showcase__banner{
  width:100% !important;
}

.oms-showcase--full .oms-showcase__banner{
  min-height:clamp(320px, 48vw, 560px) !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

@media (max-width: 760px){
  .oms-hero--showcase{
    padding:14px 0 12px !important;
  }

  .oms-hero--showcase > .oms-container{
    padding:0 16px !important;
  }

  .oms-showcase--full .oms-showcase__slider{
    min-height:260px !important;
    border-radius:24px !important;
    border-left:1px solid rgba(206,216,194,.92) !important;
    border-right:1px solid rgba(206,216,194,.92) !important;
  }

  .oms-showcase--full .oms-showcase__banner{
    min-height:260px !important;
    height:260px !important;
  }
}


/* FINAL OVERRIDE · fondos separados desktop / móvil */
html, body{background: transparent !important;}
body::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-10 !important;
  pointer-events:none !important;
  opacity:1 !important;
  filter:none !important;
  background: var(--oms-bg-image) center top / cover no-repeat fixed !important;
}
.oms-showcase__slider{
  background:
    linear-gradient(120deg, rgba(22,38,18,.58) 0%, rgba(56,95,34,.30) 28%, rgba(214,223,204,.10) 52%, rgba(111,143,58,.16) 100%),
    var(--oms-bg-image) center center / cover no-repeat !important;
}
@media (max-width: 960px){
  body::before{
    background: var(--oms-bg-image) center 28% / cover no-repeat !important;
  }
  .oms-showcase__slider{
    background:
      linear-gradient(120deg, rgba(22,38,18,.42) 0%, rgba(56,95,34,.18) 34%, rgba(214,223,204,.08) 62%, rgba(111,143,58,.10) 100%),
      var(--oms-bg-image) center center / cover no-repeat !important;
  }
}


/* FINAL OVERRIDE · desktop 3x más alejado + fondos optimizados */
html, body{background: transparent !important;}
body::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-10 !important;
  pointer-events:none !important;
  opacity:1 !important;
  filter:none !important;
  background-color:#f8f8f6 !important;
  background-image:var(--oms-bg-image) !important;
  background-repeat:repeat-y !important;
  background-position:center top !important;
  background-size:34vw auto !important;
  background-attachment:fixed !important;
}
.oms-showcase__slider{
  background-image:
    linear-gradient(120deg, rgba(22,38,18,.58) 0%, rgba(56,95,34,.30) 28%, rgba(214,223,204,.10) 52%, rgba(111,143,58,.16) 100%),
    var(--oms-bg-image) !important;
  background-repeat:no-repeat, repeat-y !important;
  background-position:center center, center top !important;
  background-size:cover, 34vw auto !important;
}
@media (max-width: 1440px){
  body::before{ background-size:40vw auto !important; }
  .oms-showcase__slider{ background-size:cover, 40vw auto !important; }
}
@media (max-width: 1180px){
  body::before{ background-size:48vw auto !important; }
  .oms-showcase__slider{ background-size:cover, 48vw auto !important; }
}
@media (max-width: 960px){
  body::before{
    background-repeat:no-repeat !important;
    background-position:center top !important;
    background-size:cover !important;
    background-attachment:scroll !important;
  }
  .oms-showcase__slider{
    background-image:
      linear-gradient(120deg, rgba(22,38,18,.42) 0%, rgba(56,95,34,.18) 34%, rgba(214,223,204,.08) 62%, rgba(111,143,58,.10) 100%),
      var(--oms-bg-image) !important;
    background-repeat:no-repeat, no-repeat !important;
    background-position:center center, center top !important;
    background-size:cover, cover !important;
  }
}


/* =========================================================
   FIX FINAL · FONDO DESKTOP/MOBILE
   - Desktop: usa el fondo desktop correctamente encuadrado
   - Mobile: mantiene el fondo móvil como estaba
   ========================================================= */
html,
body,
#oms-app,
.oms-app,
.oms-site,
.oms-page,
.oms-shell,
main,
.oms-main,
.oms-content,
.oms-shop,
.oms-section,
.oms-bestsellers,
.oms-hero--showcase{
  background-color: transparent !important;
}

body::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-10 !important;
  pointer-events:none !important;
  opacity:1 !important;
}

@media (min-width: 961px){
  :root{
    --oms-bg-image: url("../img/organic-leaves-bg-desktop-v2.jpg") !important;
  }

  body::before{
    background:
      linear-gradient(rgba(248,250,244,.10), rgba(248,250,244,.16)),
      var(--oms-bg-image) center 38% / cover no-repeat !important;
  }
}

@media (max-width: 960px){
  :root{
    --oms-bg-image: url("../img/organic-leaves-bg-mobile-20260422.jpg") !important;
  }

  body::before{
    background:
      linear-gradient(rgba(248,250,244,.16), rgba(248,250,244,.24)),
      var(--oms-bg-image) center 28% / cover no-repeat !important;
  }
}

/* =========================================================
   FIX · HEADER ICONOS NUEVOS + SALUDO DE USUARIO
   ========================================================= */
.oms-header .oms-actions{
  gap:18px !important;
}

.oms-header .oms-iconbtn{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
}

.oms-ui-icon{
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  flex:0 0 auto;
}

.oms-ui-icon--menu{
  width:32px;
  height:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Crect x='4' y='2' width='56' height='8' rx='3' fill='%23000'/%3E%3Crect x='4' y='16' width='56' height='8' rx='3' fill='%23000'/%3E%3Crect x='4' y='30' width='56' height='8' rx='3' fill='%23000'/%3E%3C/svg%3E");
}

.oms-ui-icon--user{
  width:26px;
  height:26px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='30' fill='%23000'/%3E%3Ccircle cx='32' cy='22' r='10' fill='%23fff'/%3E%3Cpath d='M32 36c-12.5 0-19 8.5-19 16.5 0 1.9 1.6 3.5 3.5 3.5h31c1.9 0 3.5-1.6 3.5-3.5C51 44.5 44.5 36 32 36Z' fill='%23fff'/%3E%3C/svg%3E");
}

.oms-ui-icon--cart{
  width:28px;
  height:24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48'%3E%3Cpath d='M5 6h10l6 20h28l4-16H20' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='27' cy='40' r='4.5' fill='%23000'/%3E%3Ccircle cx='47' cy='40' r='4.5' fill='%23000'/%3E%3C/svg%3E");
}

.oms-account-greeting{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  color:#111 !important;
  font-weight:800;
  font-size:18px;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:220px;
}

.oms-account-greeting:hover{
  text-decoration:underline;
}

.oms-header .oms-count{
  top:-8px !important;
  right:-10px !important;
}

.oms-mobile-filters{
  display:none !important;
}

@media (max-width: 960px){
  .oms-mobile-filters{
    display:inline-flex !important;
  }

  .oms-header .oms-actions{
    gap:14px !important;
  }

  .oms-account-greeting{
    max-width:120px;
    font-size:14px;
  }

  .oms-ui-icon--menu{
    width:28px;
    height:18px;
  }

  .oms-ui-icon--user{
    width:24px;
    height:24px;
  }

  .oms-ui-icon--cart{
    width:26px;
    height:22px;
  }
}

@media (min-width: 961px){
  .oms-mobile-filters{
    display:none !important;
  }
}


/* =========================================================
   HERO SLIDES · barra selectora fija dentro del banner
   ========================================================= */
.oms-showcase__slider{
  position:relative !important;
}

.oms-showcase__dots{
  position:absolute !important;
  left:50% !important;
  bottom:14px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:rgba(247,244,236,.94) !important;
  border:1px solid rgba(200,188,166,.86) !important;
  box-shadow:0 10px 28px rgba(39,56,27,.14) !important;
  z-index:8 !important;
  width:auto !important;
  max-width:calc(100% - 32px) !important;
  margin:0 !important;
}

.oms-showcase__dot{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  border-radius:999px !important;
  border:0 !important;
  background:rgba(68,89,45,.22) !important;
  box-shadow:none !important;
}

.oms-showcase__dot.is-active{
  width:26px !important;
  background:#7a9837 !important;
}

@media (max-width: 760px){
  .oms-showcase__dots{
    bottom:10px !important;
    gap:7px !important;
    padding:6px 10px !important;
  }

  .oms-showcase__dot{
    width:10px !important;
    height:10px !important;
    min-width:10px !important;
  }

  .oms-showcase__dot.is-active{
    width:22px !important;
  }
}


/* HERO SLIDE 1 · PACK JUICY FACE · desktop mostrar imagen completa */
@media (min-width: 761px){
  .oms-showcase__slide[data-slug="pack-juicy-face"]{
    background:#d9d5ce;
  }

  .oms-showcase__slide[data-slug="pack-juicy-face"] .oms-showcase__banner{
    object-fit:contain !important;
    object-position:center center !important;
    background:#d9d5ce;
  }
}


/* =========================================================
   ¡NUESTRA CIENCIA! · contraste alto sin perder el fondo
   ========================================================= */
.oms-science-section{
  padding-top:24px;
}

.oms-science-box{
  background:rgba(255,255,255,.28) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 10px 24px rgba(18,28,15,.05) !important;
  backdrop-filter:blur(.4px) !important;
  -webkit-backdrop-filter:blur(.4px) !important;
  padding:34px 36px !important;
}

.oms-science-box h3{
  margin:0 0 18px;
  font-size:clamp(34px, 4vw, 52px);
  line-height:1;
  text-align:center;
  color:#142014 !important;
}

.oms-science-copy{
  color:#182318 !important;
}

.oms-science-copy p{
  margin:0 0 16px !important;
  color:#1c281b !important;
  line-height:1.82 !important;
  font-size:16px !important;
  font-weight:500 !important;
}

.oms-science-copy h4{
  margin:28px 0 14px !important;
  font-size:28px !important;
  line-height:1.1 !important;
  color:#132013 !important;
}

.oms-science-copy h5{
  margin:22px 0 10px !important;
  font-size:18px !important;
  line-height:1.25 !important;
  color:#172417 !important;
  text-transform:none !important;
}

.oms-science-copy ul{
  margin:0 0 16px 0 !important;
  padding-left:20px !important;
  display:grid;
  gap:10px;
}

.oms-science-copy li{
  color:#1d291c !important;
  line-height:1.72 !important;
  font-weight:500 !important;
}

.oms-science-copy strong{
  color:#0f180f !important;
  font-weight:800 !important;
}

.oms-science-copy em{
  color:#1f2d1e !important;
}

@media (max-width: 760px){
  .oms-science-box{
    padding:22px 18px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.42) !important;
  }

  .oms-science-box h3{
    font-size:32px !important;
    text-align:left;
  }

  .oms-science-copy p,
  .oms-science-copy li{
    font-size:15px !important;
    line-height:1.72 !important;
  }

  .oms-science-copy h4{
    font-size:23px !important;
  }

  .oms-science-copy h5{
    font-size:17px !important;
  }
}


/* =========================================================
   FIX · saludo usuario completo, más pequeño y sin negrita
   ========================================================= */
.oms-account-greeting{
  color:#111 !important;
  font-weight:400 !important;
  font-size:12px !important;
  line-height:1.08 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  max-width:170px !important;
  display:inline-block !important;
  text-align:left !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}

@media (max-width: 960px){
  .oms-account-greeting{
    max-width:120px !important;
    font-size:11px !important;
    line-height:1.02 !important;
    font-weight:400 !important;
  }
}

/* =========================================================
   PÁGINA · NUESTROS TESTIMONIOS
   ========================================================= */
.oms-testimonials-page{
  padding-top:28px;
}

.oms-testimonials-page__intro{
  max-width:900px;
  margin:0 auto 18px;
  text-align:center;
  display:grid;
  gap:14px;
}

.oms-testimonials-page__intro h2{
  margin:0;
  font-size:clamp(34px,4vw,52px);
  line-height:1;
  color:#152115;
}

.oms-testimonials-page__intro p{
  margin:0;
  color:#223022;
  line-height:1.8;
  font-size:16px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 14px 30px rgba(18,28,15,.08);
  backdrop-filter:blur(4px);
  border-radius:24px;
  padding:18px 20px;
}

.oms-testimonials-page__rail{
  margin-top:6px;
}

@media (max-width: 760px){
  .oms-testimonials-page{
    padding-top:18px;
  }

  .oms-testimonials-page__intro{
    text-align:left;
    gap:12px;
  }

  .oms-testimonials-page__intro p{
    font-size:15px;
    line-height:1.7;
    border-radius:20px;
    padding:16px 16px;
  }
}


/* Rotación vertical del banner superior */
.oms-topbar__inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.oms-topbar__rotator{
  position:relative;
  width:100%;
  min-height:1.2em;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.oms-topbar__message{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  font-weight:800 !important;
  font-size:clamp(11px, 1.05vw, 15px);
  line-height:1.1;
  text-align:center;
  white-space:nowrap;
  opacity:0;
  transform:translateY(135%);
  transition:transform .46s ease, opacity .46s ease;
  pointer-events:none;
}

.oms-topbar__message.is-active{
  opacity:1;
  transform:translateY(0);
}

.oms-topbar__message.is-leaving{
  opacity:0;
  transform:translateY(-135%);
}

@media (max-width: 768px){
  .oms-topbar__inner{
    min-height:40px !important;
  }

  .oms-topbar__message{
    padding:0 10px;
    font-size:11px;
  }

  .oms-header{
    top:40px !important;
  }
}


/* === Venta nocturna + descuentos programados === */
.oms-flashsale{
  width:100%;
  background:
    linear-gradient(90deg, rgba(23,35,25,.88) 0%, rgba(48,69,42,.78) 48%, rgba(247,238,218,.30) 100%),
    url("../img/venta-nocturna-40off-banner.jpg") center center / cover no-repeat,
    linear-gradient(90deg,#203123 0%, #5b7a51 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.oms-flashsale--upcoming{
  background:
    linear-gradient(90deg, rgba(25,37,27,.88) 0%, rgba(50,72,43,.78) 48%, rgba(247,238,218,.28) 100%),
    url("../img/venta-nocturna-40off-banner.jpg") center center / cover no-repeat,
    linear-gradient(90deg,#233225 0%, #47653e 100%);
}

.oms-flashsale__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 16px;
}

.oms-flashsale__content{
  display:grid;
  gap:4px;
}

.oms-flashsale__eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.85;
}

.oms-flashsale__headline{
  font-size:16px;
  line-height:1.2;
}

.oms-flashsale__meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:13px;
}

.oms-flashsale__timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:94px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  font-weight:800;
  letter-spacing:.04em;
}

.oms-flashsale__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:#fff;
  color:#233225;
  text-decoration:none;
  font-weight:800;
  white-space:nowrap;
}

.oms-price--sale-active .oms-price__current{
  color:#8c3427;
}

.oms-price__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  background:#f6e1db;
  color:#8c3427;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}

.oms-cart-item__compare{
  color:#8d8477;
  font-size:12px;
}

.oms-card__media img,
.oms-mini-sellcard__media img,
.oms-gallery__main img{
  object-fit:var(--oms-img-fit, cover) !important;
  object-position:var(--oms-img-pos, center center) !important;
}

.oms-card__media img,
.oms-mini-sellcard__media img{
  transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale, 1.18)) !important;
  transition:transform .25s ease !important;
}

.oms-card:hover .oms-card__media img,
.oms-mini-sellcard:hover .oms-mini-sellcard__media img{
  transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-hover-scale, 1.22)) !important;
}

.oms-gallery__main img{
  transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale, 1.10)) !important;
}

@media (max-width: 768px){
  .oms-flashsale__inner{
    padding:10px 14px;
    flex-direction:column;
    align-items:stretch;
  }

  .oms-flashsale__headline{
    font-size:14px;
  }

  .oms-flashsale__meta{
    font-size:12px;
  }

  .oms-flashsale__cta{
    width:100%;
  }

  .oms-card__media img,
  .oms-mini-sellcard__media img{
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale-mobile, 1.26)) !important;
  }

  .oms-card:hover .oms-card__media img,
  .oms-mini-sellcard:hover .oms-mini-sellcard__media img{
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-hover-scale, var(--oms-img-scale-mobile, 1.26))) !important;
  }

  .oms-gallery__main img{
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale-mobile, 1.14)) !important;
  }
}

/* =========================================================
   MOBILE FIXES · búsqueda, reseñas, descripción y galería
   ========================================================= */
.oms-search-actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}

.oms-search-actions .oms-btn{
  width:100%;
}

.oms-product-longdesc__content{
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

@media (max-width:768px){
  .oms-card__rating,
  .oms-mini-sellcard__rating,
  .oms-card__rating--product{
    display:flex !important;
    align-items:center !important;
    min-height:18px;
  }

  .oms-rating{
    display:inline-flex !important;
    align-items:center !important;
    flex-wrap:wrap;
    gap:6px !important;
  }

  .oms-rating__meta{
    font-size:11px !important;
    line-height:1.25 !important;
  }

  .oms-product-longdesc__content{
    max-height:min(42vh, 320px);
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }

  .oms-product-longdesc__block p,
  .oms-product-longdesc__block li{
    line-height:1.6;
  }

  .oms-gallery{
    gap:10px;
  }

  .oms-gallery__thumbs{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .oms-thumb{
    display:block !important;
  }
}


.oms-flashsale__eyebrow{
  font-size:22px;
  letter-spacing:.08em;
}

.oms-price{
  display:grid;
  gap:4px;
}

.oms-price__row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.oms-price__label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#7b847c;
}

.oms-price__row--compare{
  gap:8px;
}

.oms-price__compare{
  color:#8d8477;
}

@media (max-width: 768px){
  .oms-flashsale__eyebrow{
    font-size:16px;
  }
}

.oms-price__row--single,
.oms-price__row--compare,
.oms-price__row--offer{
  align-items:baseline;
}

.oms-price__label{
  white-space:nowrap;
}

.oms-price__compare{
  text-decoration-thickness:2px;
}

.oms-price--product{
  gap:8px;
}

.oms-price--product .oms-price__label{
  font-size:13px;
}

.oms-price--product .oms-price__current,
.oms-price--product .oms-price__compare,
.oms-price--product strong{
  font-size:18px;
}


/* Fix visible normal/original price in cards and modal */
.oms-price__row--compare{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.oms-price__compare{
  display:inline-flex;
  align-items:baseline;
  font-weight:800;
  color:#7d756a;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:currentColor;
  opacity:1;
}
.oms-price--product .oms-price__compare{
  font-size:18px;
}


/* Force visible normal/original price in card and modal */
.oms-price__compareText{
  display:inline-flex;
  align-items:baseline;
  font-weight:800;
  color:#7d756a;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:currentColor;
  opacity:1;
  font-size:16px;
  line-height:1.15;
}
.oms-price--product .oms-price__compareText{
  font-size:18px;
}


/* =========================================================
   MOBILE CATALOGO · TOPBAR, CATEGORÍAS, TARJETAS Y FILTROS
   ========================================================= */
.oms-mobile-category-rail,
.oms-mobile-shopbar{
  display:none;
}

.oms-card__footer--single .oms-btn{
  width:100%;
}

.oms-mobile-filters-drawer .oms-sheet-head{
  background:#fff !important;
  border-bottom:1px solid #e6e6e6 !important;
}

.oms-mobile-filters-drawer{
  top:calc(var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px)) !important;
  height:calc(100dvh - (var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px))) !important;
  max-height:calc(100dvh - (var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px))) !important;
}

.oms-mobile-filters-drawer .oms-sheet-body{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  overflow:hidden;
  padding:0;
}

.oms-mobile-filter-panel{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  gap:0;
}

.oms-mobile-filter-panel__top{
  flex:0 0 auto;
  display:grid;
  gap:18px;
  padding:18px 20px 14px;
}

.oms-mobile-filter-panel__headrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.oms-mobile-filter-panel__scroll{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  gap:18px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 20px 18px;
  -webkit-overflow-scrolling:touch;
}

.oms-mobile-filter-panel__footer{
  flex:0 0 auto;
  padding:16px 20px calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid #e6e6e6;
  background:#fff;
}

.oms-mobile-filter-panel__section{
  display:grid;
  gap:12px;
}

.oms-mobile-filter-panel__title,
.oms-mobile-filter-panel__heading{
  font-size:18px;
  font-weight:900;
  letter-spacing:.02em;
  color:#000;
}

.oms-mobile-filter-panel__applied{
  display:grid;
  gap:10px;
}

.oms-mobile-filter-panel__applied-item{
  color:#4d4d4d;
  font-size:15px;
}

.oms-mobile-filter-panel__clear,
.oms-mobile-filter-panel__submit{
  min-height:46px;
  border:1px solid #d8d8d8;
  background:#fff;
  color:#8c8c8c;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  border-radius:0;
}

.oms-mobile-filter-panel__clear{
  padding:0 14px;
  white-space:nowrap;
}

.oms-mobile-filter-panel__submit{
  color:#000;
  border-color:#000;
}

.oms-mobile-filter-panel__search{
  width:100%;
  min-height:52px;
  border:2px solid #111;
  background:#fff;
  color:#000;
  padding:0 16px;
  border-radius:0;
  outline:0;
}

.oms-mobile-filter-panel__list{
  display:grid;
  gap:0;
}

.oms-mobile-filter-panel__row{
  display:grid;
  grid-template-columns:28px 1fr auto;
  align-items:center;
  gap:12px;
  min-height:48px;
  color:#111;
  font-size:15px;
}

.oms-mobile-filter-panel__row input{
  width:20px;
  height:20px;
  margin:0;
}

.oms-mobile-filter-panel__count{
  color:#444;
}

.oms-mobile-filter-panel__range input{
  border-radius:0 !important;
}

@media (max-width:768px){
  .oms-shop{
    padding-bottom:92px;
  }

  .oms-shop__layout{
    display:block;
  }

  .oms-shop__layout > .oms-panel{
    display:none !important;
  }

  .oms-shop__main{
    min-width:0;
  }

  .oms-toolbar{
    display:none !important;
  }

  .oms-mobile-category-rail{
    display:flex;
    gap:12px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:0 0 6px;
    margin:0 0 14px;
    scrollbar-width:none;
  }

  .oms-mobile-category-rail::-webkit-scrollbar{
    display:none;
  }

  .oms-mobile-category{
    flex:0 0 160px;
    min-height:96px;
    padding:14px 14px 12px;
    border:1.5px solid #111;
    background:#fff;
    color:#0c66e4;
    text-align:left;
    display:grid;
    align-content:space-between;
    gap:10px;
    border-radius:0 !important;
    box-shadow:none;
  }

  .oms-mobile-category strong{
    font-size:17px;
    line-height:1.08;
    font-weight:900;
    text-transform:uppercase;
    white-space:normal;
    word-break:break-word;
  }

  .oms-mobile-category span{
    font-size:16px;
    line-height:1;
  }

  .oms-mobile-category.is-active{
    background:#000;
    color:#fff;
  }

  .oms-mobile-shopbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    margin:0 0 16px;
  }

  .oms-mobile-shopbar__btn{
    width:100%;
    min-height:58px;
    padding:0 16px;
    border:2px solid #111;
    background:#fff;
    color:#111;
    font-size:17px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-radius:0 !important;
    cursor:pointer;
  }

  .oms-mobile-shopbar__btn--sort{
    color:#0c66e4;
  }

  .oms-mobile-shopbar__caret{
    color:#111;
    font-size:18px;
    line-height:1;
    margin-left:8px;
    flex:0 0 auto;
  }

  .oms-mobile-sort{
    position:relative;
    min-width:0;
  }

  .oms-mobile-sort__menu{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:30;
    border:1px solid #2a2a2a;
    background:#3a3a3a;
    box-shadow:0 14px 28px rgba(0,0,0,.18);
    border-radius:0 !important;
    overflow:hidden;
  }

  .oms-mobile-sort__option{
    width:100%;
    min-height:54px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    background:#3a3a3a;
    color:#fff;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.14);
    font-size:17px;
    cursor:pointer;
  }

  .oms-mobile-sort__option:last-child{
    border-bottom:0;
  }

  .oms-mobile-sort__option.is-active::before{
    content:"✓";
    margin-right:10px;
    font-weight:900;
  }

  .oms-pagination{
    justify-content:flex-start !important;
    margin:0 0 14px !important;
  }

  .oms-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  .oms-card,
  .oms-card__media,
  .oms-card__footer .oms-btn,
  .oms-mobile-filter-panel__clear,
  .oms-mobile-filter-panel__submit,
  .oms-mobile-filter-panel__search,
  .oms-mobile-shopbar__btn,
  .oms-mobile-category,
  .oms-mobile-sort__menu,
  .oms-mobile-sort__option{
    border-radius:0 !important;
  }

  .oms-card{
    border-radius:0 !important;
    overflow:hidden;
  }

  .oms-card__media{
    aspect-ratio:1 / 1 !important;
    background:#f3f3f3 !important;
  }

  .oms-card__media img{
    object-fit:contain !important;
    object-position:var(--oms-img-pos, center center) !important;
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale-mobile, 1.26)) !important;
    padding:12px !important;
    width:100%;
    height:100%;
  }

  .oms-card:hover .oms-card__media img{
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-hover-scale, var(--oms-img-scale-mobile, 1.26))) !important;
  }

  .oms-card__body{
    padding:10px !important;
    gap:8px !important;
  }

  .oms-card__title{
    min-height:0 !important;
    font-size:15px !important;
    line-height:1.14 !important;
  }

  .oms-card__desc{
    font-size:12px !important;
    line-height:1.38 !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .oms-card__rating{
    min-height:0 !important;
    margin:0 !important;
  }

  .oms-card__rating .oms-rating__meta{
    font-size:10px !important;
  }

  .oms-price{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  .oms-price__label{
    font-size:10px !important;
  }

  .oms-price strong,
  .oms-price__current,
  .oms-price__compareText{
    font-size:14px !important;
  }

  .oms-card__footer{
    display:block !important;
    margin-top:2px !important;
  }

  .oms-card__footer .oms-btn{
    width:100%;
    min-height:42px !important;
    padding:0 10px !important;
    font-size:14px !important;
  }

  .oms-float{
    right:12px;
    bottom:12px;
    gap:8px;
  }

  .oms-float .oms-iconbtn{
    width:52px;
    height:52px;
  }

  .oms-wa-cta{
    padding:0 12px;
    min-height:46px;
  }

  .oms-wa-cta span:last-child{
    font-size:13px;
  }
}

/* =========================================================
   MOBILE FINAL · banner cuadrado full width + best seller cuadrados
   ========================================================= */
@media (max-width: 760px){
  .oms-hero--showcase{
    padding:0 0 14px !important;
  }

  .oms-hero--showcase > .oms-container{
    max-width:none !important;
    width:100% !important;
    padding:0 !important;
  }

  .oms-showcase,
  .oms-showcase--full{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  .oms-showcase--full .oms-showcase__slider{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    min-height:auto !important;
    aspect-ratio:1 / 1 !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:1px solid rgba(206,216,194,.92) !important;
    border-bottom:1px solid rgba(206,216,194,.92) !important;
    overflow:hidden !important;
  }

  .oms-showcase--full .oms-showcase__slides,
  .oms-showcase--full .oms-showcase__slide,
  .oms-showcase--full .oms-showcase__banner,
  .oms-showcase--full .oms-showcase__slide picture,
  .oms-showcase--full .oms-showcase__slide video{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    aspect-ratio:1 / 1 !important;
    display:block !important;
  }

  .oms-showcase--full .oms-showcase__banner,
  .oms-showcase--full .oms-showcase__slide video{
    object-fit:cover !important;
    object-position:center center !important;
  }

  .oms-showcase__arrow{
    width:46px !important;
    height:46px !important;
    border-radius:0 !important;
  }

  .oms-showcase__dots{
    bottom:14px !important;
  }

  .oms-bestsellers{
    padding:16px 0 10px !important;
  }

  .oms-bestsellers > .oms-container{
    padding:0 12px !important;
  }

  .oms-bestsellers__rail{
    gap:12px !important;
    grid-auto-columns:minmax(176px, 176px) !important;
    padding:6px 2px 12px !important;
  }

  .oms-mini-sellcard{
    border-radius:0 !important;
    box-shadow:0 16px 34px rgba(28,42,24,.20) !important;
    border:1px solid rgba(197,208,188,.96) !important;
    grid-template-rows:auto auto !important;
    overflow:hidden !important;
  }

  .oms-mini-sellcard__media{
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    border-radius:0 !important;
  }

  .oms-mini-sellcard__media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:var(--oms-img-pos, center center) !important;
  }

  .oms-mini-sellcard__body{
    padding:12px !important;
    gap:8px !important;
  }

  .oms-mini-sellcard__title{
    font-size:14px !important;
    line-height:1.15 !important;
  }

  .oms-mini-sellcard__desc{
    font-size:13px !important;
    line-height:1.4 !important;
  }

  .oms-mini-sellcard__rating{
    margin-top:0 !important;
  }
}

/* =========================================================
   MOBILE FINAL 2 · banner cuadrado y ancho completo real
   ========================================================= */
@media screen and (max-width: 760px){
  .oms-hero--showcase,
  .oms-hero,
  .oms-showcase-section{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .oms-hero--showcase .oms-container,
  .oms-hero .oms-container,
  .oms-showcase-section .oms-container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .oms-showcase,
  .oms-showcase--full,
  .oms-showcase__wrap,
  .oms-showcase__viewport{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
  }

  .oms-showcase__slider,
  .oms-showcase--full .oms-showcase__slider{
    display:block !important;
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    height:100vw !important;
    min-height:100vw !important;
    max-height:100vw !important;
    aspect-ratio:1 / 1 !important;
    margin:0 calc(50% - 50vw) !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    left:auto !important;
    right:auto !important;
  }

  .oms-showcase__slides,
  .oms-showcase__slide,
  .oms-showcase__slide picture,
  .oms-showcase__slide img,
  .oms-showcase__slide video,
  .oms-showcase__banner{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    aspect-ratio:1 / 1 !important;
    border-radius:0 !important;
  }

  .oms-showcase__slide img,
  .oms-showcase__slide video,
  .oms-showcase__banner{
    object-fit:cover !important;
    object-position:center center !important;
  }
}

/* =========================================================
   HOTFIX V17 · LOGIN / MI CUENTA
   ========================================================= */
.oms-auth-choice .oms-btn,
.oms-auth-actions .oms-btn{
  min-height:56px !important;
  padding:0 18px !important;
}

.oms-auth-actions .oms-btn{
  flex:1 1 auto !important;
}

.oms-panel-page--account .oms-auth-switch__btn,
.oms-modal .oms-auth-switch__btn{
  min-height:48px !important;
  padding:10px 18px !important;
}

@media (max-width: 680px){
  .oms-auth-choice .oms-btn,
  .oms-auth-actions .oms-btn{
    width:100% !important;
    min-height:54px !important;
    flex:0 0 auto !important;
  }
}

/* =========================================================
   HOTFIX V18 · restore panel pages for menú / carrito / mi cuenta
   ========================================================= */
.oms-panel-page{
  position:relative;
  z-index:12;
  min-height:calc(100vh - 120px);
  background:#fffdf8;
}

.oms-panel-page__container{
  width:min(1180px, 100%);
  margin:0 auto;
  padding:0;
}

.oms-panel-page__surface{
  min-height:calc(100vh - 120px);
  background:#fffdf8;
}

.oms-panel-page__head,
.oms-sheet-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 16px !important;
  min-height:64px;
  background:#f7f3eb !important;
  border-bottom:1px solid var(--oms-line);
}

.oms-panel-page__head > div,
.oms-sheet-head > div{
  flex:1 1 auto;
  min-width:0;
}

.oms-panel-page__head strong,
.oms-sheet-head strong{
  display:block;
  margin:0;
  color:#233225;
  line-height:1.15;
  font-size:clamp(16px, 2vw, 20px);
}

.oms-panel-page__sub{
  margin-top:4px;
  font-size:13px;
}

.oms-panel-page__body{
  padding:18px 16px calc(28px + env(safe-area-inset-bottom));
  background:#fffdf8;
}

.oms-panel-page__stack{
  display:grid;
  gap:16px;
}

.oms-page-close,
.oms-close{
  appearance:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 2px !important;
  margin:0 !important;
  color:#243224 !important;
  font-size:38px !important;
  font-weight:800 !important;
  line-height:1 !important;
  cursor:pointer;
}

.oms-page-close:hover,
.oms-page-close:focus,
.oms-close:hover,
.oms-close:focus{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.oms-site.is-panel-open .oms-float,
.oms-site.is-product-open .oms-float,
.oms-site.is-lightbox-open .oms-float{
  display:none !important;
}

.oms-panel-nav{
  display:grid;
  gap:12px;
}

.oms-panel-nav__item{
  appearance:none;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:56px;
  padding:0 18px;
  border-radius:18px;
  border:0 !important;
  background:#fff;
  color:#233225;
  font-size:18px;
  font-weight:800;
  text-align:left;
  box-shadow:none;
}

.oms-panel-nav__item:hover,
.oms-panel-nav__item:focus{
  background:#f7f3eb;
  border:0 !important;
  box-shadow:none;
}

.oms-panel-page__cta{
  margin-top:18px;
}

.oms-panel-page__wa{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:54px;
  border-radius:999px;
  background:#6f8f3a;
  color:#fff;
  font-size:17px;
  font-weight:800;
  text-decoration:none;
}

.oms-cart-items--page{
  margin-bottom:16px;
}

.oms-cart-summary--page{
  margin-top:18px;
}

.oms-panel-page--cart .oms-empty,
.oms-panel-page--cart .oms-cart-summary,
.oms-panel-page--account .oms-auth-card,
.oms-panel-page--account .oms-mini-card{
  border-radius:28px;
}

@media (max-width: 760px){
  .oms-panel-page,
  .oms-panel-page__surface{
    min-height:calc(100vh - 112px);
  }

  .oms-panel-page__body{
    padding:16px 16px calc(22px + env(safe-area-inset-bottom)) !important;
  }

  .oms-panel-nav__item{
    min-height:54px;
    font-size:17px;
    border-radius:16px;
  }

  .oms-panel-page__wa{
    min-height:52px;
    font-size:16px;
  }

  .oms-page-close,
  .oms-close{
    font-size:36px !important;
  }
}


/* =========================================================
   HOTFIX V20 · producto mobile restaurado + banners superiores fijos
   ========================================================= */
@media (max-width: 760px){
  :root{
    --oms-mobile-topbar-h: 42px;
    --oms-mobile-header-h: 84px;
  }

  .oms-topbar{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    z-index: 130 !important;
    margin: 0 !important;
  }

  .oms-header{
    position: fixed !important;
    top: var(--oms-mobile-topbar-h) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    z-index: 129 !important;
    margin: 0 !important;
  }

  .oms-site{
    padding-top: calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
  }

  .oms-modal{
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding-top: calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fffdf8 !important;
    transform: none !important;
    overflow: hidden !important;
    z-index: 128 !important;
  }

  .oms-modal.is-open{
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .oms-modal .oms-sheet-head{
    position: sticky !important;
    top: 0 !important;
    z-index: 8 !important;
    min-height: 56px !important;
    padding: 8px 16px !important;
    background: #f7f3eb !important;
    border-bottom: 1px solid rgba(221,212,197,.85) !important;
  }

  .oms-modal .oms-sheet-body{
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) - 56px) !important;
    max-height: calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) - 56px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 0 18px !important;
    background: #fffdf8 !important;
  }

  .oms-modal .oms-product-modal,
  .oms-modal .oms-gallery,
  .oms-modal .oms-product-meta{
    background: #fffdf8 !important;
  }

  .oms-modal .oms-product-modal{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .oms-close,
  .oms-page-close{
    appearance: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #233225 !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .oms-close::before,
  .oms-close::after,
  .oms-page-close::before,
  .oms-page-close::after{
    display: none !important;
  }

  .oms-gallery--product-page{
    gap: 10px !important;
    overflow: hidden !important;
    background: #fffdf8 !important;
  }

  .oms-gallery--product-page .oms-gallery__main{
    position: relative !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    aspect-ratio: 1 / 1 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #f7f7f5 !important;
    touch-action: pan-x pan-y !important;
    isolation: isolate !important;
  }

  .oms-gallery--product-page .oms-gallery__main::before{
    content: "";
    position: absolute;
    inset: 0;
    background: #f7f7f5;
    z-index: 0;
  }

  .oms-gallery--product-page .oms-gallery__desktop-layers{
    display: none !important;
  }

  .oms-gallery--product-page .oms-gallery__touch-track{
    display: flex !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    overscroll-behavior-y: contain !important;
    scrollbar-width: none !important;
    background: #f7f7f5 !important;
    touch-action: pan-x pan-y !important;
    scroll-behavior: smooth !important;
    scroll-padding-inline: 0 !important;
  }

  .oms-gallery--product-page .oms-gallery__touch-track::-webkit-scrollbar{
    display: none !important;
  }

  .oms-gallery--product-page .oms-gallery__slide{
    display: flex !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f7f7f5 !important;
    align-items: center !important;
    justify-content: center !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    overflow: hidden !important;
  }

  .oms-gallery--product-page .oms-gallery__slide-image{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: var(--oms-img-pos, center center) !important;
    background: #f7f7f5 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: none !important;
  }

  .oms-gallery--product-page .oms-gallery__thumbs{
    display: none !important;
  }


  .oms-gallery__dot{
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    width:12px !important;
    height:12px !important;
    min-width:12px !important;
    min-height:12px !important;
    border-radius:999px !important;
    padding:0 !important;
    margin:0 !important;
    background:#d7ddd0 !important;
    flex:0 0 12px !important;
    cursor:pointer !important;
  }

  .oms-gallery__dot.is-active{
    background:#9ca88d !important;
  }

  .oms-gallery--product-page .oms-gallery__dots{
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 12px 16px 0;
    background: #fffdf8 !important;
    position: relative;
    z-index: 3;
  }

  .oms-product-meta{
    padding: 0 16px !important;
  }

  .oms-image-lightbox{
    position: fixed;
    inset: 0;
    z-index: 140;
    background: rgba(255,253,248,.985) !important;
    display: flex;
    flex-direction: column;
  }

  .oms-image-lightbox__dialog{
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }

  .oms-image-lightbox__head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px !important;
    padding: 6px 16px !important;
    background: #f7f3eb;
    border-bottom: 1px solid var(--oms-line);
  }

  .oms-image-lightbox__body{
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px 0 calc(18px + env(safe-area-inset-bottom)) !important;
    gap: 14px;
    background: #fffdf8 !important;
  }

  .oms-image-lightbox__main{
    flex: 1 1 auto;
    min-height: calc(100vh - 150px) !important;
    width: 100vw !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0 !important;
    background: #f7f7f5;
  }

  .oms-image-lightbox__main img{
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 150px);
    object-fit: contain;
  }

  .oms-gallery__dots--lightbox{
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
  }
}

/* =========================================================
   HOTFIX V21 · MOBILE CATALOGO PRESERVAR FORMATO + BANNER 62%
   ========================================================= */
@media (max-width: 760px){
  /* Banner de inicio reducido 38% respecto del cuadrado */
  .oms-showcase__slider,
  .oms-showcase--full .oms-showcase__slider{
    height:62vw !important;
    min-height:62vw !important;
    max-height:62vw !important;
    aspect-ratio:auto !important;
  }

  .oms-showcase__slides,
  .oms-showcase__slide,
  .oms-showcase__slide picture,
  .oms-showcase__slide img,
  .oms-showcase__slide video,
  .oms-showcase__banner{
    aspect-ratio:auto !important;
  }

  /* Catálogo mobile restaurado */
  .oms-mobile-category-rail{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 0 6px !important;
    margin:0 0 14px !important;
    scrollbar-width:none !important;
  }

  .oms-mobile-category-rail::-webkit-scrollbar{
    display:none !important;
  }

  .oms-mobile-category{
    position:relative !important;
    flex:0 0 140px !important;
    min-height:72px !important;
    padding:10px 12px !important;
    border:1.5px solid rgba(17,17,17,.9) !important;
    background:
      linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.92)),
      url("../img/catalog-category-theme.png") center center / cover no-repeat !important;
    color:#101010 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  .oms-mobile-category strong{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    color:inherit !important;
    font-size:15px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    word-break:break-word !important;
    text-align:center !important;
  }

  .oms-mobile-category span{
    display:none !important;
  }

  .oms-mobile-category.is-active{
    background:
      linear-gradient(rgba(0,0,0,.82), rgba(0,0,0,.82)),
      url("../img/catalog-category-theme.png") center center / cover no-repeat !important;
    color:#fff !important;
    border-color:#000 !important;
  }

  .oms-mobile-shopbar{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    margin:0 0 16px !important;
  }

  .oms-mobile-shopbar__btn,
  .oms-mobile-shopbar__btn--sort,
  .oms-mobile-sort__menu,
  .oms-mobile-sort__option{
    border-radius:0 !important;
  }

  .oms-mobile-shopbar__btn{
    width:100% !important;
    min-height:58px !important;
    padding:0 16px !important;
    border:2px solid #000 !important;
    background:#000 !important;
    color:#fff !important;
    font-size:17px !important;
    font-weight:800 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:8px !important;
  }

  .oms-mobile-shopbar__btn span{
    color:#fff !important;
    text-align:center !important;
  }

  .oms-mobile-shopbar__caret{
    color:#fff !important;
    font-size:18px !important;
    line-height:1 !important;
    margin-left:0 !important;
    flex:0 0 auto !important;
  }

  .oms-mobile-sort{
    position:relative !important;
    min-width:0 !important;
  }

  .oms-mobile-sort__menu{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;
    z-index:30 !important;
    border:1px solid #111 !important;
    background:#111 !important;
    box-shadow:0 14px 28px rgba(0,0,0,.18) !important;
    overflow:hidden !important;
  }

  .oms-mobile-sort__option{
    width:100% !important;
    min-height:52px !important;
    padding:0 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#111 !important;
    color:#fff !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    text-align:center !important;
    font-size:16px !important;
  }

  .oms-mobile-sort__option:last-child{
    border-bottom:0 !important;
  }

  .oms-pagination{
    justify-content:center !important;
    align-items:center !important;
    gap:14px !important;
    margin:8px 0 16px !important;
  }

  .oms-pagination .oms-page{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:50% !important;
    border:1px solid rgba(0,0,0,.08) !important;
    background:rgba(210,210,210,.68) !important;
    color:#111 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:16px !important;
    font-weight:800 !important;
    box-shadow:none !important;
  }

  .oms-pagination .oms-page.is-active{
    background:rgba(150,150,150,.82) !important;
    color:#000 !important;
    border-color:rgba(0,0,0,.14) !important;
  }
}


/* =========================================================
   HOTFIX V23 · paginación catálogo/packs más limpia
   ========================================================= */
.oms-pagination{
  display:flex;
  justify-content:center !important;
  align-items:center;
  gap:12px;
  margin:12px 0 22px !important;
}

.oms-pagebtn{
  -webkit-appearance:none;
  appearance:none;
  min-width:46px !important;
  height:46px !important;
  padding:0 14px;
  border-radius:14px !important;
  border:1px solid rgba(49,68,55,.16) !important;
  background:rgba(255,255,255,.94) !important;
  color:#314437 !important;
  font-size:17px !important;
  font-weight:800 !important;
  font-family:inherit;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(17,17,17,.08);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.oms-pagebtn:hover,
.oms-pagebtn:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(49,68,55,.34) !important;
  box-shadow:0 14px 28px rgba(17,17,17,.12);
  outline:none;
}

.oms-pagebtn.is-active{
  background:#314437 !important;
  color:#fff !important;
  border-color:#314437 !important;
  box-shadow:0 14px 28px rgba(49,68,55,.22);
}

@media (max-width: 768px){
  .oms-pagination{
    gap:10px !important;
    margin:10px 0 18px !important;
  }

  .oms-pagebtn{
    min-width:40px !important;
    height:40px !important;
    padding:0 10px !important;
    border-radius:12px !important;
    font-size:15px !important;
  }
}


/* =========================================================
   HEADER SEARCH + MOBILE MENU FINAL
   ========================================================= */
.oms-mobile-menu-trigger{
  display:none !important;
}

.oms-ui-icon--search{
  width:24px;
  height:24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='28' cy='28' r='18' fill='none' stroke='%23000' stroke-width='5'/%3E%3Cpath d='M42 42l14 14' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.oms-ui-icon--search-soft{
  width:22px;
  height:22px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='28' cy='28' r='18' fill='none' stroke='%23787878' stroke-width='5'/%3E%3Cpath d='M42 42l14 14' fill='none' stroke='%23787878' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.oms-header-search{
  position:fixed;
  left:0;
  right:0;
  z-index:39;
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .22s ease, transform .22s ease;
}

.oms-header-search.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.oms-header-search__panel{
  width:min(960px, calc(100vw - 28px));
  margin:12px auto 0;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  overflow:hidden;
}

.oms-header-search__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid rgba(0,0,0,.12);
  align-items:center;
}

.oms-header-search__inputwrap{
  display:flex;
  align-items:center;
  gap:10px;
}

.oms-header-search__input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  font-size:18px;
  line-height:1.2;
  color:#2a2a2a;
}

.oms-header-search__input::placeholder{
  color:#8d8d8d;
}

.oms-header-search__submit{
  appearance:none;
  border:0;
  background:#000;
  color:#fff;
  font-weight:800;
  font-size:15px;
  border-radius:999px;
  min-height:44px;
  padding:0 20px;
  cursor:pointer;
}

.oms-header-search__section{
  padding:18px;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.oms-header-search__section:last-child{
  border-bottom:0;
}

.oms-header-search__title{
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  margin-bottom:14px;
}

.oms-header-search__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.oms-header-search__chip{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
}

.oms-header-search__list{
  display:grid;
}

.oms-header-search__item{
  appearance:none;
  border:0;
  border-bottom:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:14px 0;
  text-align:left;
  cursor:pointer;
}

.oms-header-search__item:last-child{
  border-bottom:0;
}

.oms-header-search__itemlabel{
  display:block;
  font-weight:800;
  color:#1f2b22;
}

.oms-header-search__itemmeta{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:#69736c;
}

.oms-header-search__empty{
  color:#6e756f;
  line-height:1.6;
}

.oms-mobile-menu__body{
  padding:18px 28px calc(28px + env(safe-area-inset-bottom));
}

.oms-mobile-menu__nav{
  display:grid;
  gap:8px;
}

.oms-mobile-menu__item{
  appearance:none;
  width:100%;
  border:0 !important;
  outline:0;
  box-shadow:none !important;
  background:transparent !important;
  border-radius:0 !important;
  min-height:56px;
  padding:0 !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  text-align:left;
  color:#1f2f23 !important;
  font-size:23px;
  font-weight:800;
  text-decoration:none !important;
}

.oms-mobile-menu__item--wa{
  margin-top:8px;
}

.oms-mobile-menu__waicon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.oms-mobile-menu__waicon img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}

@media (max-width:960px){
  .oms-mobile-menu-trigger{
    display:inline-flex !important;
  }

  .oms-header__inner{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    display:grid !important;
    gap:12px !important;
    justify-content:unset !important;
  }

  .oms-logo{
    flex:0 1 auto !important;
    min-width:0;
    justify-self:start;
    height:84px !important;
  }

  .oms-logo img{
    height:62px !important;
    max-width:min(100%, 300px);
  }

  .oms-actions{
    margin-left:0 !important;
    gap:14px !important;
  }

  .oms-header-search__panel{
    width:calc(100vw - 16px);
    margin-top:8px;
  }

  .oms-header-search__row{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px 16px;
  }

  .oms-header-search__input{
    font-size:17px;
  }

  .oms-header-search__submit{
    width:100%;
  }
}

/* =========================================================
   FIX · HEADER SEARCH TRANSFORMA TODO EL BANNER EN BUSCADOR
   ========================================================= */
.oms-header.is-search-open{
  background:#fffdf9;
}

.oms-header__inner--search{
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
}

.oms-header-searchbar{
  width:100%;
  min-height:56px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1.5px solid rgba(0,0,0,.78);
  padding:0 14px;
  box-sizing:border-box;
}

.oms-header-searchbar__icon,
.oms-header-searchbar__close{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.oms-header-searchbar__icon{
  width:34px;
  height:34px;
}

.oms-header-searchbar__close{
  width:34px;
  height:34px;
  color:#6f6f6f;
  font-size:26px;
  line-height:1;
}

.oms-header-searchbar__input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#2a2a2a;
  font-size:18px;
  line-height:1.2;
  min-width:0;
}

.oms-header-searchbar__input::placeholder{
  color:#8d8d8d;
}

.oms-header-search{
  left:0;
  right:0;
  z-index:39;
}

.oms-header-search__panel{
  width:min(960px, calc(100vw - 32px));
  margin:0 auto;
  background:#fff;
  border:1.5px solid rgba(0,0,0,.14);
  border-top:0;
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}

.oms-header-search__section{
  padding:16px 18px;
}

.oms-header-search__section--frequent{
  border-bottom:1px solid rgba(0,0,0,.08);
}

.oms-header-search__title{
  margin-bottom:12px;
}

.oms-header-search__chips{
  gap:8px;
}

.oms-header-search__chip{
  border:1px solid rgba(0,0,0,.1);
  border-radius:999px;
  padding:10px 14px;
  font-size:15px;
}

.oms-header-search__list{
  display:grid;
}

.oms-header-search__item{
  padding:13px 0;
}

/* =========================================================
   FIX · MENÚ MOBILE LIMPIO + WHATSAPP COMO ITEM NORMAL
   ========================================================= */
.oms-mobile-menu__body{
  padding:18px 28px calc(28px + env(safe-area-inset-bottom));
}

.oms-mobile-menu__nav{
  display:grid;
  gap:8px;
}

.oms-mobile-menu__item,
.oms-mobile-menu__nav a.oms-mobile-menu__item,
.oms-mobile-menu__nav button.oms-mobile-menu__item{
  appearance:none;
  width:100%;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  border-radius:0 !important;
  min-height:56px;
  padding:0 !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  text-align:left;
  color:#1f2f23 !important;
  font-size:23px;
  font-weight:800;
  text-decoration:none !important;
}

.oms-mobile-menu__item--wa{
  margin-top:8px;
}

.oms-mobile-menu__waicon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.oms-mobile-menu__waicon img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}

@media (max-width:960px){
  .oms-header__inner{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:12px !important;
  }

  .oms-header__inner--search{
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
  }

  .oms-logo{
    justify-self:start;
    min-width:0;
    height:84px !important;
  }

  .oms-logo img{
    height:62px !important;
    max-width:min(100%, 320px);
  }

  .oms-actions{
    gap:14px !important;
  }

  .oms-header-searchbar{
    min-height:52px;
    padding:0 12px;
  }

  .oms-header-searchbar__input{
    font-size:17px;
  }

  .oms-header-search__panel{
    width:calc(100vw - 32px);
  }

  .oms-header-search__section{
    padding:14px 16px;
  }

  .oms-mobile-menu__body{
    padding:18px 28px calc(28px + env(safe-area-inset-bottom));
  }

  .oms-mobile-menu__item,
  .oms-mobile-menu__nav a.oms-mobile-menu__item,
  .oms-mobile-menu__nav button.oms-mobile-menu__item{
    min-height:54px;
    font-size:22px;
  }
}

/* =========================================================
   AJUSTE · quitar sombras en carruseles de Best Seller y Testimonios
   ========================================================= */
.oms-bestsellers__rail .oms-mini-sellcard,
.oms-bestsellers__rail .oms-mini-sellcard.oms-card,
.oms-home-testimonials__rail .oms-home-testimonial-card{
  box-shadow:none !important;
}

/* =========================================================
   AJUSTE · testimonios con texto sobre imagen y sombra degradada
   ========================================================= */
.oms-home-testimonials__rail{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  padding:10px 2px 6px;
}

.oms-home-testimonials__rail::-webkit-scrollbar{display:none}

.oms-home-testimonial-card{
  position:relative;
  flex:0 0 min(78vw, 430px);
  aspect-ratio:1 / 1;
  border-radius:0;
  overflow:hidden;
  background:#f6f3ec;
  border:1px solid rgba(220, 214, 202, .92);
  scroll-snap-align:start;
  box-shadow:none !important;
}

.oms-home-testimonial-card__media,
.oms-home-testimonial-card__media img{
  width:100%;
  height:100%;
  display:block;
}

.oms-home-testimonial-card__media{
  position:relative;
}

.oms-home-testimonial-card__media img{
  object-fit:cover;
}

.oms-home-testimonial-card__body{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:44px 18px 18px;
  background:linear-gradient(to top, rgba(14,18,12,.86) 0%, rgba(14,18,12,.58) 44%, rgba(14,18,12,0) 100%);
}

.oms-home-testimonial-card__body h3{
  margin:0;
  color:#fff;
  font-size:clamp(18px, 2.5vw, 26px);
  line-height:1.15;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}

.oms-home-testimonial-card__badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#24311e;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width: 960px){
  .oms-home-testimonials__rail{
    gap:14px;
    padding:8px 0 4px;
  }

  .oms-home-testimonial-card{
    flex:0 0 74vw;
    border-radius:0;
  }

  .oms-home-testimonial-card__body{
    padding:40px 16px 16px;
  }

  .oms-home-testimonial-card__body h3{
    font-size:20px;
  }

  .oms-home-testimonial-card__badge{
    top:12px;
    left:12px;
    font-size:11px;
    padding:7px 10px;
  }
}


/* HOTFIX · producto sin banner superior + botones cuadrados */
.oms-modal--product .oms-sheet-head{
  display:none !important;
}

.oms-modal--product .oms-sheet-body,
.oms-modal--product .oms-sheet-body--product{
  padding-top:0 !important;
}

.oms-modal--product .oms-qty,
.oms-modal--product .oms-qty button,
.oms-modal--product .oms-qty input,
.oms-modal--product .oms-btn--brand,
.oms-modal--product .oms-btn--soft{
  border-radius:0 !important;
}

@media (max-width: 768px){
  .oms-modal--product .oms-sheet-body,
  .oms-modal--product .oms-sheet-body--product{
    height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
    max-height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
  }
}

/* HOTFIX · menú mobile visible sobre la ficha de producto */
@media (max-width: 960px){
  .oms-mobile-menu,
  .oms-mobile-filters-drawer{
    z-index: 144 !important;
  }

  .oms-site.is-mobile-menu-open .oms-backdrop{
    top: calc(var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px)) !important;
    bottom: 0 !important;
    z-index: 143 !important;
  }

  .oms-site.is-mobile-menu-open .oms-modal--product{
    pointer-events: none !important;
  }
}


/* HOTFIX · WhatsApp visible dentro de la ficha de producto mobile (solo ícono) */
.oms-float--product{
  z-index: 142 !important;
}

@media (min-width: 761px){
  .oms-float--product{
    display: none !important;
  }
}

@media (max-width: 760px){
  .oms-site.is-product-open .oms-float--product{
    display: grid !important;
  }

  .oms-float--product{
    right: 12px;
    bottom: 14px;
    gap: 0;
  }

  .oms-float--product .oms-wa-cta,
  .oms-float--product .oms-wa-cta--icononly{
    width: 52px;
    height: 52px;
    min-height: 52px;
    padding: 0;
    border-radius: 999px;
    justify-content: center;
  }

  .oms-float--product .oms-wa-cta span:last-child,
  .oms-float--product .oms-wa-cta--icononly span:last-child{
    display: none !important;
  }

  .oms-float--product .oms-wa-cta__icon{
    width: 24px;
    height: 24px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  .oms-float--product .oms-wa-cta__icon img{
    width: 24px;
    height: 24px;
  }
}

/* =========================================================
   HOMOLOGACIÓN DESKTOP ← MOBILE · OH MY SKIN
   Adapta en escritorio el lenguaje visual/interacción mobile
   sin alterar la versión móvil ya aprobada.
   ========================================================= */
@media (min-width: 761px){
  :root{
    --oms-mobile-topbar-h:42px;
    --oms-mobile-header-h:84px;
  }

  html,
  body{
    overflow-x:hidden !important;
  }

  .oms-topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    margin:0 !important;
    z-index:130 !important;
  }

  .oms-header{
    position:fixed !important;
    top:var(--oms-mobile-topbar-h) !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    margin:0 !important;
    z-index:129 !important;
  }

  .oms-site{
    padding-top:calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
  }

  .oms-header__inner{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:18px !important;
    justify-content:unset !important;
    min-height:84px !important;
    height:84px !important;
    max-height:84px !important;
  }

  .oms-mobile-menu-trigger{
    display:inline-flex !important;
  }

  .oms-nav,
  .oms-header nav{
    display:none !important;
  }

  .oms-logo{
    justify-self:start !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    height:84px !important;
  }

  .oms-logo img{
    height:64px !important;
    max-width:min(100%,360px) !important;
  }

  .oms-actions{
    margin-left:0 !important;
    justify-self:end !important;
    gap:18px !important;
  }

  .oms-account-greeting{
    max-width:190px !important;
    font-size:12px !important;
  }

  .oms-header-searchbar{
    min-height:56px !important;
  }

  .oms-header-search__panel{
    width:min(980px, calc(100vw - 44px)) !important;
  }

  .oms-mobile-menu{
    top:calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
    height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
    width:min(520px,100vw) !important;
    max-width:min(520px,100vw) !important;
    right:auto !important;
    left:0 !important;
    border-right:1px solid rgba(221,212,197,.95) !important;
    z-index:144 !important;
  }

  .oms-mobile-menu__body{
    padding:24px 34px calc(34px + env(safe-area-inset-bottom)) !important;
  }

  .oms-mobile-menu__item,
  .oms-mobile-menu__nav a.oms-mobile-menu__item,
  .oms-mobile-menu__nav button.oms-mobile-menu__item{
    min-height:58px !important;
    font-size:24px !important;
  }

  .oms-site.is-mobile-menu-open .oms-backdrop,
  .oms-site.is-filters-open .oms-backdrop{
    top:calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
    z-index:143 !important;
  }

  .oms-hero--showcase{
    padding:0 0 18px !important;
  }

  .oms-hero--showcase > .oms-container{
    max-width:none !important;
    width:100% !important;
    padding:0 !important;
  }

  .oms-showcase,
  .oms-showcase--full{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .oms-showcase--full .oms-showcase__slider,
  .oms-showcase__slider{
    width:100vw !important;
    max-width:100vw !important;
    min-height:clamp(360px, 34vw, 620px) !important;
    height:clamp(360px, 34vw, 620px) !important;
    max-height:620px !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    overflow:hidden !important;
  }

  .oms-showcase--full .oms-showcase__slides,
  .oms-showcase--full .oms-showcase__slide,
  .oms-showcase--full .oms-showcase__banner,
  .oms-showcase__slides,
  .oms-showcase__slide,
  .oms-showcase__banner{
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
  }

  .oms-showcase__banner{
    object-fit:cover !important;
    object-position:center center !important;
  }

  .oms-showcase__arrow{
    border-radius:0 !important;
  }

  .oms-shop__layout{
    display:block !important;
  }

  .oms-shop__main{
    width:100% !important;
  }

  .oms-panel,
  .oms-toolbar{
    display:none !important;
  }

  .oms-mobile-category-rail{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x proximity !important;
    padding:4px 0 14px !important;
    margin:0 0 14px !important;
    scrollbar-width:none !important;
  }

  .oms-mobile-category-rail::-webkit-scrollbar{
    display:none !important;
  }

  .oms-mobile-category{
    flex:0 0 auto !important;
    min-width:220px !important;
    max-width:260px !important;
    min-height:74px !important;
    padding:14px 16px !important;
    border-radius:0 !important;
    scroll-snap-align:start !important;
  }

  .oms-mobile-category strong,
  .oms-mobile-category__name{
    font-size:15px !important;
    line-height:1.16 !important;
  }

  .oms-mobile-shopbar{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:14px !important;
    width:min(740px,100%) !important;
    margin:0 0 18px !important;
  }

  .oms-mobile-shopbar__btn,
  .oms-mobile-filter-panel__clear,
  .oms-mobile-filter-panel__submit,
  .oms-mobile-filter-panel__search,
  .oms-mobile-category,
  .oms-mobile-sort__menu,
  .oms-mobile-sort__option{
    border-radius:0 !important;
  }

  .oms-mobile-shopbar__btn{
    min-height:58px !important;
  }

  .oms-mobile-filters{
    display:inline-flex !important;
  }

  .oms-mobile-filters-drawer{
    top:calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
    height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
    max-height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
    width:min(440px,100vw) !important;
    max-width:min(440px,100vw) !important;
    z-index:144 !important;
  }

  .oms-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  .oms-card,
  .oms-card__media,
  .oms-card__footer .oms-btn{
    border-radius:0 !important;
  }

  .oms-card{
    overflow:hidden !important;
    box-shadow:none !important;
  }

  .oms-card__media{
    aspect-ratio:1 / 1 !important;
    background:#f3f3f3 !important;
  }

  .oms-card__media img{
    object-fit:contain !important;
    object-position:var(--oms-img-pos, center center) !important;
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale-mobile, 1.20)) !important;
    padding:14px !important;
    width:100% !important;
    height:100% !important;
  }

  .oms-card:hover .oms-card__media img{
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-hover-scale, var(--oms-img-scale-mobile, 1.20))) !important;
  }

  .oms-card__body{
    padding:12px !important;
    gap:8px !important;
  }

  .oms-card__title{
    min-height:0 !important;
    font-size:15px !important;
    line-height:1.14 !important;
  }

  .oms-card__desc{
    font-size:12px !important;
    line-height:1.38 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    min-height:0 !important;
  }

  .oms-price{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  .oms-price__label{
    font-size:10px !important;
  }

  .oms-price strong,
  .oms-price__current,
  .oms-price__compareText{
    font-size:14px !important;
  }

  .oms-card__footer{
    display:block !important;
    margin-top:2px !important;
  }

  .oms-card__footer .oms-btn{
    width:100% !important;
    min-height:42px !important;
    padding:0 10px !important;
    font-size:14px !important;
  }

  .oms-bestsellers > .oms-container,
  .oms-home-testimonials > .oms-container,
  .oms-shop > .oms-container{
    max-width:var(--oms-max) !important;
  }

  .oms-bestsellers__rail{
    grid-auto-columns:minmax(210px, 210px) !important;
    gap:14px !important;
  }

  .oms-mini-sellcard{
    border-radius:0 !important;
    box-shadow:none !important;
    grid-template-rows:auto auto !important;
    overflow:hidden !important;
  }

  .oms-mini-sellcard__media{
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    border-radius:0 !important;
  }

  .oms-mini-sellcard__media img{
    object-fit:cover !important;
  }

  .oms-home-testimonial-card{
    flex-basis:360px !important;
    max-width:360px !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .oms-modal--product{
    position:fixed !important;
    inset:calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) 0 0 0 !important;
    left:0 !important;
    top:calc(var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h)) !important;
    width:100vw !important;
    max-width:100vw !important;
    height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
    max-height:calc(100dvh - (var(--oms-mobile-topbar-h) + var(--oms-mobile-header-h))) !important;
    transform:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fffdf8 !important;
    overflow:hidden !important;
    z-index:128 !important;
  }

  .oms-modal--product.is-open{
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  .oms-modal--product .oms-sheet-body,
  .oms-modal--product .oms-sheet-body--product{
    height:100% !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 0 28px !important;
    background:#fffdf8 !important;
  }

  .oms-modal--product .oms-product-modal{
    width:min(var(--oms-max),100%) !important;
    margin:0 auto !important;
    padding:24px !important;
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    gap:24px !important;
    background:#fffdf8 !important;
  }

  .oms-modal--product .oms-gallery__main{
    border-radius:0 !important;
    background:#f7f7f5 !important;
  }

  .oms-modal--product .oms-gallery__main img,
  .oms-modal--product .oms-gallery__slide-image{
    object-fit:contain !important;
  }

  .oms-panel-page{
    margin-top:0 !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px){
  .oms-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .oms-modal--product .oms-product-modal{
    grid-template-columns:1fr !important;
    max-width:760px !important;
  }
}

/* =========================================================
   OH MY SKIN · PRODUCT IMAGES COVER FIX
   Aplica a cards y modal/product page en desktop y mobile.
   Cubre el contorno sin deformar la foto: usa object-fit: cover.
   ========================================================= */
.oms-card__media,
.oms-product-card__media,
.product-card__media,
.oms-mini-sellcard__media,
.oms-gallery__main,
.oms-product-modal__media,
.oms-modal-media{
  overflow:hidden !important;
  background:#f7f7f5 !important;
}

.oms-card__media img,
.oms-product-card__media img,
.oms-product-card img,
.product-card__media img,
.product-card img,
.oms-mini-sellcard__media img,
.oms-gallery__main img,
.oms-gallery__slide-image,
.oms-gallery--product-page .oms-gallery__slide-image,
.oms-modal--product .oms-gallery__main img,
.oms-modal--product .oms-gallery__slide-image,
.oms-product-modal__media img,
.oms-modal-media img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:var(--oms-img-pos, center center) !important;
  padding:0 !important;
  transform:none !important;
}

.oms-card:hover .oms-card__media img,
.oms-product-card:hover .oms-product-card__media img,
.oms-product-card:hover img,
.product-card:hover .product-card__media img,
.product-card:hover img,
.oms-mini-sellcard:hover .oms-mini-sellcard__media img{
  transform:none !important;
}

@media (max-width: 760px){
  .oms-card__media img,
  .oms-product-card__media img,
  .oms-product-card img,
  .product-card__media img,
  .product-card img,
  .oms-mini-sellcard__media img,
  .oms-gallery__main img,
  .oms-gallery__slide-image,
  .oms-gallery--product-page .oms-gallery__slide-image,
  .oms-modal--product .oms-gallery__main img,
  .oms-modal--product .oms-gallery__slide-image,
  .oms-product-modal__media img,
  .oms-modal-media img{
    object-fit:cover !important;
    object-position:var(--oms-img-pos-mobile, var(--oms-img-pos, center center)) !important;
    padding:0 !important;
    transform:none !important;
  }
}


/* =========================================================
   OH MY SKIN · AJUSTE SELECTIVO DE IMÁGENES
   Solo aplica zoom/encuadre a los productos solicitados.
   El resto de productos mantiene el ajuste general anterior.
   ========================================================= */
.oms-img-focus-target img,
.oms-img-focus-target .oms-gallery__slide-image,
.oms-gallery__main.oms-img-focus-target img,
.oms-gallery__main.oms-img-focus-target .oms-gallery__slide-image{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:var(--oms-img-pos, center center) !important;
  transform-origin:center center !important;
  transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale, 1)) !important;
  padding:0 !important;
}

.oms-card__media.oms-img-focus-target:hover img,
.oms-mini-sellcard__media.oms-img-focus-target:hover img{
  transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-hover-scale, var(--oms-img-scale, 1))) !important;
}

@media (max-width: 760px){
  .oms-img-focus-target img,
  .oms-img-focus-target .oms-gallery__slide-image,
  .oms-gallery__main.oms-img-focus-target img,
  .oms-gallery__main.oms-img-focus-target .oms-gallery__slide-image{
    object-fit:cover !important;
    object-position:var(--oms-img-pos-mobile, var(--oms-img-pos, center center)) !important;
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-scale-mobile, var(--oms-img-scale, 1))) !important;
    padding:0 !important;
  }

  .oms-card__media.oms-img-focus-target:hover img,
  .oms-mini-sellcard__media.oms-img-focus-target:hover img{
    transform:translate(var(--oms-img-shift-x, 0px), var(--oms-img-shift-y, 0px)) scale(var(--oms-img-hover-scale, var(--oms-img-scale-mobile, var(--oms-img-scale, 1)))) !important;
  }
}


/* =========================================================
   OH MY SKIN · VENTA NOCTURNA ESTÁTICA + BRILLO FOMO
   Mantiene tamaño compacto: solo mejora color/brillo de letras.
   ========================================================= */
.oms-flashsale{
  position:sticky !important;
  top:84px;
  z-index:38;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 20px rgba(27,42,30,.14);
}

.oms-flashsale::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 42%, rgba(255,232,147,.22) 0%, rgba(255,232,147,0) 34%),
    linear-gradient(90deg, rgba(4,10,5,.10) 0%, rgba(4,10,5,0) 52%, rgba(255,255,255,.08) 100%);
  pointer-events:none;
}

.oms-flashsale__inner{
  position:relative;
  min-height:0 !important;
  padding:12px 16px !important;
}

.oms-flashsale__content{
  gap:4px !important;
}

.oms-flashsale__eyebrow{
  display:block;
  margin:0;
  font-size:24px !important;
  font-weight:950;
  letter-spacing:.10em;
  line-height:1;
  text-transform:uppercase;
  color:#fff4b8;
  opacity:1;
  text-shadow:
    0 0 8px rgba(255,235,157,.62),
    0 0 18px rgba(255,207,84,.38),
    0 2px 0 rgba(0,0,0,.22),
    0 8px 18px rgba(0,0,0,.28);
}

.oms-flashsale__headline{
  display:block;
  margin:0;
  font-size:16px !important;
  font-weight:900;
  line-height:1.15;
  color:#ffffff;
  text-shadow:
    0 0 7px rgba(255,255,255,.36),
    0 0 16px rgba(255,230,150,.24),
    0 2px 0 rgba(0,0,0,.18),
    0 7px 16px rgba(0,0,0,.24);
}

.oms-flashsale__meta{
  margin-top:0 !important;
  font-size:13px !important;
  font-weight:700;
  color:#ffffff;
  text-shadow:0 0 8px rgba(255,255,255,.22), 0 2px 8px rgba(0,0,0,.24);
}

.oms-flashsale__meta > span:first-child{
  opacity:.98;
}

.oms-flashsale__timer{
  min-width:94px !important;
  min-height:0 !important;
  padding:6px 10px !important;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.12) 100%);
  border:1px solid rgba(255,244,184,.44);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 0 12px rgba(255,232,147,.32),
    0 7px 16px rgba(0,0,0,.16);
  color:#fff9d7;
  font-size:14px !important;
  font-weight:950;
  letter-spacing:.04em;
  text-shadow:0 0 8px rgba(255,235,157,.58), 0 2px 7px rgba(0,0,0,.25);
}

.oms-flashsale__cta{
  border-radius:999px;
  box-shadow:0 8px 16px rgba(0,0,0,.12), 0 0 10px rgba(255,232,147,.18);
}

@media (max-width: 768px){
  .oms-flashsale{
    top:calc(var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px)) !important;
  }

  .oms-flashsale__inner{
    min-height:0 !important;
    padding:12px 14px !important;
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:6px !important;
  }

  .oms-flashsale__content{
    justify-items:center;
    text-align:center;
    gap:4px !important;
  }

  .oms-flashsale__eyebrow{
    font-size:24px !important;
    letter-spacing:.08em;
  }

  .oms-flashsale__headline{
    font-size:15px !important;
  }

  .oms-flashsale__meta{
    justify-content:center;
    gap:8px;
    font-size:13px !important;
  }

  .oms-flashsale__timer{
    min-width:94px !important;
    padding:6px 10px !important;
    font-size:14px !important;
  }

  .oms-flashsale__cta{
    padding:9px 16px !important;
    font-size:13px !important;
  }
}



/* =========================================================
   OH MY SKIN · Venta nocturna pegada bajo logo + despacho gratis
   ========================================================= */
.oms-flashsale{
  top:calc(var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px)) !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.oms-header + .oms-flashsale{
  margin-top:0 !important;
}

.oms-flashsale__benefit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,244,184,.15);
  border:1px solid rgba(255,244,184,.30);
  color:#fff4b8;
  font-size:12px;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1.1;
  text-shadow:0 0 8px rgba(255,235,157,.54), 0 2px 8px rgba(0,0,0,.26);
  box-shadow:0 0 12px rgba(255,232,147,.18);
}

@media (max-width: 768px){
  .oms-flashsale__benefit{
    width:auto;
    font-size:12px;
    padding:4px 8px;
  }
}


/* =========================================================
   OH MY SKIN · FIX MOBILE VENTA NOCTURNA BAJO HEADER
   Fuerza el banner a quedar pegado al logo/menú en mobile.
   ========================================================= */
@media (max-width: 768px){
  :root{
    --oms-flashsale-mobile-h: 158px;
  }

  .oms-flashsale,
  .oms-header + .oms-flashsale{
    position:fixed !important;
    top:calc(var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px)) !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    z-index:128 !important;
    transform:none !important;
  }

  .oms-site:has(.js-flash-sale-strip){
    padding-top:calc(var(--oms-mobile-topbar-h, 42px) + var(--oms-mobile-header-h, 84px) + var(--oms-flashsale-mobile-h)) !important;
  }

  .oms-flashsale + .oms-header,
  .oms-header + .oms-flashsale + .oms-header-search,
  .oms-flashsale + main,
  .oms-header + .oms-flashsale + .oms-header-search + main{
    margin-top:0 !important;
  }
}


/* =========================================================
   OH MY SKIN · PREVIA CYBER FIN DE SEMANA
   Banner negro + letras neon para Cyber Days
   ========================================================= */
.oms-flashsale{
  background:
    radial-gradient(circle at 72% 44%, rgba(24,255,116,.26) 0%, rgba(24,255,116,0) 34%),
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,12,7,.94) 48%, rgba(0,0,0,.90) 100%),
    url("../img/previa-cyber-banner-bg.jpg") center center / cover no-repeat !important;
  border-bottom:1px solid rgba(112,255,147,.42) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.34), 0 0 24px rgba(48,255,118,.18) !important;
  color:#f4fff6 !important;
}

.oms-flashsale::before{
  background:
    linear-gradient(90deg, rgba(104,255,137,.22), transparent 30%, rgba(104,255,137,.16)),
    repeating-linear-gradient(90deg, rgba(104,255,137,.10) 0 1px, transparent 1px 28px) !important;
  opacity:.82;
}

.oms-flashsale__eyebrow{
  color:#79ff8f !important;
  letter-spacing:.12em !important;
  text-shadow:0 0 6px rgba(121,255,143,.95), 0 0 18px rgba(68,255,109,.72), 0 0 34px rgba(13,255,81,.40) !important;
}

.oms-flashsale__headline{
  color:#ffffff !important;
  text-shadow:0 0 7px rgba(255,255,255,.65), 0 0 16px rgba(87,255,137,.40), 0 2px 8px rgba(0,0,0,.55) !important;
}

.oms-flashsale__benefit{
  background:rgba(0,0,0,.36) !important;
  border:1px solid rgba(116,255,148,.54) !important;
  color:#d9ffe0 !important;
  text-shadow:0 0 8px rgba(116,255,148,.70), 0 2px 8px rgba(0,0,0,.50) !important;
  box-shadow:0 0 14px rgba(84,255,128,.25), inset 0 0 10px rgba(84,255,128,.08) !important;
}

.oms-flashsale__timer{
  border-radius:4px !important;
  background:linear-gradient(180deg, rgba(36,255,100,.22) 0%, rgba(0,0,0,.48) 100%) !important;
  border:1px solid rgba(127,255,155,.62) !important;
  color:#baffc5 !important;
  box-shadow:0 0 14px rgba(80,255,123,.42), inset 0 0 14px rgba(80,255,123,.12) !important;
  text-shadow:0 0 8px rgba(116,255,148,.84), 0 2px 8px rgba(0,0,0,.58) !important;
}

.oms-flashsale__cta{
  border-radius:4px !important;
  border:1px solid rgba(191,255,204,.72) !important;
  background:linear-gradient(135deg, #baffc5 0%, #52ff78 46%, #eaffee 100%) !important;
  color:#031107 !important;
  box-shadow:0 0 18px rgba(93,255,128,.42), 0 12px 22px rgba(0,0,0,.28) !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.oms-price--sale-active .oms-price__current{
  color:#12a043;
}


/* =========================================================
   OH MY SKIN · Sección oculta calculadora Flow crédito
   ========================================================= */
.oms-flowcalc {
  padding: clamp(42px, 7vw, 84px) 0;
  min-height: 62vh;
  background:
    radial-gradient(circle at top left, rgba(87, 255, 134, .12), transparent 34%),
    linear-gradient(135deg, #070b08 0%, #0b130e 44%, #111b13 100%);
  color: #f6fff7;
}

.oms-flowcalc__shell {
  max-width: 860px;
  margin: 0 auto;
  border: 1px solid rgba(111, 255, 153, .38);
  background: rgba(5, 11, 7, .74);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .34), inset 0 0 36px rgba(77, 255, 126, .08);
  padding: clamp(22px, 4vw, 42px);
  border-radius: 0;
}

.oms-flowcalc__eyebrow {
  color: #8bffac;
  letter-spacing: .18em;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.oms-flowcalc__title {
  margin: 0 0 12px;
  font-size: clamp(30px, 5vw, 54px);
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(92, 255, 131, .58);
}

.oms-flowcalc__intro {
  margin: 0 0 26px;
  color: rgba(246, 255, 247, .82);
  line-height: 1.65;
  max-width: 720px;
}

.oms-flowcalc__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.oms-flowcalc__field {
  display: grid;
  gap: 8px;
  color: #eaffee;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
}

.oms-flowcalc__field input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(139, 255, 172, .48);
  border-radius: 0;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  padding: 15px 16px;
  font: inherit;
  font-size: 18px;
  outline: none;
}

.oms-flowcalc__field input:focus {
  border-color: #8bffac;
  box-shadow: 0 0 0 3px rgba(139, 255, 172, .14), 0 0 18px rgba(139, 255, 172, .18);
}

.oms-flowcalc__result-card {
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .055);
  padding: 18px;
  display: grid;
  gap: 12px;
}

.oms-flowcalc__row,
.oms-flowcalc__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.oms-flowcalc__row {
  color: rgba(246, 255, 247, .84);
  font-size: 15px;
}

.oms-flowcalc__row strong {
  color: #fff;
}

.oms-flowcalc__total {
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(139, 255, 172, .35);
  color: #8bffac;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.oms-flowcalc__total strong {
  font-size: clamp(28px, 5vw, 46px);
  color: #fff;
  text-shadow: 0 0 16px rgba(139, 255, 172, .5);
}

.oms-flowcalc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.oms-flowcalc__note {
  min-height: 22px;
  margin-top: 12px;
  color: #8bffac;
  font-weight: 800;
}

@media (max-width: 700px) {
  .oms-flowcalc__grid {
    grid-template-columns: 1fr;
  }

  .oms-flowcalc__row,
  .oms-flowcalc__total {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}


/* OH MY SKIN · Mercado Pago Checkout Pro option */
.oms-payment-box{
  display:grid;
  gap:12px;
}
.oms-choice-card__logo--text{
  display:inline-grid;
  place-items:center;
  width:54px;
  min-width:54px;
  height:34px;
  border:1px solid rgba(0, 95, 180, .28);
  border-radius:10px;
  background:linear-gradient(135deg, #eaf4ff, #ffffff);
  color:#0066c9;
  font-weight:900;
  letter-spacing:.05em;
  font-size:15px;
}


/* OH MY SKIN · pago único Flow / Mercado Pago + logos actualizados */
.oms-payment-box{
  display:grid;
  gap:12px;
}
.oms-choice-card.oms-payment-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-radius:0;
  border:1px solid rgba(42,42,42,.14);
  background:#fff;
  cursor:pointer;
}
.oms-choice-card.oms-payment-card.is-selected{
  border-color:#6f8f3a;
  box-shadow:inset 0 0 0 1px #6f8f3a;
  background:#fcfdf8;
}
.oms-payment-card input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  width:20px;
  min-width:20px;
  height:20px;
  border-radius:50%;
  border:2px solid #6f8f3a;
  background:#fff;
  position:relative;
  margin:0;
  opacity:1;
  pointer-events:none;
}
.oms-payment-card input[type="radio"]:checked::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#6f8f3a;
}
.oms-choice-card__content{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  flex:1;
}
.oms-choice-card__logo{
  width:110px;
  min-width:110px;
  height:48px;
  object-fit:contain;
  object-position:left center;
  display:block;
  background:#fff;
}
.oms-choice-card__logo--mercadopago{
  width:150px;
  min-width:150px;
  height:48px;
}
.oms-choice-card__text{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.oms-choice-card__title{
  display:block;
  font-size:16px;
  line-height:1.2;
  color:var(--oms-text);
}
.oms-choice-card__desc{
  display:block;
  font-size:13px;
  line-height:1.4;
  color:var(--oms-muted);
}
@media (max-width: 680px){
  .oms-choice-card.oms-payment-card{
    padding:14px;
    gap:12px;
  }
  .oms-choice-card__content{
    gap:12px;
  }
  .oms-choice-card__logo{
    width:88px;
    min-width:88px;
    height:40px;
  }
  .oms-choice-card__logo--mercadopago{
    width:118px;
    min-width:118px;
    height:40px;
  }
  .oms-choice-card__title{
    font-size:15px;
  }
  .oms-choice-card__desc{
    font-size:12px;
  }
}


/* OH MY SKIN · Checkout minimalista método de pago + términos */
.oms-payment-box.oms-payment-box--compact{
  padding:12px !important;
  border:1px solid rgba(92,108,74,.20) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,239,.78)) !important;
  box-shadow:0 10px 24px rgba(42,54,34,.045) !important;
}
.oms-payment-options{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  align-items:stretch !important;
}
.oms-payment-option{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:76px !important;
  padding:12px 14px !important;
  border:1px solid rgba(92,108,74,.18) !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.72) !important;
  cursor:pointer !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease !important;
}
.oms-payment-option:hover{
  border-color:rgba(111,143,58,.45) !important;
  background:rgba(255,255,255,.92) !important;
}
.oms-payment-option.is-selected{
  border-color:#6f8f3a !important;
  box-shadow:inset 0 0 0 1px #6f8f3a, 0 8px 18px rgba(84,111,41,.10) !important;
  background:#fff !important;
}
.oms-payment-option input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.oms-payment-option__radio{
  width:19px !important;
  min-width:19px !important;
  height:19px !important;
  border-radius:999px !important;
  border:1.8px solid rgba(89,111,55,.58) !important;
  background:#fff !important;
  box-shadow:inset 0 0 0 3px #fff !important;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.oms-payment-option.is-selected .oms-payment-option__radio{
  border-color:#6f8f3a !important;
  background:#6f8f3a !important;
  box-shadow:inset 0 0 0 4px #fff, 0 0 0 2px rgba(111,143,58,.14) !important;
}
.oms-payment-option__logo-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  height:48px !important;
  padding:6px 8px !important;
  background:rgba(255,255,255,.62) !important;
  border-radius:0 !important;
}
.oms-payment-option__logo{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:38px !important;
  object-fit:contain !important;
}
.oms-payment-option__logo--flow{
  max-width:96px !important;
}
.oms-payment-option__logo--mercadopago{
  max-width:142px !important;
}
.oms-terms-box{
  display:grid !important;
  gap:10px !important;
}
.oms-terms-box .oms-choice-card.oms-terms-card{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-height:auto !important;
  padding:13px 14px !important;
  border:1px solid rgba(92,108,74,.18) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,239,.72)) !important;
  box-shadow:none !important;
  cursor:pointer !important;
}
.oms-terms-box .oms-choice-card.oms-terms-card.is-selected{
  border-color:#6f8f3a !important;
  box-shadow:inset 0 0 0 1px #6f8f3a !important;
  background:#fff !important;
}
.oms-terms-card .oms-choice-card__box{
  width:19px !important;
  min-width:19px !important;
  height:19px !important;
  border-radius:999px !important;
  border:1.8px solid rgba(89,111,55,.58) !important;
  background:#fff !important;
  color:transparent !important;
  display:grid !important;
  place-items:center !important;
  font-size:0 !important;
}
.oms-terms-card.is-selected .oms-choice-card__box{
  border-color:#6f8f3a !important;
  background:#6f8f3a !important;
  box-shadow:inset 0 0 0 4px #fff, 0 0 0 2px rgba(111,143,58,.14) !important;
}
.oms-terms-card .oms-choice-card__content{
  display:block !important;
  min-width:0 !important;
}
.oms-terms-card .oms-choice-card__text{
  display:block !important;
  font-size:14px !important;
  line-height:1.45 !important;
  color:#2d3429 !important;
}
.oms-terms-card .oms-linkbtn{
  font-size:inherit !important;
  line-height:inherit !important;
}
@media (max-width:680px){
  .oms-payment-box.oms-payment-box--compact{
    padding:10px !important;
  }
  .oms-payment-options{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .oms-payment-option{
    min-height:66px !important;
    padding:10px 8px !important;
    gap:7px !important;
  }
  .oms-payment-option__radio{
    width:17px !important;
    min-width:17px !important;
    height:17px !important;
  }
  .oms-payment-option__logo-wrap{
    height:42px !important;
    padding:4px !important;
  }
  .oms-payment-option__logo--flow{
    max-width:76px !important;
  }
  .oms-payment-option__logo--mercadopago{
    max-width:104px !important;
  }
  .oms-terms-box .oms-choice-card.oms-terms-card{
    padding:12px !important;
    gap:9px !important;
  }
  .oms-terms-card .oms-choice-card__text{
    font-size:13px !important;
  }
}


/* =========================================================
   CHECKOUT · Payment methods in a single outlined list
   ========================================================= */
.oms-payment-box.oms-payment-box--compact{
  padding:12px !important;
  border:1px solid rgba(92,108,74,.20) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,239,.82)) !important;
  box-shadow:none !important;
}

.oms-payment-options{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  border:1px solid rgba(92,108,74,.16) !important;
  background:rgba(255,255,255,.34) !important;
}

.oms-payment-option{
  justify-content:space-between !important;
  min-height:68px !important;
  padding:12px 14px !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.oms-payment-option + .oms-payment-option{
  border-top:1px solid rgba(92,108,74,.16) !important;
}

.oms-payment-option:hover,
.oms-payment-option.is-selected{
  background:rgba(255,255,255,.58) !important;
  box-shadow:none !important;
}

.oms-payment-option__logo-wrap{
  justify-content:flex-start !important;
  flex:1 1 auto !important;
  height:auto !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
}

.oms-payment-option__logo{
  max-height:34px !important;
}

.oms-payment-option__logo--flow{
  max-width:86px !important;
}

.oms-payment-option__logo--mercadopago{
  max-width:128px !important;
}

@media (max-width:680px){
  .oms-payment-box.oms-payment-box--compact{
    padding:10px !important;
  }
  .oms-payment-options{
    display:flex !important;
    flex-direction:column !important;
  }
  .oms-payment-option{
    min-height:64px !important;
    padding:11px 12px !important;
  }
  .oms-payment-option__logo{
    max-height:30px !important;
  }
  .oms-payment-option__logo--flow{
    max-width:78px !important;
  }
  .oms-payment-option__logo--mercadopago{
    max-width:112px !important;
  }
}


/* =========================================================
   CHECKOUT · Ajuste final método de pago y términos
   ========================================================= */
.oms-payment-box.oms-payment-box--compact{
  padding:12px !important;
  border:1px solid rgba(92,108,74,.20) !important;
  border-radius:0 !important;
  background:#ffffff !important;
  box-shadow:none !important;
}

.oms-payment-options{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  border:1px solid rgba(92,108,74,.16) !important;
  background:#ffffff !important;
}

.oms-payment-option{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  min-height:68px !important;
  padding:12px 14px !important;
  border:none !important;
  border-radius:0 !important;
  background:#ffffff !important;
  box-shadow:none !important;
  width:100% !important;
}

.oms-payment-option + .oms-payment-option{
  border-top:1px solid rgba(92,108,74,.16) !important;
}

.oms-payment-option:hover,
.oms-payment-option.is-selected{
  background:#ffffff !important;
  box-shadow:none !important;
}

.oms-payment-option__radio{
  width:19px !important;
  min-width:19px !important;
  height:19px !important;
  border-radius:999px !important;
  border:1.8px solid rgba(89,111,55,.58) !important;
  background:#ffffff !important;
  box-shadow:inset 0 0 0 3px #ffffff !important;
}

.oms-payment-option.is-selected .oms-payment-option__radio{
  border-color:#6f8f3a !important;
  background:#6f8f3a !important;
  box-shadow:inset 0 0 0 4px #ffffff, 0 0 0 2px rgba(111,143,58,.14) !important;
}

.oms-payment-option__logo-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
  background:#ffffff !important;
  border-radius:0 !important;
}

.oms-payment-option__logo{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:34px !important;
  object-fit:contain !important;
}

.oms-payment-option__logo--flow{
  max-width:86px !important;
}

.oms-payment-option__logo--mercadopago{
  max-width:128px !important;
}

.oms-terms-box{
  display:grid !important;
  gap:10px !important;
}

.oms-terms-box .oms-choice-card.oms-terms-card{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-height:auto !important;
  padding:13px 14px !important;
  border:1px solid rgba(92,108,74,.18) !important;
  border-radius:0 !important;
  background:#ffffff !important;
  box-shadow:none !important;
  cursor:pointer !important;
}

.oms-terms-box .oms-choice-card.oms-terms-card.is-selected{
  border-color:#6f8f3a !important;
  box-shadow:inset 0 0 0 1px #6f8f3a !important;
  background:#ffffff !important;
}

.oms-terms-card .oms-choice-card__box{
  width:19px !important;
  min-width:19px !important;
  height:19px !important;
  border-radius:999px !important;
  border:1.8px solid rgba(89,111,55,.58) !important;
  background:#ffffff !important;
  color:transparent !important;
  display:grid !important;
  place-items:center !important;
  font-size:0 !important;
}

.oms-terms-card.is-selected .oms-choice-card__box{
  border-color:#6f8f3a !important;
  background:#6f8f3a !important;
  box-shadow:inset 0 0 0 4px #ffffff, 0 0 0 2px rgba(111,143,58,.14) !important;
}

@media (max-width:680px){
  .oms-payment-box.oms-payment-box--compact{
    padding:10px !important;
    background:#ffffff !important;
  }
  .oms-payment-options{
    display:flex !important;
    flex-direction:column !important;
    background:#ffffff !important;
  }
  .oms-payment-option{
    min-height:64px !important;
    padding:11px 12px !important;
    background:#ffffff !important;
  }
  .oms-payment-option__radio{
    width:17px !important;
    min-width:17px !important;
    height:17px !important;
  }
  .oms-payment-option__logo{
    max-height:30px !important;
  }
  .oms-payment-option__logo--flow{
    max-width:78px !important;
  }
  .oms-payment-option__logo--mercadopago{
    max-width:112px !important;
  }
  .oms-terms-box .oms-choice-card.oms-terms-card{
    padding:12px !important;
    gap:9px !important;
    background:#ffffff !important;
  }
  .oms-terms-card .oms-choice-card__box{
    width:17px !important;
    min-width:17px !important;
    height:17px !important;
  }
  .oms-terms-card .oms-choice-card__text{
    font-size:13px !important;
  }
}


/* MOBILE START VIDEO · debajo del banner/menu principal */
.oms-mobile-header-video{
  display:none;
}
@media (max-width:760px){
  .oms-mobile-header-video{
    display:block;
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    line-height:0;
    background:#fff;
    border:0;
  }
  .oms-mobile-header-video__frame{
    position:relative;
    width:100%;
    aspect-ratio:9/16;
    min-height:calc(100vh - var(--oms-mobile-topbar-h, 42px) - var(--oms-mobile-header-h, 84px));
    min-height:calc(100svh - var(--oms-mobile-topbar-h, 42px) - var(--oms-mobile-header-h, 84px));
    overflow:hidden;
    background:#f8f3ec;
  }
  .oms-mobile-header-video__media{
    display:block;
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:center center;
    background:#f8f3ec;
  }
  .oms-mobile-header-video__jump{
    position:absolute;
    inset:0;
    z-index:2;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    margin:0;
    border:0;
    background:transparent;
    cursor:pointer;
  }
  .oms-mobile-header-video__play{
    display:none;
    position:absolute;
    left:50%;
    bottom:14px;
    z-index:4;
    transform:translateX(-50%);
    border:1px solid rgba(255,255,255,.82);
    background:rgba(35,48,38,.82);
    color:#fff;
    padding:12px 16px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
    line-height:1.1;
    white-space:nowrap;
    box-shadow:0 12px 28px rgba(0,0,0,.22);
  }
  .oms-mobile-header-video.is-audio-blocked .oms-mobile-header-video__play{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}

/* =========================================================
   INICIO MOBILE · Secuencia videos + carruseles + acceso catálogo
   ========================================================= */
.oms-home-catalog-nudge{
  margin:16px auto 4px;
  width:min(100%, 760px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(49,68,55,.18);
  background:rgba(255,253,248,.86);
  box-shadow:0 12px 28px rgba(36,48,38,.08);
  color:#3e4d42;
  text-align:center;
  font-size:14px;
  line-height:1.35;
}
.oms-home-catalog-nudge__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid #314437;
  background:#314437;
  color:#fff;
  font-weight:900;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

@media (max-width:760px){
  .oms-mobile-header-video + .oms-home-testimonials,
  .oms-mobile-header-video + .oms-bestsellers{
    padding-top:18px;
  }

  .oms-mobile-header-video--intro,
  .oms-mobile-header-video--esenciales,
  .oms-mobile-header-video--masVendido{
    margin-top:10px;
    border-top:1px solid rgba(49,68,55,.10);
    border-bottom:1px solid rgba(49,68,55,.10);
  }

  .oms-mobile-header-video__shade{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,0) 58%, rgba(0,0,0,.30) 100%);
  }

  .oms-mobile-header-video__hint{
    position:absolute;
    left:12px;
    right:12px;
    bottom:16px;
    z-index:3;
    pointer-events:none;
    display:flex;
    justify-content:center;
    line-height:1.15;
  }

  .oms-mobile-header-video__hint span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:calc(100vw - 132px);
    min-height:38px;
    padding:9px 13px;
    border:1px solid rgba(255,255,255,.72);
    background:rgba(26,38,29,.70);
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.045em;
    text-transform:uppercase;
    text-align:center;
    box-shadow:0 12px 28px rgba(0,0,0,.20);
    backdrop-filter:blur(8px);
  }

  .oms-mobile-header-video__catalog{
    position:absolute;
    right:12px;
    bottom:16px;
    z-index:5;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.86);
    background:rgba(255,253,248,.92);
    color:#243824;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.065em;
    text-transform:uppercase;
    line-height:1;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
    backdrop-filter:blur(8px);
  }

  .oms-mobile-header-video.is-audio-blocked .oms-mobile-header-video__hint{
    bottom:64px;
  }

  .oms-home-catalog-nudge{
    width:calc(100vw - 28px);
    margin:14px auto 2px;
    flex-direction:column;
    gap:10px;
    padding:12px;
    font-size:13px;
  }
  .oms-home-catalog-nudge__btn{
    width:100%;
    min-height:42px;
  }
}

/* INICIO MOBILE · primer toque activa audio, segundo toque navega */
@media (max-width:760px){
  .oms-mobile-header-video__play{
    z-index:6;
  }
  .oms-mobile-header-video.is-ready-to-jump .oms-mobile-header-video__hint span{
    background:rgba(255,253,248,.94);
    color:#243824;
    border-color:rgba(255,255,255,.92);
  }
}


/* INICIO MOBILE · videos sin instrucciones visibles */
@media (max-width:760px){
  .oms-mobile-header-video__hint,
  .oms-mobile-header-video__play{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .oms-mobile-header-video.is-audio-blocked .oms-mobile-header-video__play,
  .oms-mobile-header-video.is-audio-blocked .oms-mobile-header-video__hint{
    display:none !important;
  }
}


/* INICIO MOBILE · estructura idéntica para los 3 videos */
@media (max-width:760px){
  .oms-mobile-header-video--intro,
  .oms-mobile-header-video--esenciales,
  .oms-mobile-header-video--masVendido{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    margin-top:10px !important;
    border-top:1px solid rgba(49,68,55,.10) !important;
    border-bottom:1px solid rgba(49,68,55,.10) !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .oms-mobile-header-video--intro .oms-mobile-header-video__frame,
  .oms-mobile-header-video--esenciales .oms-mobile-header-video__frame,
  .oms-mobile-header-video--masVendido .oms-mobile-header-video__frame{
    position:relative !important;
    width:100% !important;
    aspect-ratio:9/16 !important;
    min-height:calc(100vh - var(--oms-mobile-topbar-h, 42px) - var(--oms-mobile-header-h, 84px)) !important;
    min-height:calc(100svh - var(--oms-mobile-topbar-h, 42px) - var(--oms-mobile-header-h, 84px)) !important;
    overflow:hidden !important;
    background:#f8f3ec !important;
  }
  .oms-mobile-header-video--intro .oms-mobile-header-video__media,
  .oms-mobile-header-video--esenciales .oms-mobile-header-video__media,
  .oms-mobile-header-video--masVendido .oms-mobile-header-video__media{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

/* =========================================================
   OH MY SKIN · PRODUCT GALLERY VIDEOS
   Videos de producto con formato vertical tipo INICIO.
   ========================================================= */
.oms-gallery__video,
.oms-gallery--product-page .oms-gallery__video,
.oms-modal--product .oms-gallery__video,
.oms-gallery__slide .oms-gallery__video,
.oms-gallery__desktop-layers .oms-gallery__video{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:cover !important;
  object-position:var(--oms-img-pos-mobile, var(--oms-img-pos, center center)) !important;
  background:#f7f7f5 !important;
  padding:0 !important;
  transform:none !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}
.oms-gallery__slide .oms-gallery__video{
  pointer-events:none !important;
}
.oms-thumb{
  position:relative !important;
}
.oms-thumb__media{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#f7f7f5 !important;
}
.oms-thumb__video-badge{
  position:absolute !important;
  inset:auto 8px 8px auto !important;
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(35,50,37,.82) !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.18) !important;
  pointer-events:none !important;
}


/* Popup registro primera compra */
.oms-signup-popup{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
.oms-signup-popup.is-open{
  opacity:1;
  pointer-events:auto;
}
.oms-signup-popup__backdrop{
  position:absolute;
  inset:0;
  background:rgba(22,28,22,.46);
  backdrop-filter:blur(8px);
}
.oms-signup-popup__card{
  position:relative;
  width:min(92vw,430px);
  background:#fffdf8;
  border:1px solid rgba(36,48,38,.16);
  border-radius:0;
  box-shadow:0 26px 70px rgba(22,28,22,.22);
  padding:26px 24px 24px;
  color:#243026;
  transform:translateY(12px) scale(.98);
  transition:transform .24s ease;
}
.oms-signup-popup.is-open .oms-signup-popup__card{
  transform:translateY(0) scale(1);
}
.oms-signup-popup__close{
  position:absolute;
  top:10px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#243026;
  font-size:32px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
}
.oms-signup-popup__eyebrow{
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-weight:900;
  color:#7b8f65;
}
.oms-signup-popup h2{
  margin:0 34px 10px 0;
  font-size:clamp(25px,6vw,36px);
  line-height:.98;
  letter-spacing:-.04em;
  color:#243026;
}
.oms-signup-popup__copy{
  margin:0 0 18px;
  color:#5b665b;
  line-height:1.45;
  font-size:14px;
}
.oms-signup-popup__form{
  display:grid;
  gap:11px;
}
.oms-signup-popup__form label{
  display:grid;
  gap:6px;
  color:#354236;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.oms-signup-popup__form input{
  width:100%;
  min-height:46px;
  border:1px solid rgba(36,48,38,.22);
  border-radius:0;
  background:#fff;
  padding:12px 13px;
  font:inherit;
  font-size:15px;
  color:#243026;
  outline:none;
}
.oms-signup-popup__form input:focus{
  border-color:#78955d;
  box-shadow:0 0 0 3px rgba(120,149,93,.14);
}
.oms-signup-popup__submit{
  min-height:48px;
  margin-top:4px;
  border:1px solid #243026;
  border-radius:0;
  background:#243026;
  color:#fff;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
}
.oms-signup-popup__submit:disabled{
  opacity:.72;
  cursor:wait;
}
.oms-signup-popup__status{
  min-height:18px;
  margin:0;
  color:#4f604f;
  font-size:13px;
  line-height:1.35;
}
.oms-signup-popup.is-success .oms-signup-popup__card{
  border-color:rgba(120,149,93,.55);
}
@media (max-width:520px){
  .oms-signup-popup{padding:14px;align-items:center;}
  .oms-signup-popup__card{width:min(94vw,390px);padding:24px 18px 20px;}
  .oms-signup-popup h2{font-size:30px;}
}


/* =========================================================
   OMS HOTFIX · Mobile product seals + product CTA/layout
   ========================================================= */
.oms-modal--product .oms-product-longdesc,
.oms-modal--product .oms-product-longdesc summary,
.oms-modal--product .oms-product-delivery{
  border-radius:0 !important;
}

.oms-modal--product .oms-product-buy .js-modal-add,
.oms-modal--product .oms-product-buy .js-modal-buy-now{
  background:#050505 !important;
  color:#ffffff !important;
  border:1px solid #050505 !important;
  box-shadow:0 12px 24px rgba(0,0,0,.14) !important;
}

.oms-modal--product .oms-product-buy .js-modal-add:hover,
.oms-modal--product .oms-product-buy .js-modal-buy-now:hover{
  background:#1b1b1b !important;
  color:#ffffff !important;
  transform:translateY(-1px);
}

.oms-modal--product .oms-product-buy .js-modal-add:disabled{
  background:#050505 !important;
  color:#ffffff !important;
}

.oms-modal--product .oms-product-seals{
  scroll-snap-type:x proximity;
}

.oms-modal--product .oms-product-seal{
  scroll-snap-align:start;
}

.oms-modal--product .oms-gallery__main{
  position:relative !important;
  isolation:isolate;
}

.oms-product-best-seller-ribbon{
  position:absolute;
  top:14px;
  right:0;
  z-index:8;
  pointer-events:none;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
}

.oms-product-best-seller-ribbon span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:9px 14px 9px 18px;
  background:linear-gradient(180deg,#151515 0%,#000000 100%);
  color:#ffffff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  border-top-left-radius:12px;
  border-bottom-left-radius:12px;
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%,14px 50%);
}

@media (max-width: 760px){
  .oms-modal--product .oms-product-trust{
    gap:10px !important;
    margin:0 0 12px !important;
  }

  .oms-modal--product .oms-product-seals{
    gap:10px !important;
    padding:4px 0 10px !important;
    margin:0 !important;
  }

  .oms-modal--product .oms-product-seal{
    width:92px !important;
    height:92px !important;
    box-shadow:0 8px 18px rgba(36,56,36,.09) !important;
  }

  .oms-modal--product .oms-product-delivery{
    border-radius:0 !important;
  }

  .oms-modal--product .oms-product-longdesc{
    margin-top:0 !important;
  }

  .oms-product-best-seller-ribbon{
    top:12px;
  }

  .oms-product-best-seller-ribbon span{
    min-height:34px;
    padding:8px 12px 8px 16px;
    font-size:10px;
    letter-spacing:.16em;
    border-top-left-radius:10px;
    border-bottom-left-radius:10px;
    clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);
  }

  .oms-modal--product .oms-product-buy{
    gap:10px !important;
  }

  .oms-modal--product .oms-product-buy .oms-btn{
    min-height:48px !important;
    font-weight:850 !important;
  }
}

/* =========================================================
   OMS HOTFIX · Phone prefix selector checkout
   ========================================================= */
.oms-phone-field{
  display:grid;
  grid-template-columns:minmax(112px, 138px) minmax(0,1fr);
  gap:8px;
  align-items:stretch;
  width:100%;
}
.oms-phone-field select,
.oms-phone-field input{
  width:100% !important;
  min-width:0 !important;
}
@media (max-width:420px){
  .oms-phone-field{
    grid-template-columns:minmax(104px, 120px) minmax(0,1fr);
    gap:7px;
  }
  .oms-phone-field select{
    padding-left:10px !important;
    padding-right:8px !important;
    font-size:13px !important;
  }
}

/* =========================================================
   OMS HOTFIX · botones negros en cards y Mi cuenta
   ========================================================= */
.oms-card__footer .js-add-to-cart,
.oms-card__footer--single .js-add-to-cart,
.oms-mini-sellcard .js-add-to-cart{
  background:#050505 !important;
  color:#ffffff !important;
  border:1px solid #050505 !important;
  box-shadow:0 12px 24px rgba(0,0,0,.14) !important;
  font-weight:850 !important;
  letter-spacing:.02em !important;
}

.oms-card__footer .js-add-to-cart:hover,
.oms-card__footer--single .js-add-to-cart:hover,
.oms-mini-sellcard .js-add-to-cart:hover{
  background:#1b1b1b !important;
  color:#ffffff !important;
  border-color:#1b1b1b !important;
  box-shadow:0 14px 28px rgba(0,0,0,.18) !important;
}

.oms-card__footer .js-add-to-cart:disabled,
.oms-card__footer--single .js-add-to-cart:disabled,
.oms-mini-sellcard .js-add-to-cart:disabled{
  background:#050505 !important;
  color:#ffffff !important;
  border-color:#050505 !important;
  opacity:.55 !important;
}

.oms-panel-page--account .oms-auth-choice .oms-btn,
.oms-panel-page--account .oms-auth-actions .oms-btn,
.oms-panel-page--account .oms-auth-switch__btn,
.oms-modal .oms-auth-choice .oms-btn,
.oms-modal .oms-auth-actions .oms-btn,
.oms-modal .oms-auth-switch__btn,
#mi-cuenta .oms-btn{
  background:#050505 !important;
  color:#ffffff !important;
  border:1px solid #050505 !important;
  box-shadow:0 12px 24px rgba(0,0,0,.14) !important;
  font-weight:850 !important;
}

.oms-panel-page--account .oms-auth-choice .oms-btn:hover,
.oms-panel-page--account .oms-auth-actions .oms-btn:hover,
.oms-panel-page--account .oms-auth-switch__btn:hover,
.oms-panel-page--account .oms-auth-switch__btn.is-active,
.oms-modal .oms-auth-choice .oms-btn:hover,
.oms-modal .oms-auth-actions .oms-btn:hover,
.oms-modal .oms-auth-switch__btn:hover,
.oms-modal .oms-auth-switch__btn.is-active,
#mi-cuenta .oms-btn:hover{
  background:#1b1b1b !important;
  color:#ffffff !important;
  border-color:#1b1b1b !important;
  box-shadow:0 14px 28px rgba(0,0,0,.18) !important;
}


/* =========================================================
   OMS HOTFIX · Checkout editable + carrito/Mi cuenta cuadrados
   ========================================================= */
.oms-panel-page--account .oms-panel-page__surface,
.oms-panel-page--account .oms-panel-page__head,
.oms-panel-page--account .oms-panel-page__body,
.oms-panel-page--account .oms-auth-card,
.oms-panel-page--account .oms-mini-card,
.oms-panel-page--account .oms-auth-choice .oms-btn,
.oms-panel-page--account .oms-auth-actions .oms-btn,
.oms-panel-page--account .oms-auth-switch__btn,
.oms-panel-page--account input,
.oms-panel-page--account select,
.oms-panel-page--account textarea,
.oms-panel-page--cart .oms-panel-page__surface,
.oms-panel-page--cart .oms-panel-page__head,
.oms-panel-page--cart .oms-panel-page__body,
.oms-panel-page--cart .oms-panel-section,
.oms-panel-page--cart .oms-cart-summary,
.oms-panel-page--cart .oms-cart-item,
.oms-panel-page--cart .oms-empty,
.oms-panel-page--cart .oms-mini-card,
.oms-panel-page--cart .oms-btn,
.oms-panel-page--cart .oms-qty,
.oms-panel-page--cart .oms-qty button,
.oms-panel-page--cart .oms-qty input,
.oms-panel-page--cart input,
.oms-panel-page--cart select,
.oms-checkout-square .oms-checkout-cart-item,
.oms-checkout-square .oms-checkout-cart-item .oms-qty,
.oms-checkout-square .oms-checkout-cart-item .oms-qty button,
.oms-checkout-square .oms-checkout-cart-item .oms-qty input,
.oms-checkout-square .oms-cart-item__remove{
  border-radius:0 !important;
}

.oms-panel-page--account .oms-panel-page__surface,
.oms-panel-page--cart .oms-panel-page__surface{
  background:#fbfaf6 !important;
  border:1px solid #d8d1c2 !important;
  box-shadow:0 18px 44px rgba(36,44,32,.08) !important;
}

.oms-panel-page--account .oms-panel-page__head,
.oms-panel-page--cart .oms-panel-page__head{
  background:#ffffff !important;
  border-bottom:1px solid #e3dccf !important;
}

.oms-panel-page--account .oms-auth-card,
.oms-panel-page--account .oms-mini-card,
.oms-panel-page--cart .oms-panel-section,
.oms-panel-page--cart .oms-cart-summary,
.oms-panel-page--cart .oms-empty{
  background:#ffffff !important;
  border:1px solid #d8d1c2 !important;
  box-shadow:none !important;
}

.oms-panel-page--account .oms-auth-card__head strong,
.oms-panel-page--account .oms-mini-card h3,
.oms-panel-page--cart .oms-panel-section__title{
  letter-spacing:-.02em;
}

.oms-panel-page--account .oms-auth-choice{
  grid-template-columns:1fr;
  gap:10px !important;
}

@media (min-width: 720px){
  .oms-panel-page--account .oms-auth-choice{
    grid-template-columns:1fr 1fr;
  }
  .oms-panel-page--account .oms-auth-choice .js-auth-continue-guest{
    grid-column:1 / -1;
  }
}

.oms-panel-page--account .oms-auth-choice .oms-btn,
.oms-panel-page--account .oms-auth-actions .oms-btn,
.oms-panel-page--account .oms-auth-switch__btn{
  min-height:54px !important;
  padding:0 18px !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  font-size:13px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

.oms-panel-page--account .oms-auth-choice .oms-btn--brand,
.oms-panel-page--account .oms-auth-actions .oms-btn--brand,
.oms-panel-page--account .oms-auth-switch__btn.is-active{
  background:#050505 !important;
  color:#ffffff !important;
  border:1px solid #050505 !important;
}

.oms-panel-page--account .oms-auth-choice .oms-btn--soft,
.oms-panel-page--account .oms-auth-actions .oms-btn--soft{
  background:#f4efe6 !important;
  color:#111111 !important;
  border:1px solid #111111 !important;
}

.oms-panel-page--account .oms-auth-choice .oms-btn--ghost,
.oms-panel-page--account .oms-auth-actions .oms-btn--ghost,
.oms-panel-page--account .oms-auth-switch__btn:not(.is-active){
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid #d8d1c2 !important;
}

.oms-panel-page--account .oms-auth-choice .oms-btn:hover,
.oms-panel-page--account .oms-auth-actions .oms-btn:hover,
.oms-panel-page--account .oms-auth-switch__btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.11) !important;
}

.oms-panel-page--account input,
.oms-panel-page--account select,
.oms-panel-page--account textarea{
  border:1px solid #d8d1c2 !important;
  background:#ffffff !important;
}

.oms-panel-page--cart .oms-cart-items--page,
.oms-checkout-square .js-checkout-items{
  display:grid;
  gap:12px;
}

.oms-panel-page--cart .oms-cart-item,
.oms-checkout-square .oms-checkout-cart-item{
  display:grid !important;
  grid-template-columns:84px minmax(0,1fr) auto !important;
  align-items:stretch !important;
  gap:14px !important;
  padding:14px !important;
  border:1px solid #e1d9ca !important;
  background:#ffffff !important;
  box-shadow:none !important;
}

.oms-panel-page--cart .oms-cart-item__media,
.oms-checkout-square .oms-checkout-cart-item .oms-cart-item__media{
  width:84px !important;
  height:84px !important;
  border:1px solid #eee6d8 !important;
  background:#f8f4ec !important;
  overflow:hidden !important;
}

.oms-panel-page--cart .oms-cart-item__media img,
.oms-checkout-square .oms-checkout-cart-item .oms-cart-item__media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.oms-cart-item__content{
  min-width:0;
  display:grid;
  align-content:start;
  gap:6px;
}

.oms-panel-page--cart .oms-cart-item h4,
.oms-checkout-square .oms-checkout-cart-item h4{
  margin:0 !important;
  color:#202a21 !important;
  font-size:15px !important;
  line-height:1.25 !important;
  letter-spacing:-.01em;
}

.oms-cart-item__unit,
.oms-checkout-square .oms-checkout-cart-item p{
  color:#6a7168 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.oms-cart-item__total{
  display:grid;
  align-content:space-between;
  justify-items:end;
  gap:8px;
  min-width:112px;
  text-align:right;
}

.oms-cart-item__total span{
  color:#8a877f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.oms-cart-item__total strong{
  color:#111111;
  font-size:16px;
}

.oms-qty--compact{
  grid-template-columns:38px 46px 38px !important;
  width:max-content;
  border:1px solid #d8d1c2 !important;
  background:#fff !important;
}

.oms-qty--compact button,
.oms-qty--compact input{
  height:38px !important;
  min-height:38px !important;
}

.oms-qty--compact button{
  color:#111 !important;
  font-weight:900 !important;
}

.oms-cart-item__remove{
  appearance:none;
  border:1px solid #d8d1c2 !important;
  background:#ffffff !important;
  color:#111111 !important;
  min-height:38px;
  padding:0 12px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.oms-cart-item__remove:hover{
  background:#111111 !important;
  border-color:#111111 !important;
  color:#ffffff !important;
}

.oms-checkout-cart-item__controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:4px;
}

.oms-panel-page--cart .oms-cart-summary .oms-btn,
.oms-panel-page--cart .oms-empty .oms-btn{
  min-height:52px !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  font-size:13px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

.oms-panel-page--cart .oms-cart-summary .oms-btn--brand,
.oms-panel-page--cart .oms-empty .oms-btn--brand{
  background:#050505 !important;
  color:#ffffff !important;
  border:1px solid #050505 !important;
}

.oms-panel-page--cart .oms-cart-summary .oms-btn--ghost{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid #d8d1c2 !important;
}

.oms-panel-page--cart .oms-summary-row,
.oms-checkout-square .oms-summary-row{
  border-bottom:1px solid #ece4d5 !important;
}

@media (max-width:760px){
  .oms-panel-page--cart .oms-cart-item,
  .oms-checkout-square .oms-checkout-cart-item{
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .oms-panel-page--cart .oms-cart-item__media,
  .oms-checkout-square .oms-checkout-cart-item .oms-cart-item__media{
    width:72px !important;
    height:72px !important;
  }
  .oms-cart-item__total{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-width:0;
    width:100%;
    text-align:left;
    border-top:1px solid #eee6d8;
    padding-top:10px;
  }
  .oms-checkout-cart-item__controls{
    align-items:stretch;
  }
  .oms-cart-item__remove{
    flex:1 1 auto;
  }
}

/* =========================================================
   OMS HOTFIX · Checkout directo + botones finales cuadrados
   ========================================================= */
.oms-checkout-square .oms-checkout-actions--final{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr) !important;
  gap:12px !important;
  align-items:stretch !important;
  margin-top:4px !important;
}

.oms-checkout-square .oms-checkout-actions--final .oms-btn{
  border-radius:0 !important;
  min-height:56px !important;
  padding:0 20px !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

.oms-checkout-square .oms-checkout-submit-btn{
  background:#050505 !important;
  color:#ffffff !important;
  border:1px solid #050505 !important;
}

.oms-checkout-square .oms-checkout-submit-btn:hover{
  background:#1b1b1b !important;
  border-color:#1b1b1b !important;
  color:#ffffff !important;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.14) !important;
}

.oms-checkout-square .oms-checkout-cancel-btn{
  background:#ffffff !important;
  color:#111111 !important;
  border:1px solid #bdb4a5 !important;
}

.oms-checkout-square .oms-checkout-cancel-btn:hover{
  background:#f4efe6 !important;
  border-color:#111111 !important;
  color:#111111 !important;
  transform:translateY(-1px);
}

@media (max-width:760px){
  .oms-checkout-square .oms-checkout-actions--final{
    grid-template-columns:1fr !important;
  }

  .oms-checkout-square .oms-checkout-actions--final .oms-btn{
    width:100% !important;
    min-width:0 !important;
  }
}

/* =========================================================
   OH MY SKIN · CYBER DAYS BOTÁNICO 2026
   Reemplaza el banner Previa Cyber por imagen natural OH MY SKIN.
   ========================================================= */
.oms-flashsale{
  min-height:142px !important;
  background:url("../img/previa-cyber-banner-bg.jpg") center center / cover no-repeat !important;
  border-bottom:1px solid rgba(79,116,72,.18) !important;
  box-shadow:0 8px 22px rgba(38,68,42,.10) !important;
  color:#2f5632 !important;
}

.oms-flashsale::before{
  display:none !important;
  content:none !important;
}

.oms-flashsale__inner{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-height:142px !important;
  padding:0 !important;
}

.oms-flashsale__content{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.oms-flashsale__cta{
  position:absolute !important;
  top:50% !important;
  right:clamp(34px, 7.2vw, 154px) !important;
  transform:translateY(-50%) !important;
  width:clamp(176px, 13vw, 250px) !important;
  height:64px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:transparent !important;
  font-size:0 !important;
  text-indent:-9999px !important;
}

.oms-flashsale__cta:focus-visible{
  outline:2px solid rgba(65,113,66,.65) !important;
  outline-offset:4px !important;
}

@media (max-width: 768px){
  :root{
    --oms-flashsale-mobile-h: 118px !important;
  }

  .oms-flashsale{
    min-height:118px !important;
    background:url("../img/previa-cyber-banner-mobile.png") center center / cover no-repeat !important;
  }

  .oms-flashsale__inner{
    min-height:118px !important;
  }

  .oms-flashsale__cta{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    transform:none !important;
    border-radius:0 !important;
  }
}


/* =========================================================
   OH MY SKIN · NUEVO LOGO HEADER / BARRA MENÚ
   Mantiene cambios anteriores y ajusta el nuevo logo ancho
   para que no choque con menú, búsqueda, cuenta ni carrito.
   ========================================================= */
.oms-logo img[src*="oh-my-skin-logo-header"]{
  background:transparent !important;
  height:38px !important;
  max-width:260px !important;
  width:auto !important;
  object-fit:contain !important;
}

@media (max-width:960px){
  .oms-logo img[src*="oh-my-skin-logo-header"]{
    height:30px !important;
    max-width:min(100%, 190px) !important;
  }
}

@media (max-width:420px){
  .oms-logo img[src*="oh-my-skin-logo-header"]{
    height:27px !important;
    max-width:min(100%, 165px) !important;
  }
}

/* =========================================================
   OH MY SKIN · Cyber Days countdown visible sobre banner
   Muestra solo temporizador y mantiene la imagen del banner limpia.
   ========================================================= */
.oms-flashsale .oms-flashsale__content{
  position:absolute !important;
  left:clamp(14px, 4.5vw, 86px) !important;
  bottom:clamp(10px, 1.4vw, 18px) !important;
  width:auto !important;
  height:auto !important;
  max-width:calc(100% - 32px) !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
  white-space:normal !important;
  opacity:1 !important;
  pointer-events:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 !important;
}

.oms-flashsale .oms-flashsale__eyebrow,
.oms-flashsale .oms-flashsale__headline,
.oms-flashsale .oms-flashsale__benefit{
  display:none !important;
}

.oms-flashsale .oms-flashsale__meta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:38px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(70,112,68,.20) !important;
  box-shadow:0 8px 20px rgba(37,68,39,.16) !important;
  color:#2f5632 !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.oms-flashsale .oms-flashsale__timer{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:82px !important;
  min-height:26px !important;
  padding:4px 9px !important;
  border-radius:999px !important;
  background:#2f5632 !important;
  border:1px solid rgba(255,255,255,.60) !important;
  color:#ffffff !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-size:14px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
}

@media (max-width: 768px){
  .oms-flashsale .oms-flashsale__content{
    left:50% !important;
    right:auto !important;
    bottom:7px !important;
    transform:translateX(-50%) !important;
    max-width:calc(100% - 20px) !important;
  }

  .oms-flashsale .oms-flashsale__meta{
    min-height:31px !important;
    padding:5px 9px !important;
    gap:6px !important;
    font-size:10px !important;
    white-space:nowrap !important;
  }

  .oms-flashsale .oms-flashsale__timer{
    min-width:72px !important;
    min-height:22px !important;
    padding:3px 7px !important;
    font-size:12px !important;
  }
}


/* =========================================================
   OH MY SKIN · VENTA NOCTURNA 18–19 JUN 2026
   Activa el banner con texto, CTA y temporizador hasta las 09:00.
   ========================================================= */
.oms-flashsale{
  min-height:154px !important;
  background:
    linear-gradient(90deg, rgba(248,245,236,.96) 0%, rgba(248,245,236,.88) 46%, rgba(248,245,236,.22) 72%, rgba(248,245,236,.08) 100%),
    url("../img/venta-nocturna-40off-banner.jpg") center center / cover no-repeat !important;
  color:#173520 !important;
  border-bottom:1px solid rgba(42,83,48,.18) !important;
  box-shadow:0 8px 22px rgba(30,65,35,.12) !important;
}

.oms-flashsale .oms-flashsale__inner{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  width:min(1180px, calc(100% - 32px)) !important;
  max-width:1180px !important;
  min-height:154px !important;
  margin:0 auto !important;
  padding:18px 22px !important;
}

.oms-flashsale .oms-flashsale__content{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:auto !important;
  height:auto !important;
  max-width:620px !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
  white-space:normal !important;
  opacity:1 !important;
  pointer-events:none !important;
  display:grid !important;
  align-items:start !important;
  justify-content:start !important;
  gap:5px !important;
  padding:14px 18px !important;
  border:1px solid rgba(50,91,54,.18) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.84) !important;
  box-shadow:0 10px 28px rgba(31,68,36,.12) !important;
  backdrop-filter:blur(3px) !important;
}

.oms-flashsale .oms-flashsale__eyebrow{
  display:block !important;
  color:#244f2d !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.oms-flashsale .oms-flashsale__headline{
  display:block !important;
  color:#132f1b !important;
  font-size:clamp(21px, 2vw, 31px) !important;
  line-height:1.04 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}

.oms-flashsale .oms-flashsale__benefit{
  display:block !important;
  color:#46634a !important;
  font-size:12px !important;
  font-weight:750 !important;
}

.oms-flashsale .oms-flashsale__meta{
  display:inline-flex !important;
  width:max-content !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:36px !important;
  margin-top:3px !important;
  padding:5px 7px 5px 12px !important;
  border-radius:999px !important;
  background:#f8f2df !important;
  border:1px solid rgba(67,102,62,.20) !important;
  box-shadow:none !important;
  color:#244f2d !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}

.oms-flashsale .oms-flashsale__timer{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:88px !important;
  min-height:26px !important;
  padding:4px 9px !important;
  border-radius:999px !important;
  background:#244f2d !important;
  border:1px solid rgba(255,255,255,.60) !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

.oms-flashsale .oms-flashsale__cta{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  transform:none !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:205px !important;
  height:auto !important;
  min-height:52px !important;
  padding:14px 22px !important;
  border:1px solid rgba(255,255,255,.45) !important;
  border-radius:14px !important;
  background:#244f2d !important;
  box-shadow:0 10px 24px rgba(26,66,33,.22) !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  text-align:center !important;
  text-indent:0 !important;
}

.oms-flashsale .oms-flashsale__cta:hover{
  background:#193b22 !important;
  transform:translateY(-1px) !important;
}

@media (max-width:768px){
  .oms-flashsale{
    min-height:214px !important;
    background:
      linear-gradient(180deg, rgba(250,247,239,.95) 0%, rgba(250,247,239,.88) 65%, rgba(250,247,239,.60) 100%),
      url("../img/venta-nocturna-40off-banner.jpg") center center / cover no-repeat !important;
  }

  .oms-flashsale .oms-flashsale__inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:center !important;
    gap:9px !important;
    width:100% !important;
    min-height:214px !important;
    padding:12px !important;
  }

  .oms-flashsale .oms-flashsale__content{
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    padding:11px 13px !important;
    border-radius:14px !important;
    text-align:center !important;
    justify-items:center !important;
  }

  .oms-flashsale .oms-flashsale__eyebrow{
    font-size:10px !important;
  }

  .oms-flashsale .oms-flashsale__headline{
    font-size:22px !important;
  }

  .oms-flashsale .oms-flashsale__benefit{
    font-size:10px !important;
  }

  .oms-flashsale .oms-flashsale__meta{
    min-height:31px !important;
    margin-inline:auto !important;
    padding:4px 6px 4px 10px !important;
    font-size:9px !important;
  }

  .oms-flashsale .oms-flashsale__timer{
    min-width:74px !important;
    min-height:22px !important;
    padding:3px 7px !important;
    font-size:12px !important;
  }

  .oms-flashsale .oms-flashsale__cta{
    width:100% !important;
    min-width:0 !important;
    min-height:45px !important;
    padding:12px 16px !important;
    border-radius:12px !important;
    font-size:13px !important;
  }
}
