/*
 * FerCor Shop 11
 * Interfaz comercial sobria y responsive.
 * Este archivo se carga al final para consolidar la presentación pública sin
 * modificar la lógica PHP, los datos, el inventario ni los medios de pago.
 */

:root {
  --v11-ink:#181515;
  --v11-ink-soft:#474747;
  --v11-navy:#3a4b7e;
  --v11-blue:#5875c6;
  --v11-blue-soft:#a3d1ec;
  --v11-periwinkle:#85a5ff;
  --v11-page:#f8f7ff;
  --v11-warm:#fbf6e1;
  --v11-surface:#fff;
  --v11-muted:#666b76;
  --v11-line:#dfe4ef;
  --v11-line-strong:#cbd4e6;
  --v11-success:#2f7150;
  --v11-danger:#aa3847;
  --v11-radius-sm:10px;
  --v11-radius:16px;
  --v11-radius-lg:22px;
  --v11-shadow:0 16px 45px rgba(40,53,91,.09);
  --v11-shadow-soft:0 8px 24px rgba(40,53,91,.065);
}

html {
  background:var(--v11-page);
  scroll-padding-top:118px;
}

body {
  min-width:320px;
  background:var(--v11-page);
  color:var(--v11-ink);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.container {
  width:min(1240px,calc(100% - 40px));
}

h1,
h2,
h3,
h4 {
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}

p {
  overflow-wrap:break-word;
}

.eyebrow,
.step-label,
.section-head-v9>div>span,
.home-cta-v9>div>span {
  color:var(--v11-blue);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}

.btn {
  min-height:46px;
  border-radius:var(--v11-radius-sm);
  font-size:.875rem;
  font-weight:750;
  letter-spacing:0;
}

.btn:hover {
  transform:translateY(-1px);
}

.btn.primary,
.btn.dark,
.btn.paprika {
  border-color:var(--v11-navy);
  background:var(--v11-navy);
  color:#fff;
}

.btn.primary:hover,
.btn.dark:hover,
.btn.paprika:hover {
  border-color:var(--v11-blue);
  background:var(--v11-blue);
  box-shadow:0 10px 24px rgba(58,75,126,.2);
}

.btn.ghost {
  border-color:var(--v11-line-strong);
  background:#fff;
  color:var(--v11-ink);
}

.btn.ghost:hover {
  border-color:var(--v11-navy);
  background:var(--v11-navy);
  color:#fff;
}

/* Encabezado */
.announcement {
  height:32px;
  background:var(--v11-navy);
  color:#eef3ff;
  font-size:.75rem;
  letter-spacing:0;
}

.announcement .container {
  width:min(1240px,calc(100% - 40px));
}

.announcement .container>span i {
  background:var(--v11-blue-soft);
  box-shadow:0 0 0 4px rgba(163,209,236,.16);
}

.site-header,
.site-header.scrolled {
  height:auto;
  position:sticky;
  top:0;
  z-index:250;
  border-bottom:1px solid var(--v11-line);
  background:rgba(248,247,255,.97);
  box-shadow:0 8px 24px rgba(40,53,91,.055);
  backdrop-filter:blur(16px);
}

.site-header .nav {
  display:grid!important;
  grid-template-columns:auto auto minmax(280px,1fr) auto!important;
  min-height:76px;
  width:min(1240px,calc(100% - 40px));
  padding:10px 0;
  align-items:center;
  gap:20px;
}

.site-header .brand {
  min-width:max-content;
}

.site-header .brand>span {
  width:44px;
  height:44px;
  border-radius:12px;
}

.site-header .brand strong {
  color:var(--v11-ink);
  font-size:1.18rem;
}

.site-header .brand small {
  margin-top:4px;
  color:var(--v11-blue);
  font-size:.58rem;
}

.site-header .nav>nav {
  position:static!important;
  display:flex;
  width:auto!important;
  padding:0!important;
  gap:18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}

.site-header .nav>nav a {
  padding:10px 0!important;
  color:var(--v11-ink-soft)!important;
  font-size:.78rem!important;
  font-weight:700;
  white-space:nowrap;
}

.site-header .nav>nav a:hover,
.site-header .nav>nav a[aria-current="page"] {
  color:var(--v11-navy)!important;
}

.site-header .nav>nav a:after {
  bottom:4px;
  height:2px;
  background:var(--v11-blue);
}

.nav-search {
  grid-column:auto!important;
  display:flex!important;
  width:100%;
  min-width:0;
  height:46px;
  padding:0 5px 0 14px;
  border:1px solid var(--v11-line-strong)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.nav-search:focus-within {
  border-color:var(--v11-blue)!important;
  box-shadow:0 0 0 3px rgba(133,165,255,.18)!important;
}

.nav-search>span {
  color:var(--v11-blue);
}

.nav-search input {
  min-width:0;
  color:var(--v11-ink)!important;
  font-size:.875rem!important;
}

.site-header .nav-search button {
  display:grid!important;
  width:38px!important;
  min-width:38px!important;
  height:36px!important;
  padding:0!important;
  place-items:center;
  border-radius:9px!important;
  background:var(--v11-navy);
}

.header-actions {
  display:flex;
  gap:7px;
}

.account-link,
.header-favorites,
.cart-link,
.menu-toggle {
  position:relative;
  display:grid!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  place-items:center;
  border:1px solid var(--v11-line-strong)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--v11-navy)!important;
  box-shadow:none;
}

.account-link>span,
.header-favorites span,
.cart-link-copy {
  display:none!important;
}

.account-link:hover,
.header-favorites:hover,
.cart-link:hover {
  border-color:var(--v11-navy)!important;
  background:var(--v11-navy)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(58,75,126,.17);
}

.cart-link b {
  top:-7px;
  right:-7px;
  width:21px;
  height:21px;
  background:var(--v11-periwinkle);
  color:var(--v11-ink);
  box-shadow:0 3px 9px rgba(58,75,126,.2);
}

.menu-toggle {
  display:none!important;
}

.menu-toggle span {
  background:var(--v11-navy);
}

/* Inicio */
.home-v9 {
  background:var(--v11-page);
  color:var(--v11-ink);
}

.home-hero-v9 {
  min-height:500px;
  margin-top:20px;
  overflow:hidden;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius-lg);
  background:var(--v11-warm);
  box-shadow:var(--v11-shadow);
}

.hero-v9-copy {
  min-height:500px;
  width:min(610px,55%);
  padding:52px 0 44px 48px;
}

.hero-v9-shade {
  background:linear-gradient(90deg,rgba(248,247,255,.98) 0%,rgba(248,247,255,.94) 38%,rgba(248,247,255,.5) 61%,rgba(248,247,255,.04) 82%);
}

.hero-v9-copy h1 {
  max-width:540px;
  margin:16px 0 18px;
  color:var(--v11-ink);
  font-size:clamp(2.75rem,4vw,3.8rem);
  font-weight:760;
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.hero-v9-copy h1 em {
  color:var(--v11-blue);
  font-family:inherit;
  font-weight:760;
}

.hero-v9-copy>p {
  max-width:500px;
  color:#505661;
  font-size:1rem;
  line-height:1.65;
}

.hero-v9-actions {
  margin-top:26px;
}

.hero-v9-link {
  color:var(--v11-navy);
}

.hero-v9-proof {
  gap:18px;
  margin-top:28px;
  padding-top:18px;
  border-color:rgba(58,75,126,.15);
}

.hero-v9-proof span {
  color:#525965;
  font-size:.76rem;
}

.hero-v9-feature {
  right:20px;
  bottom:20px;
  width:235px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  color:var(--v11-ink);
  box-shadow:0 14px 34px rgba(24,21,21,.16);
}

.hero-v9-feature small,
.hero-v9-feature span {
  color:var(--v11-blue);
}

.home-service-v9 {
  margin-top:14px;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius);
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

.home-service-v9 article {
  min-height:88px;
  padding:18px 22px;
  border-color:var(--v11-line);
}

.home-service-v9 article>span {
  color:#9aa4b8;
  font-size:.72rem;
}

.home-service-v9 b {
  color:var(--v11-ink);
  font-size:.875rem;
}

.home-service-v9 small {
  color:var(--v11-muted);
  font-size:.76rem;
}

.home-service-v9 svg {
  color:var(--v11-blue);
}

.home-section-v9 {
  padding-top:64px;
  padding-bottom:64px;
}

.section-head-v9 {
  margin-bottom:26px;
}

.section-head-v9 h2,
.section-head-v9.light h2,
.newest-section-v9 .section-head-v9 h2 {
  margin-top:4px;
  color:var(--v11-ink);
  font-size:clamp(2rem,3vw,2.75rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.section-head-v9>p {
  max-width:480px;
  color:var(--v11-muted);
  font-size:.9rem;
}

.category-grid-v9 {
  gap:16px;
}

.category-card-v9,
.category-card-v9:nth-child(2) {
  min-height:290px;
  margin-top:0;
  overflow:hidden;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius);
  box-shadow:var(--v11-shadow-soft);
}

.category-card-v9:hover {
  border-color:var(--v11-blue-soft);
  transform:translateY(-2px);
}

.home-products-band-v9,
.newest-section-v9 {
  background:var(--v11-warm);
}

.home-spotlight-v9 {
  min-height:500px;
  margin-top:64px;
  margin-bottom:64px;
  overflow:hidden;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius-lg);
  background:#fff;
  box-shadow:var(--v11-shadow);
}

.spotlight-image-v9 {
  min-height:500px;
  background:#edf1f8;
}

.spotlight-copy-v9 {
  padding:44px;
}

.spotlight-copy-v9 h2 {
  max-width:18ch;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.08;
  word-break:normal;
  overflow-wrap:break-word;
}

.home-cta-v9 {
  margin-bottom:64px;
  padding:38px 42px;
  border:0;
  border-radius:var(--v11-radius);
  background:var(--v11-navy);
}

.home-cta-v9 h2 {
  margin:5px 0 8px;
  font-size:clamp(1.8rem,3vw,2.55rem);
}

.home-cta-v9 p {
  color:#dce5f5;
}

.home-cta-v9 .btn {
  border-color:#fff;
  background:#fff;
  color:var(--v11-navy);
}

/* Tarjetas y catálogo */
.product-grid,
.basic-products,
.shop-products,
.saved-products {
  gap:20px 14px;
}

.product-card {
  padding:9px;
  overflow:hidden!important;
  border:1px solid var(--v11-line)!important;
  border-radius:var(--v11-radius)!important;
  background:#fff;
  box-shadow:var(--v11-shadow-soft)!important;
}

.product-card:hover {
  border-color:var(--v11-blue-soft)!important;
  box-shadow:0 14px 34px rgba(40,53,91,.11)!important;
  transform:translateY(-2px);
}

.product-media,
.product-image,
.basic-products .product-image,
.shop-products .product-image,
.saved-products .product-image {
  overflow:hidden;
  border-radius:12px!important;
  background:#edf1f7!important;
}

.product-copy,
.basic-products .product-copy,
.shop-products .product-copy {
  padding:14px 5px 5px!important;
}

.product-copy>small {
  min-height:auto;
  color:#727986;
  font-size:.72rem;
  line-height:1.4;
}

.product-copy h3,
.shop-products .product-copy h3 {
  min-height:42px!important;
  margin:6px 0 8px;
  font-size:1rem;
  line-height:1.32;
}

.product-copy>p {
  min-height:42px;
  height:42px;
  color:var(--v11-muted);
  font-size:.8rem;
  line-height:1.55;
}

.product-price-row {
  min-height:54px;
}

.product-price-row del {
  font-size:.75rem;
}

.product-price-row strong {
  color:var(--v11-ink);
  font-size:1.15rem;
}

.product-price-row small {
  font-size:.7rem;
}

.card-add-form {
  gap:7px;
  margin-top:10px!important;
}

.quantity-picker {
  overflow:hidden;
  border-color:var(--v11-line-strong);
  border-radius:10px;
}

.quantity-picker button {
  color:var(--v11-navy);
}

.quantity-picker button:hover {
  background:#edf2fb;
}

.card-cart-button,
.basic-products .icon-btn,
.shop-products .icon-btn {
  background:var(--v11-navy)!important;
}

.card-cart-button:hover,
.basic-products .icon-btn:hover,
.shop-products .icon-btn:hover {
  background:var(--v11-blue)!important;
}

.shop-page,
.cart-shell,
.checkout-shell,
.profile-shell,
.order-detail-shell,
.product-detail-page-v9,
.tracking-page,
.dni-tracking,
main.prose {
  background:var(--v11-page)!important;
}

.shop-title {
  padding-top:52px;
}

.shop-title h1,
.cart-heading h1,
.checkout-heading h1,
main.prose>h1 {
  margin:6px 0 8px;
  color:var(--v11-ink);
  font-size:clamp(2.35rem,4vw,3.35rem);
  line-height:1.05;
  letter-spacing:-.04em;
}

.shop-title p,
.cart-heading p,
.checkout-heading p {
  color:var(--v11-muted);
  font-size:.95rem;
}

.shop-layout {
  grid-template-columns:250px minmax(0,1fr);
  gap:28px;
}

.shop-sidebar {
  top:126px;
  overflow:hidden;
  border:1px solid var(--v11-line)!important;
  border-radius:var(--v11-radius)!important;
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

.filter-heading {
  border-color:var(--v11-line);
}

.filter-heading h2 {
  font-size:1.35rem;
}

.filter-heading>div:first-child small,
.filter-label {
  font-size:.7rem;
}

.filter-search,
.price-fields label>span,
.shop-toolbar select {
  border-color:var(--v11-line-strong);
  background:#fff;
}

.filter-search input,
.price-fields input,
.shop-toolbar select {
  font-size:.82rem;
}

.filter-chip span,
.active-filter-list span,
.active-filter-list a {
  min-height:34px;
  border-color:var(--v11-line);
  font-size:.75rem;
}

.filter-chip input:checked+span,
.filter-check>input:checked+span {
  border-color:var(--v11-navy);
  background:var(--v11-navy);
}

.shop-toolbar {
  min-height:48px;
  margin-bottom:18px;
}

.shop-toolbar-start>span,
.shop-toolbar label>span {
  font-size:.78rem;
}

/* Ficha de producto */
.product-detail-page-v9 {
  box-sizing:border-box;
  width:100%;
  max-width:none;
  padding:40px max(20px,calc((100% - 1240px)/2)) 80px;
}

.product-detail-page-v9 .breadcrumbs {
  display:flex;
  max-width:1240px;
  margin:0 auto 22px;
  gap:7px;
  color:#747b87;
  font-size:.78rem;
}

.product-detail-page-v9 .breadcrumbs [aria-current="page"] {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.product-detail-page-v9 .product-detail {
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);
  width:100%;
  max-width:1240px;
  margin:0 auto;
  align-items:start;
  gap:clamp(36px,4vw,60px);
}

.detail-gallery-v9,
.product-detail-copy {
  width:100%;
  min-width:0;
}

.detail-image {
  width:100%;
  min-height:0!important;
  max-height:none;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius);
  background:#edf1f7;
  box-shadow:var(--v11-shadow);
}

.detail-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.detail-image>small {
  right:14px;
  bottom:14px;
  padding:7px 9px;
  border-radius:8px;
  font-size:.72rem;
}

.detail-photo-note {
  margin-top:12px;
  padding:13px 15px;
  border:1px solid var(--v11-line);
  border-radius:12px;
  background:#fff;
}

.detail-photo-note b {
  font-size:.82rem;
}

.detail-photo-note small {
  color:var(--v11-muted);
  font-size:.74rem;
}

.product-detail-copy {
  max-width:620px;
  padding:18px 0 0;
}

.product-detail-copy>.eyebrow {
  display:block;
  width:100%;
}

.product-detail h1 {
  max-width:22ch;
  margin:13px 0 16px;
  color:var(--v11-ink);
  font-size:clamp(2.35rem,3.35vw,3.45rem);
  font-weight:770;
  line-height:1.04;
  letter-spacing:-.04em;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

.product-detail .lead {
  max-width:58ch;
  margin:0;
  color:#525964;
  font-size:1rem;
  line-height:1.6;
}

.product-detail-copy>p:not(.lead):not(.stock) {
  max-width:62ch;
  color:#555c67;
  font-size:.9rem;
  line-height:1.65;
}

.detail-price {
  margin:22px 0 18px;
  padding:14px 16px;
  border:1px solid var(--v11-line);
  border-left:4px solid var(--v11-blue);
  border-radius:0 12px 12px 0;
  background:#edf2fa;
}

.detail-price>small {
  font-size:.68rem;
}

.detail-price strong {
  color:var(--v11-ink);
  font-size:1.95rem;
}

.detail-price em {
  color:var(--v11-navy);
  font-size:.72rem;
}

.stock {
  color:var(--v11-success);
  font-size:.85rem;
}

.product-purchase-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px;
  margin-top:20px;
  padding:14px!important;
  border:1px solid var(--v11-line)!important;
  border-radius:var(--v11-radius)!important;
  background:#fff!important;
  box-shadow:var(--v11-shadow-soft);
}

.product-add-form {
  display:grid!important;
  grid-template-columns:auto minmax(160px,1fr)!important;
  gap:12px!important;
  margin:0!important;
  align-items:end;
}

.product-add-form>.btn,
.favorite-detail {
  min-height:56px;
  border-radius:11px;
}

.favorite-detail {
  min-width:170px;
  border-color:var(--v11-line-strong);
  background:#fff;
  color:var(--v11-navy);
}

.favorite-detail:hover,
.favorite-detail.saved {
  border-color:var(--v11-navy);
  background:var(--v11-navy);
  color:#fff;
}

.delivery-note {
  margin-top:14px;
  padding:15px;
  border:1px solid var(--v11-line)!important;
  border-radius:13px;
  background:#fff!important;
}

.delivery-note>span {
  background:var(--v11-navy);
}

.delivery-note b {
  font-size:.85rem;
}

.delivery-note p {
  color:var(--v11-muted);
  font-size:.78rem;
}

.detail-benefits-v9 {
  gap:16px;
  margin-top:16px;
}

.detail-benefits-v9 span {
  color:#626976;
  font-size:.76rem;
}

.detail-benefits-v9 svg {
  color:var(--v11-blue);
}

.related-products {
  max-width:1240px;
  margin:70px auto 0;
  padding-top:48px;
  border-top:1px solid var(--v11-line);
}

/* Carrito */
.cart-shell {
  min-height:72vh;
  padding:52px 0 90px;
}

.cart-heading {
  margin-bottom:18px;
}

.cart-count-copy {
  padding:7px 11px;
  border:1px solid var(--v11-line);
  border-radius:999px;
  background:#fff;
  color:var(--v11-muted);
  font-size:.78rem;
}

.cart-progress-v9 {
  margin-bottom:24px;
  overflow:hidden;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius);
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

.cart-progress-v9>span {
  min-height:68px;
  padding:12px 18px;
  border-color:var(--v11-line);
}

.cart-progress-v9 i {
  width:32px;
  height:32px;
  font-size:.72rem;
}

.cart-progress-v9 b {
  font-size:.82rem;
}

.cart-progress-v9 small {
  font-size:.72rem;
}

.cart-progress-v9 .active {
  background:var(--v11-navy);
}

.cart-progress-v9 .active i {
  background:var(--v11-periwinkle);
  color:var(--v11-ink);
}

.pro-cart {
  grid-template-columns:minmax(0,1fr) minmax(330px,370px);
  gap:24px;
}

.cart-list-pro {
  min-width:0;
  padding:0 22px;
  overflow:hidden;
  border:1px solid var(--v11-line)!important;
  border-radius:var(--v11-radius);
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

.cart-table-head {
  grid-template-columns:minmax(0,1fr) 128px 100px;
  min-height:50px;
  padding:16px 0;
  border-color:var(--v11-line);
  color:#737b88;
  font-size:.7rem;
}

.cart-row-pro {
  grid-template-columns:104px minmax(0,1fr) 128px 96px 40px;
  min-width:0;
  gap:16px;
  padding:20px 0;
  border-color:var(--v11-line);
}

.cart-product-image {
  width:104px;
  height:104px;
  border-radius:12px;
  background:#edf1f7;
}

.cart-product-copy {
  min-width:0;
}

.cart-product-copy small {
  display:block;
  overflow:hidden;
  color:#747b87;
  font-size:.72rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cart-product-copy h3 {
  margin:5px 0 7px;
  font-size:1rem;
  line-height:1.35;
  overflow-wrap:break-word;
  word-break:normal;
}

.cart-product-copy>b {
  color:var(--v11-ink);
  font-size:.82rem;
}

.cart-product-copy>span {
  color:var(--v11-success);
  font-size:.72rem;
}

.quantity-control {
  width:128px;
  height:42px;
  overflow:hidden;
  border:1px solid var(--v11-line-strong);
  border-radius:10px;
  background:#fff;
}

.quantity-control button {
  width:38px;
  color:var(--v11-navy);
}

.quantity-control button:hover {
  background:#edf2fa;
  color:var(--v11-navy);
}

.quantity-control input {
  width:50px;
  border-inline:1px solid var(--v11-line)!important;
  font-weight:750;
}

.cart-line-price {
  color:var(--v11-ink);
  font-size:.94rem;
  white-space:nowrap;
}

.remove-form button {
  display:grid;
  width:38px;
  height:38px;
  padding:0;
  place-items:center;
  border-radius:10px;
  color:#7b8390;
}

.remove-form button:hover {
  background:#fff0f2;
  color:var(--v11-danger);
  transform:none;
}

.cart-footer-actions {
  padding:18px 0;
  border-color:var(--v11-line);
  font-size:.78rem;
}

.cart-footer-actions a {
  display:flex;
  align-items:center;
  gap:6px;
}

.pro-cart-summary,
.checkout-summary {
  overflow:hidden;
  border:1px solid var(--v11-navy)!important;
  border-radius:var(--v11-radius);
  background:linear-gradient(160deg,var(--v11-navy),#26345f)!important;
  color:#fff;
  box-shadow:0 18px 42px rgba(40,53,91,.19);
}

.pro-cart-summary {
  top:124px;
  padding:26px;
}

.pro-cart-summary:before {
  display:none;
}

.pro-cart-summary .eyebrow {
  color:var(--v11-blue-soft);
}

.pro-cart-summary h2 {
  margin:5px 0 24px;
  color:#fff;
  font-size:1.55rem;
}

.pro-cart-summary>div {
  color:#eef2fb;
}

.pro-cart-summary>div span,
.pro-cart-summary>div small {
  color:#cbd6eb;
}

.pro-cart-summary hr,
.checkout-summary hr {
  border-color:rgba(255,255,255,.16);
}

.pro-cart-summary .total strong,
.checkout-summary .total strong {
  color:#fff;
}

.pro-cart-summary .checkout-button {
  margin-top:20px!important;
  border-color:#fff;
  background:#fff;
  color:var(--v11-navy);
}

.pro-cart-summary .checkout-button:hover {
  border-color:var(--v11-blue-soft);
  background:var(--v11-blue-soft);
  color:var(--v11-ink);
}

.summary-benefits {
  margin-top:22px;
  padding-top:14px;
  border-color:rgba(255,255,255,.15);
}

.summary-benefits>div {
  margin:13px 0!important;
}

.summary-benefits svg {
  color:var(--v11-blue-soft);
}

.summary-benefits b {
  color:#fff;
  font-size:.78rem;
}

.summary-benefits small {
  color:#cbd6eb;
  font-size:.7rem;
}

.mobile-cart-bar {
  display:none;
}

.premium-empty {
  padding:64px 24px;
  border:1px solid var(--v11-line)!important;
  border-radius:var(--v11-radius);
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

/* Checkout */
.checkout-shell {
  min-height:100vh;
  padding:52px 0 90px;
}

.checkout-heading {
  align-items:end;
}

.checkout-heading p {
  max-width:650px;
  margin:0;
}

.secure-chip {
  padding:9px 12px;
  border:1px solid var(--v11-line);
  border-radius:999px;
  background:#fff;
  color:var(--v11-navy);
  font-size:.76rem;
}

.checkout-progress {
  margin:28px auto 22px;
  padding:16px 18px;
  overflow:hidden;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius);
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

.checkout-progress>div {
  color:#818894;
}

.checkout-progress>div:after {
  background:var(--v11-line);
}

.checkout-progress i {
  width:32px;
  height:32px;
  background:#edf0f6;
  font-size:.72rem;
}

.checkout-progress b {
  font-size:.78rem;
}

.checkout-progress small {
  font-size:.7rem;
}

.checkout-progress .active {
  color:var(--v11-navy);
}

.checkout-progress .active i {
  background:var(--v11-navy);
}

.checkout-progress .done i {
  background:var(--v11-periwinkle);
  color:var(--v11-ink);
}

.checkout-pro {
  grid-template-columns:minmax(0,1fr) minmax(340px,390px);
  gap:0;
  overflow:visible;
  border-radius:var(--v11-radius-lg);
  box-shadow:var(--v11-shadow);
}

.checkout-pro>.checkout-card {
  min-width:0;
  min-height:600px;
  padding:34px 38px;
  border:1px solid var(--v11-line)!important;
  border-right:0!important;
  border-radius:var(--v11-radius-lg) 0 0 var(--v11-radius-lg)!important;
  background:#fff;
  box-shadow:none;
}

.checkout-pro .checkout-step h2 {
  margin:7px 0;
  font-size:clamp(1.75rem,3vw,2.35rem);
  line-height:1.12;
  letter-spacing:-.03em;
}

.step-copy {
  margin-bottom:24px;
  color:var(--v11-muted);
  font-size:.9rem;
}

.delivery-choice-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.pro-choices span {
  min-height:155px;
  padding:18px!important;
  border-color:var(--v11-line-strong);
  border-radius:13px;
}

.pro-choices svg {
  margin-bottom:18px;
  color:var(--v11-blue);
}

.pro-choices b {
  font-size:.95rem;
}

.pro-choices small {
  font-size:.75rem;
  line-height:1.45;
}

.pro-choices em {
  color:var(--v11-navy);
  font-size:.68rem;
}

.pro-choices label input:checked+span,
.payment-choices label input:checked+span {
  border-color:var(--v11-blue)!important;
  background:#f5f7ff;
  box-shadow:0 0 0 3px rgba(133,165,255,.18);
}

.pro-fields {
  margin-top:16px;
  padding:18px;
  border:1px solid var(--v11-line);
  border-radius:13px;
  background:#f7f9fd;
}

.pro-form label {
  color:#505762;
  font-size:.78rem;
}

.pro-form input,
.pro-form select,
.pro-form textarea {
  min-height:46px;
  padding:12px 13px;
  border:1px solid var(--v11-line-strong);
  border-radius:10px;
  background:#fff;
  color:var(--v11-ink);
  font-size:.875rem;
}

.pro-form input:focus,
.pro-form select:focus,
.pro-form textarea:focus {
  border-color:var(--v11-blue);
  outline:3px solid rgba(133,165,255,.18);
  box-shadow:none;
}

.customer-checkout-card,
.privacy-note,
.verification-note {
  border:1px solid var(--v11-line);
  border-radius:12px;
  background:#f6f8fc;
  color:var(--v11-ink-soft);
}

.customer-checkout-card>span {
  background:var(--v11-navy);
}

.customer-checkout-card a {
  color:var(--v11-navy);
  font-size:.76rem;
}

.pro-payments {
  gap:9px;
}

.pro-payments label>span {
  min-height:68px;
  padding:13px 15px!important;
  border-color:var(--v11-line-strong);
  border-radius:12px;
}

.pro-payments b {
  font-size:.9rem;
}

.pro-payments small {
  font-size:.75rem;
}

.pro-payments em {
  border-radius:999px;
  background:#edf2fb;
  color:var(--v11-navy);
  font-size:.65rem;
}

.final-review-grid {
  gap:9px;
  padding:14px;
  border:1px solid var(--v11-line);
  border-radius:13px;
  background:#f6f8fc;
}

.final-review-grid>div {
  border-color:var(--v11-line);
  border-radius:10px;
}

.final-review-grid strong {
  color:var(--v11-navy);
}

.upload-zone {
  border-color:var(--v11-blue-soft)!important;
  border-radius:12px!important;
  background:#f5f8ff!important;
  color:var(--v11-navy);
}

.checkout-actions {
  margin-top:28px;
  padding-top:20px;
  border-color:var(--v11-line);
}

.checkout-summary {
  top:124px;
  padding:28px;
  border-radius:0 var(--v11-radius-lg) var(--v11-radius-lg) 0!important;
  box-shadow:none;
}

.checkout-summary .summary-title {
  margin-bottom:22px!important;
}

.checkout-summary .summary-title h2 {
  color:#fff;
  font-size:1.45rem;
}

.checkout-summary .summary-title a {
  color:var(--v11-blue-soft);
  font-size:.76rem;
}

.checkout-summary .summary-products>div {
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:12px!important;
  margin:14px 0!important;
}

.checkout-summary .summary-thumb {
  width:56px;
  height:56px;
  overflow:visible;
  border-radius:10px;
  background:#fff;
}

.checkout-summary .summary-thumb img {
  border-radius:10px;
}

.checkout-summary .summary-thumb b {
  background:var(--v11-periwinkle);
  color:var(--v11-ink);
}

.checkout-summary .summary-products span {
  min-width:0;
}

.checkout-summary .summary-products span strong {
  overflow:hidden;
  color:#fff;
  font-size:.78rem;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.checkout-summary .summary-products span small {
  color:#bfcbe1;
  font-size:.7rem;
}

.checkout-summary .summary-products em {
  color:#fff;
  font-size:.78rem;
  white-space:nowrap;
}

.checkout-summary>div:not(.summary-title):not(.summary-products):not(.summary-security) {
  color:#e6ecf7;
  font-size:.85rem;
}

.checkout-summary .summary-security {
  margin-top:22px!important;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff;
}

.checkout-summary .summary-security svg {
  color:var(--v11-blue-soft);
}

.checkout-summary .summary-security small {
  color:#c5d0e5;
  font-size:.7rem;
  line-height:1.45;
}

/* Perfil, contenido informativo y formularios */
.account-shell {
  background:var(--v11-page);
}

.account-card,
.profile-sidebar,
.profile-content,
.order-detail-main {
  border:1px solid var(--v11-line)!important;
  border-radius:var(--v11-radius)!important;
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

.account-card:before {
  background:var(--v11-navy);
}

.account-card h1 {
  font-size:2rem;
  line-height:1.12;
}

.account-form input,
.account-form select,
.account-form textarea {
  min-height:46px;
  border-color:var(--v11-line-strong);
  border-radius:10px;
  background:#fff;
  font-size:.875rem;
}

.account-form input:focus,
.account-form select:focus,
.account-form textarea:focus {
  border-color:var(--v11-blue);
  outline:3px solid rgba(133,165,255,.18);
}

.profile-hero-v9 {
  box-sizing:border-box;
  min-height:220px;
  width:min(1240px,calc(100% - 40px));
  max-width:1240px;
  margin:30px auto 24px;
  padding:38px 42px;
  overflow:hidden;
  border:1px solid rgba(163,209,236,.2);
  border-radius:var(--v11-radius-lg);
  background:linear-gradient(135deg,var(--v11-navy),#28365f);
  color:#fff;
  box-shadow:var(--v11-shadow);
}

.profile-hero-v9:after {
  display:none;
}

.profile-hero-v9 h1 {
  margin:5px 0 5px;
  color:#fff;
  font-size:clamp(2.2rem,4vw,3.35rem);
}

.profile-hero-v9 p {
  color:#d1dbee;
  font-size:.9rem;
}

.profile-hero-metrics {
  margin-top:22px;
}

.profile-hero-metrics span {
  min-width:100px;
  padding:10px 13px;
}

.profile-hero-metrics b {
  font-size:1.1rem;
}

.profile-hero-metrics small {
  color:#c2cee4;
  font-size:.68rem;
}

.profile-grid {
  grid-template-columns:290px minmax(0,1fr);
  gap:22px;
}

.profile-sidebar {
  top:118px;
  padding:22px;
}

.profile-content {
  min-width:0;
  padding:24px;
}

.profile-person>span {
  border-radius:12px;
  background:var(--v11-navy);
}

.profile-person small,
.profile-data p,
.profile-data small {
  font-size:.72rem;
}

.profile-data b {
  font-size:.8rem;
  overflow-wrap:break-word;
}

.profile-tabs a {
  font-size:.75rem;
}

.customer-orders article {
  border-color:var(--v11-line);
  border-radius:12px;
}

.customer-order-meta span {
  background:#f6f8fc;
}

main.prose {
  box-sizing:border-box;
  width:min(920px,calc(100% - 40px))!important;
  max-width:920px!important;
  min-height:60vh;
  margin:0 auto!important;
  padding:60px 0 82px!important;
}

main.prose>p {
  max-width:700px;
  color:var(--v11-muted);
  font-size:.95rem;
}

main.prose details,
.contact-grid article {
  border:1px solid var(--v11-line);
  border-radius:13px;
  background:#fff;
  box-shadow:var(--v11-shadow-soft);
}

main.prose details {
  margin:10px 0;
  padding:17px 19px;
}

main.prose summary {
  font-size:.95rem;
}

main.prose details p {
  color:#555d68;
  font-size:.875rem;
}

.contact-grid {
  gap:12px;
}

.contact-grid article {
  padding:20px;
}

/* Pie, WhatsApp y diálogos */
footer {
  background:var(--v11-ink);
  color:#fff;
}

.footer-grid {
  padding-block:46px 32px;
}

.footer-grid h4 {
  font-size:.88rem;
}

.footer-grid a,
.footer-grid p {
  color:#c7cfdd;
  font-size:.78rem;
}

.footer-grid a:hover {
  color:var(--v11-blue-soft);
}

.copyright {
  font-size:.72rem;
}

.whatsapp-float {
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  filter:drop-shadow(0 12px 24px rgba(40,53,91,.24));
}

.whatsapp-float-copy {
  border-radius:12px;
  background:rgba(24,21,21,.96);
}

.whatsapp-float-mark {
  width:56px;
  height:56px;
  flex-basis:56px;
  border-radius:16px;
  background:var(--v11-blue);
}

.whatsapp-float:hover .whatsapp-float-mark,
.whatsapp-float:focus-visible .whatsapp-float-mark {
  background:var(--v11-navy);
}

.ui-modal,
.customer-popup,
.session-modal {
  background:rgba(24,21,21,.7);
}

.ui-modal-card,
.customer-popup>div,
.session-modal-card {
  width:min(440px,100%);
  padding:34px;
  border:1px solid var(--v11-line);
  border-radius:var(--v11-radius-lg);
  background:#fff;
  box-shadow:0 28px 80px rgba(24,21,21,.27);
}

.ui-modal-card:before,
.customer-popup>div:before,
.session-modal-card:before {
  height:4px;
  background:var(--v11-blue);
}

.modal-symbol,
.customer-popup-icon,
.session-lock {
  border-radius:14px;
  background:#edf2fa;
  color:var(--v11-navy);
}

.ui-toast {
  border-radius:12px;
  background:var(--v11-ink);
}

@media (max-width:1120px) {
  .site-header .nav {
    grid-template-columns:auto minmax(240px,1fr) auto!important;
    gap:14px;
  }

  .site-header .nav>nav {
    position:fixed!important;
    z-index:650!important;
    inset:0 0 0 auto!important;
    display:flex!important;
    width:min(380px,100%)!important;
    height:100dvh!important;
    padding:calc(18px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom))!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    overflow-y:auto;
    border:0!important;
    border-radius:0!important;
    background:var(--v11-ink)!important;
    box-shadow:-22px 0 60px rgba(24,21,21,.28)!important;
    transform:translateX(103%)!important;
    transition:transform .24s ease!important;
  }

  .site-header .nav>nav.open {
    transform:none!important;
  }

  .site-header .nav>nav a {
    padding:13px 12px!important;
    border-radius:10px;
    color:#e9edf5!important;
    font-size:.9rem!important;
  }

  .site-header .nav>nav a:hover,
  .site-header .nav>nav a[aria-current="page"] {
    background:#262b3b!important;
    color:#fff!important;
  }

  .mobile-nav-head {
    display:flex!important;
    margin-bottom:10px;
    padding-bottom:16px;
    border-color:rgba(255,255,255,.12);
  }

  .mobile-nav-head .brand strong {
    color:#fff;
  }

  .mobile-nav-head button {
    background:#2c3142;
    color:#fff;
  }

  .mobile-account-link {
    display:flex!important;
    margin-top:auto;
    background:var(--v11-blue)!important;
    color:#fff!important;
  }

  .nav-overlay {
    z-index:640;
    background:rgba(24,21,21,.64);
  }

  .menu-toggle {
    display:grid!important;
  }

  .product-detail-page-v9 .product-detail {
    grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);
    gap:34px;
  }

  .pro-cart {
    grid-template-columns:1fr;
  }

  .pro-cart-summary {
    position:static;
  }

  .checkout-pro {
    grid-template-columns:minmax(0,1fr) 350px;
  }
}

@media (max-width:900px) {
  .site-header .nav {
    grid-template-columns:auto 1fr auto!important;
    row-gap:9px;
  }

  .nav-search {
    grid-column:1/-1!important;
    grid-row:2;
    height:44px;
  }

  .header-actions {
    grid-column:3;
    grid-row:1;
  }

  .home-hero-v9,
  .hero-v9-copy {
    min-height:520px;
  }

  .hero-v9-copy {
    width:70%;
    padding-left:36px;
  }

  .hero-v9-feature {
    display:none;
  }

  .category-grid-v9 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .category-card-v9:last-child {
    grid-column:1/-1;
  }

  .home-grid-v9 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .product-detail-page-v9 .product-detail {
    grid-template-columns:1fr;
    max-width:720px;
  }

  .product-detail-copy {
    max-width:720px;
    padding-top:4px;
  }

  .product-detail h1 {
    max-width:20ch;
  }

  .checkout-pro {
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    box-shadow:none;
  }

  .checkout-pro>.checkout-card {
    border-right:1px solid var(--v11-line)!important;
    border-radius:var(--v11-radius)!important;
    box-shadow:var(--v11-shadow-soft);
  }

  .checkout-summary {
    position:static;
    border-radius:var(--v11-radius)!important;
    box-shadow:var(--v11-shadow);
  }

  .profile-grid {
    grid-template-columns:1fr;
  }

  .profile-sidebar {
    position:static;
  }
}

@media (max-width:700px) {
  body {
    font-size:15px;
  }

  .container {
    width:calc(100% - 24px);
  }

  .announcement {
    display:none;
  }

  .site-header .nav {
    width:calc(100% - 24px);
    min-height:68px;
    padding:9px 0;
    gap:7px;
  }

  .site-header .brand>span {
    width:42px;
    height:42px;
  }

  .site-header .brand strong {
    font-size:1.05rem;
  }

  .header-actions {
    gap:5px;
  }

  .account-link,
  .header-favorites,
  .cart-link,
  .menu-toggle {
    width:41px!important;
    min-width:41px!important;
    height:41px!important;
    min-height:41px!important;
    border-radius:11px!important;
  }

  .nav-search {
    padding-left:12px;
  }

  .nav-search input {
    font-size:.82rem!important;
  }

  .home-hero-v9 {
    width:calc(100% - 16px);
    min-height:530px;
    margin-top:8px;
    border-radius:18px;
  }

  .hero-v9-media img {
    object-position:65% center;
  }

  .hero-v9-shade {
    background:linear-gradient(180deg,rgba(248,247,255,.05),rgba(248,247,255,.9) 49%,rgba(248,247,255,.99) 69%);
  }

  .hero-v9-copy {
    justify-content:flex-end;
    width:100%;
    min-height:530px;
    padding:28px 20px;
  }

  .hero-v9-copy h1 {
    max-width:16ch;
    margin:12px 0 14px;
    font-size:2.45rem;
    line-height:1.03;
  }

  .hero-v9-copy>p {
    max-width:42ch;
    font-size:.88rem;
  }

  .hero-v9-actions {
    align-items:stretch;
    flex-direction:column;
    gap:10px;
    margin-top:20px;
  }

  .hero-v9-actions .btn {
    width:100%;
  }

  .hero-v9-link {
    align-self:center;
  }

  .hero-v9-proof {
    gap:12px;
    overflow-x:auto;
    padding-bottom:2px;
  }

  .hero-v9-proof span {
    flex:0 0 auto;
    font-size:.7rem;
  }

  .home-service-v9 {
    width:calc(100% - 24px);
  }

  .home-service-v9 article {
    min-height:78px;
    padding:14px 16px;
    border-right:0;
    border-bottom:1px solid var(--v11-line);
  }

  .home-service-v9 article:last-child {
    border-bottom:0;
  }

  .home-section-v9 {
    padding-top:52px;
    padding-bottom:52px;
  }

  .section-head-v9 {
    display:block;
    margin-bottom:22px;
  }

  .section-head-v9 h2,
  .section-head-v9.light h2,
  .newest-section-v9 .section-head-v9 h2 {
    font-size:2rem;
  }

  .section-head-v9>p,
  .section-head-v9>a {
    margin-top:10px;
  }

  .category-grid-v9 {
    grid-template-columns:1fr;
  }

  .category-card-v9,
  .category-card-v9:nth-child(2) {
    min-height:240px;
  }

  .category-card-v9:last-child {
    grid-column:auto;
  }

  .home-grid-v9,
  .product-grid,
  .basic-products,
  .shop-products,
  .saved-products {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 8px;
  }

  .product-card {
    padding:6px;
    border-radius:13px!important;
  }

  .product-copy,
  .basic-products .product-copy,
  .shop-products .product-copy {
    padding:10px 3px 3px!important;
  }

  .product-copy>small {
    font-size:.66rem;
  }

  .product-copy h3,
  .shop-products .product-copy h3 {
    min-height:38px!important;
    font-size:.84rem;
    line-height:1.38;
  }

  .product-copy>p {
    display:none;
  }

  .product-price-row {
    min-height:48px;
    padding-top:5px;
  }

  .product-price-row strong {
    font-size:.95rem;
  }

  .product-price-row>small {
    display:none;
  }

  .card-add-form {
    grid-template-columns:1fr!important;
  }

  .quantity-picker.compact {
    display:none;
  }

  .card-cart-button {
    height:41px!important;
  }

  .card-cart-button span {
    font-size:.7rem;
  }

  .home-spotlight-v9 {
    grid-template-columns:1fr;
    width:calc(100% - 24px);
    min-height:auto;
    margin-top:52px;
    margin-bottom:52px;
    border-radius:18px;
  }

  .spotlight-image-v9 {
    min-height:310px;
  }

  .spotlight-copy-v9 {
    padding:28px 20px;
  }

  .spotlight-copy-v9 h2 {
    font-size:2rem;
  }

  .spotlight-actions-v9 {
    align-items:stretch;
    flex-direction:column;
  }

  .spotlight-actions-v9 .btn {
    width:100%;
  }

  .newest-section-v9 {
    width:calc(100% - 16px);
    border-radius:18px;
  }

  .newest-section-v9 .section-head-v9,
  .newest-grid-v9 {
    padding-inline:4px;
  }

  .home-cta-v9 {
    width:calc(100% - 24px);
    margin-bottom:52px;
    padding:30px 22px;
    align-items:stretch;
    flex-direction:column;
  }

  .home-cta-v9 h2 {
    font-size:2rem;
  }

  .shop-title {
    padding-top:38px;
  }

  .shop-title h1,
  .cart-heading h1,
  .checkout-heading h1,
  main.prose>h1 {
    font-size:2.2rem;
  }

  .shop-title p,
  .cart-heading p,
  .checkout-heading p {
    font-size:.85rem;
  }

  .shop-layout {
    grid-template-columns:1fr;
    padding-top:18px;
  }

  .shop-sidebar {
    position:fixed!important;
    z-index:420;
    inset:auto 0 0!important;
    width:100%;
    max-height:88dvh;
    border:0!important;
    border-radius:22px 22px 0 0!important;
    box-shadow:0 -22px 65px rgba(24,21,21,.24);
    transform:translateY(103%);
  }

  .shop-sidebar.open {
    transform:none;
  }

  .shop-sidebar form {
    max-height:88dvh;
    padding-bottom:calc(22px + env(safe-area-inset-bottom));
  }

  .filter-open-button {
    display:flex;
  }

  .shop-toolbar-start>span {
    display:none!important;
  }

  .product-detail-page-v9 {
    padding:26px 12px 64px;
  }

  .product-detail-page-v9 .breadcrumbs {
    margin-bottom:16px;
    font-size:.72rem;
  }

  .product-detail-page-v9 .product-detail {
    gap:24px;
  }

  .detail-image {
    border-radius:14px;
  }

  .product-detail h1 {
    max-width:18ch;
    margin:10px 0 13px;
    font-size:2.15rem;
    line-height:1.08;
  }

  .product-detail .lead {
    font-size:.92rem;
  }

  .product-detail-copy>p:not(.lead):not(.stock) {
    font-size:.84rem;
  }

  .detail-price {
    margin:18px 0 15px;
  }

  .detail-price strong {
    font-size:1.7rem;
  }

  .product-purchase-panel,
  .product-add-form {
    grid-template-columns:1fr!important;
  }

  .favorite-detail {
    width:100%;
    min-width:0;
  }

  .related-products {
    margin-top:52px;
    padding-top:38px;
  }

  .cart-shell,
  .checkout-shell {
    padding:38px 0 96px;
  }

  .cart-heading,
  .checkout-heading {
    display:block;
  }

  .cart-count-copy,
  .secure-chip {
    display:none;
  }

  .cart-progress-v9 {
    grid-template-columns:1fr;
    margin-bottom:16px;
  }

  .cart-progress-v9>span {
    min-height:58px;
    border-right:0;
    border-bottom:1px solid var(--v11-line);
  }

  .cart-progress-v9>span:not(.active) {
    display:none;
  }

  .cart-list-pro {
    padding:0 14px;
    border-radius:14px;
  }

  .cart-table-head {
    display:none;
  }

  .cart-row-pro {
    position:relative;
    grid-template-columns:82px minmax(0,1fr) auto;
    grid-template-areas:
      "image copy remove"
      "image quantity total";
    gap:10px 12px;
    padding:16px 0;
  }

  .cart-product-image {
    grid-area:image;
    width:82px;
    height:82px;
    align-self:start;
  }

  .cart-product-copy {
    grid-area:copy;
  }

  .cart-product-copy small {
    font-size:.65rem;
  }

  .cart-product-copy h3 {
    margin:4px 0 5px;
    font-size:.88rem;
  }

  .cart-product-copy>b,
  .cart-product-copy>span {
    font-size:.68rem;
  }

  .quantity-control {
    grid-area:quantity;
    width:114px;
    height:38px;
  }

  .quantity-control button {
    width:34px;
  }

  .quantity-control input {
    width:46px;
  }

  .cart-line-price {
    grid-area:total;
    align-self:center;
    font-size:.82rem;
  }

  .remove-form {
    grid-area:remove;
  }

  .remove-form button {
    width:34px;
    height:34px;
  }

  .cart-footer-actions {
    align-items:center;
    font-size:.72rem;
  }

  .pro-cart-summary {
    padding:22px;
    border-radius:14px;
  }

  .mobile-cart-bar {
    position:fixed;
    z-index:240;
    right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    left:10px;
    display:flex;
    min-height:68px;
    padding:9px 9px 9px 14px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid rgba(163,209,236,.24);
    border-radius:16px;
    background:rgba(24,21,21,.96);
    color:#fff;
    box-shadow:0 18px 45px rgba(24,21,21,.28);
    backdrop-filter:blur(14px);
  }

  .mobile-cart-bar span small,
  .mobile-cart-bar span strong {
    display:block;
  }

  .mobile-cart-bar span small {
    color:#bfc9dc;
    font-size:.65rem;
  }

  .mobile-cart-bar span strong {
    margin-top:2px;
    font-size:1rem;
  }

  .mobile-cart-bar .btn {
    min-height:48px;
    padding-inline:17px;
    background:var(--v11-blue);
  }

  body:has(.mobile-cart-bar) .whatsapp-float {
    bottom:96px;
  }

  .checkout-progress {
    display:grid;
    grid-template-columns:repeat(4,minmax(116px,1fr));
    margin:22px auto 16px;
    padding:13px;
    overflow-x:auto;
  }

  .checkout-progress>div:after {
    display:none;
  }

  .checkout-pro>.checkout-card {
    min-height:0;
    padding:24px 17px 0;
    border-radius:14px!important;
  }

  .checkout-pro .checkout-step h2 {
    font-size:1.75rem;
  }

  .delivery-choice-grid,
  .pro-choices {
    grid-template-columns:1fr;
  }

  .pro-choices span {
    min-height:118px;
  }

  .pro-choices svg {
    margin-bottom:12px;
  }

  .form-grid {
    grid-template-columns:1fr;
  }

  .checkout-actions {
    position:sticky;
    z-index:5;
    bottom:0;
    margin:24px -17px 0;
    padding:12px 17px calc(12px + env(safe-area-inset-bottom));
    flex-wrap:wrap;
    gap:8px;
    border-top:1px solid var(--v11-line);
    border-radius:0 0 14px 14px;
    background:rgba(255,255,255,.96);
    box-shadow:0 -10px 24px rgba(40,53,91,.06);
    backdrop-filter:blur(12px);
  }

  .checkout-actions .next-button {
    width:100%;
    margin:0;
  }

  .checkout-actions .btn.ghost {
    width:100%;
  }

  .checkout-summary {
    padding:22px;
    border-radius:14px!important;
  }

  .profile-hero-v9 {
    width:calc(100% - 24px);
    min-height:auto;
    margin:18px auto;
    padding:28px 20px;
    align-items:flex-start;
    flex-direction:column;
    border-radius:18px;
  }

  .profile-hero-v9 h1 {
    font-size:2.25rem;
  }

  .profile-hero-v9 .profile-logout {
    width:100%;
    margin:20px 0 0;
    padding:0 16px;
    font-size:.82rem;
  }

  .profile-hero-metrics {
    width:100%;
    overflow-x:auto;
  }

  .profile-hero-metrics span {
    flex:1 0 90px;
  }

  .profile-grid {
    width:calc(100% - 24px);
  }

  .profile-sidebar,
  .profile-content {
    padding:18px;
  }

  .profile-content-head {
    align-items:flex-start;
    flex-direction:column;
  }

  .profile-content-head h2 {
    font-size:1.45rem;
  }

  main.prose {
    width:calc(100% - 24px)!important;
    padding:42px 0 64px!important;
  }

  main.prose details {
    padding:15px 16px;
  }

  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:26px 18px;
    padding-block:38px 28px;
  }

  .footer-brand,
  .footer-visit {
    grid-column:1/-1;
  }

  .footer-visit {
    grid-template-columns:1fr;
  }

  .whatsapp-float {
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
  }

  .whatsapp-float-copy {
    display:none;
  }

  .whatsapp-float-mark {
    width:52px;
    height:52px;
    flex-basis:52px;
    border-radius:15px;
  }

  .ui-modal,
  .customer-popup {
    align-items:end!important;
    padding:0!important;
  }

  .ui-modal-card,
  .customer-popup>div {
    width:100%;
    max-width:none;
    padding:30px 20px calc(22px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0!important;
  }
}

@media (max-width:420px) {
  .site-header .brand strong {
    display:none;
  }

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

  .hero-v9-copy h1 {
    font-size:2.25rem;
  }

  .product-detail h1 {
    font-size:1.95rem;
  }

  .cart-row-pro {
    grid-template-columns:76px minmax(0,1fr) auto;
    gap:9px;
  }

  .cart-product-image {
    width:76px;
    height:76px;
  }

  .mobile-cart-bar .btn {
    padding-inline:13px;
  }

  .checkout-summary .summary-products>div {
    grid-template-columns:50px minmax(0,1fr) auto;
    gap:9px!important;
  }

  .checkout-summary .summary-thumb {
    width:48px;
    height:48px;
  }
}

/* V11.1 · menú móvil compacto y accesible */
.mobile-nav-intro,
.mobile-nav-icon,
.mobile-nav-chevron,
.mobile-nav-copy small,
.mobile-nav-help {
  display:none;
}

.mobile-nav-links,
.mobile-nav-footer {
  display:contents;
}

.mobile-nav-copy,
.mobile-nav-copy strong {
  display:inline;
}

@media (max-width:1120px) {
  .site-header .nav>nav {
    top:max(8px,env(safe-area-inset-top))!important;
    right:max(8px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    left:auto!important;
    width:min(360px,calc(100vw - 20px))!important;
    height:auto!important;
    max-height:none!important;
    padding:20px 18px!important;
    gap:0!important;
    overscroll-behavior:contain;
    border:1px solid rgba(255,255,255,.1)!important;
    border-radius:24px!important;
    background:
      radial-gradient(circle at 100% 0,rgba(133,165,255,.16),transparent 34%),
      linear-gradient(160deg,#181515 0%,#1d202b 100%)!important;
    box-shadow:-28px 0 80px rgba(11,13,22,.34),0 18px 60px rgba(11,13,22,.24)!important;
    transform:translateX(calc(100% + 24px))!important;
    transition:transform .28s cubic-bezier(.22,.8,.24,1)!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(163,209,236,.35) transparent;
  }

  .site-header .nav>nav.open {
    transform:none!important;
  }

  .site-header .nav>nav::-webkit-scrollbar {
    width:5px;
  }

  .site-header .nav>nav::-webkit-scrollbar-thumb {
    border-radius:999px;
    background:rgba(163,209,236,.3);
  }

  .mobile-nav-head {
    min-height:54px;
    margin:0 0 19px!important;
    padding:0 0 17px!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
  }

  .mobile-nav-head .brand {
    min-width:0;
    pointer-events:none;
  }

  .mobile-nav-head .brand>span {
    width:42px;
    height:42px;
    border-radius:12px;
  }

  .mobile-nav-head .brand strong {
    color:#fff!important;
    font-size:1.08rem;
  }

  .mobile-nav-head .brand small {
    color:var(--v11-blue-soft)!important;
  }

  .mobile-nav-head button {
    display:grid;
    width:42px!important;
    height:42px!important;
    padding:0!important;
    place-items:center;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
  }

  .mobile-nav-head button:hover {
    border-color:rgba(163,209,236,.45)!important;
    background:rgba(163,209,236,.14)!important;
    transform:rotate(4deg);
  }

  .mobile-nav-intro {
    display:block;
    margin:0 4px 12px;
  }

  .mobile-nav-intro small,
  .mobile-nav-intro strong {
    display:block;
  }

  .mobile-nav-intro small {
    margin-bottom:5px;
    color:var(--v11-blue-soft);
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.14em;
  }

  .mobile-nav-intro strong {
    color:#fff;
    font-size:1.08rem;
    letter-spacing:-.015em;
  }

  .mobile-nav-links {
    display:grid;
    gap:5px;
  }

  .site-header .nav>nav .mobile-nav-links>a,
  .site-header .nav>nav .mobile-account-link {
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 18px;
    min-height:61px;
    padding:8px 10px!important;
    align-items:center!important;
    gap:11px!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    color:#e9edf5!important;
    text-align:left;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
  }

  .site-header .nav>nav .mobile-nav-links>a:after,
  .site-header .nav>nav .mobile-account-link:after {
    display:none!important;
  }

  .site-header .nav>nav .mobile-nav-links>a:hover,
  .site-header .nav>nav .mobile-nav-links>a[aria-current="page"] {
    border-color:rgba(163,209,236,.16)!important;
    background:rgba(133,165,255,.11)!important;
    color:#fff!important;
  }

  .site-header .nav>nav .mobile-nav-links>a:hover {
    transform:translateX(2px);
  }

  .site-header .nav>nav .mobile-nav-links>a[aria-current="page"] {
    box-shadow:inset 3px 0 0 var(--v11-periwinkle)!important;
  }

  .mobile-nav-icon,
  .mobile-nav-chevron {
    display:grid;
    place-items:center;
  }

  .mobile-nav-icon {
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;
    background:rgba(255,255,255,.055);
    color:var(--v11-blue-soft);
  }

  a[aria-current="page"] .mobile-nav-icon {
    border-color:rgba(133,165,255,.3);
    background:rgba(133,165,255,.18);
    color:#fff;
  }

  .mobile-nav-chevron {
    color:rgba(248,247,255,.42);
    transition:transform .18s ease,color .18s ease;
  }

  .site-header .nav>nav a:hover .mobile-nav-chevron {
    color:var(--v11-blue-soft);
    transform:translateX(2px);
  }

  .mobile-nav-copy {
    display:flex;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    line-height:1.1;
  }

  .mobile-nav-copy strong,
  .mobile-nav-copy small {
    display:block;
  }

  .mobile-nav-copy strong {
    color:inherit;
    font-size:.88rem;
    font-weight:780;
  }

  .mobile-nav-copy small {
    overflow:hidden;
    max-width:100%;
    color:rgba(233,237,245,.58);
    font-size:.68rem;
    font-weight:560;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .mobile-nav-footer {
    display:grid;
    margin-top:auto;
    padding-top:18px;
    gap:9px;
  }

  .mobile-nav-help {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:rgba(233,237,245,.64);
    font-size:.66rem;
    font-weight:650;
  }

  .site-header .nav>nav .mobile-account-link {
    margin:0!important;
    border-color:transparent!important;
    background:var(--v11-periwinkle)!important;
    color:#121623!important;
    box-shadow:0 14px 34px rgba(88,117,198,.24)!important;
  }

  .site-header .nav>nav .mobile-account-link:hover {
    border-color:transparent!important;
    background:var(--v11-blue-soft)!important;
    color:#121623!important;
    transform:translateY(-1px);
  }

  .mobile-account-link .mobile-nav-icon {
    border-color:rgba(18,22,35,.1);
    background:rgba(255,255,255,.28);
    color:#121623;
  }

  .mobile-account-link .mobile-nav-copy small,
  .mobile-account-link .mobile-nav-chevron {
    color:rgba(18,22,35,.62);
  }

  .site-header .nav>nav .mobile-nav-head,
  .site-header .nav>nav .mobile-nav-intro,
  .site-header .nav>nav .mobile-nav-links>a,
  .site-header .nav>nav .mobile-nav-footer {
    opacity:0;
    transform:translateX(9px);
    transition:opacity .2s ease,transform .24s ease,background-color .18s ease,border-color .18s ease;
  }

  .site-header .nav>nav.open .mobile-nav-head,
  .site-header .nav>nav.open .mobile-nav-intro,
  .site-header .nav>nav.open .mobile-nav-links>a,
  .site-header .nav>nav.open .mobile-nav-footer {
    opacity:1;
    transform:none;
  }

  .site-header .nav>nav.open .mobile-nav-head {transition-delay:.05s}
  .site-header .nav>nav.open .mobile-nav-intro {transition-delay:.075s}
  .site-header .nav>nav.open .mobile-nav-links>a:nth-child(1) {transition-delay:.09s}
  .site-header .nav>nav.open .mobile-nav-links>a:nth-child(2) {transition-delay:.11s}
  .site-header .nav>nav.open .mobile-nav-links>a:nth-child(3) {transition-delay:.13s}
  .site-header .nav>nav.open .mobile-nav-links>a:nth-child(4) {transition-delay:.15s}
  .site-header .nav>nav.open .mobile-nav-links>a:nth-child(5) {transition-delay:.17s}
  .site-header .nav>nav.open .mobile-nav-footer {transition-delay:.19s}

  .site-header .nav-overlay {
    position:fixed!important;
    z-index:640!important;
    inset:0!important;
    display:block!important;
    background:rgba(10,12,19,.58)!important;
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
  }

  .site-header .nav-overlay.open {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .site-header .nav-overlay[hidden] {
    display:none!important;
  }

  .menu-toggle {
    align-content:center;
    justify-content:center;
    gap:4px;
  }

  .menu-toggle span {
    width:19px!important;
    height:2px!important;
    margin:0!important;
    border-radius:999px;
    transition:transform .2s ease,opacity .16s ease,background-color .18s ease;
  }

  .menu-toggle.open span:first-child {
    transform:translateY(6px) rotate(45deg);
  }

  .menu-toggle.open span:nth-child(2) {
    opacity:0;
    transform:scaleX(.45);
  }

  .menu-toggle.open span:last-child {
    transform:translateY(-6px) rotate(-45deg);
  }

  .menu-toggle:hover,
  .menu-toggle:focus-visible {
    border-color:var(--v11-navy)!important;
    background:var(--v11-navy)!important;
  }

  .menu-toggle:hover span,
  .menu-toggle:focus-visible span {
    background:#fff;
  }

  .site-header .nav>nav a:focus-visible,
  .mobile-nav-head button:focus-visible {
    outline:3px solid rgba(163,209,236,.42);
    outline-offset:2px;
  }
}

@media (max-width:700px) {
  .site-header .nav>nav {
    top:max(6px,env(safe-area-inset-top))!important;
    right:max(6px,env(safe-area-inset-right))!important;
    bottom:max(6px,env(safe-area-inset-bottom))!important;
    width:min(344px,calc(100vw - 12px))!important;
    padding:18px 15px!important;
    border-radius:22px!important;
  }
}

@media (max-height:680px) and (max-width:1120px) {
  .mobile-nav-head {
    margin-bottom:12px!important;
    padding-bottom:12px!important;
  }

  .mobile-nav-intro {
    margin-bottom:8px;
  }

  .mobile-nav-intro strong,
  .mobile-nav-copy small,
  .mobile-nav-help {
    display:none;
  }

  .site-header .nav>nav .mobile-nav-links>a,
  .site-header .nav>nav .mobile-account-link {
    min-height:52px;
  }

  .mobile-nav-footer {
    padding-top:10px;
  }
}

@media (prefers-reduced-motion:reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior:auto!important;
  }

  .product-card,
  .btn,
  .site-header .nav>nav,
  .site-header .nav>nav *,
  .site-header .nav-overlay,
  .menu-toggle span {
    transition:none!important;
  }
}

/* Corrección del menú hamburguesa recortado en Safari/iPhone */
@media (max-width:1120px) {
  .site-header,
  .site-header.scrolled {
    overflow:visible !important;
    transform:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .site-header .nav {
    overflow:visible !important;
  }

  .site-header .nav > nav {
    position:fixed !important;
    top:max(8px, env(safe-area-inset-top)) !important;
    right:max(8px, env(safe-area-inset-right)) !important;
    bottom:max(8px, env(safe-area-inset-bottom)) !important;
    left:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
  }
}