/* --cat-black y --cat-panel eran el fondo negro y el panel oscuro del catálogo.
   Al pasar a tema claro se INVIERTEN: el fondo pasa a lino y el panel a papel.
   Es el único cambio que la conversión automática no podía deducir. */
:root{--cat-gold:var(--c-salvia);--cat-gold-dark:var(--c-salvia-alt);--cat-wine:var(--c-granada);--cat-rose:var(--c-granada);--cat-black:var(--c-lino);--cat-panel:var(--c-papel);--cat-line:var(--c-linea)}
*{box-sizing:border-box}.catalog-page{margin:0;background:radial-gradient(circle at 50% -10%,var(--c-granada-alt) 0,transparent 28%),var(--cat-black);color:var(--c-papel);min-height:100vh}.catalog-page a{text-decoration:none}.catalog-promise{height:36px;display:flex;align-items:center;justify-content:center;gap:clamp(18px,6vw,75px);padding:0 18px;background:linear-gradient(90deg,var(--c-salvia-alt),var(--c-salvia),var(--c-salvia-alt));color:var(--c-tinta);font-size:var(--f-xs);font-weight:var(--p-fuerte);text-transform:uppercase;letter-spacing:.12em}.catalog-promise span{display:flex;gap:7px;align-items:center}.catalog-header{position:sticky;top:0;z-index:var(--z-pegado);background:color-mix(in srgb, var(--c-tinta) 94%, transparent);border-bottom:1px solid var(--cat-line);backdrop-filter:blur(20px);box-shadow:0 15px 55px color-mix(in srgb, var(--c-tinta) 53%, transparent)}.catalog-header__inner{height:94px;max-width:1440px;margin:auto;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.catalog-home{display:flex;align-items:center;gap:10px;color:var(--c-lino-hondo);text-transform:uppercase;letter-spacing:.13em;font-size:var(--f-xs)}.catalog-home:hover{color:var(--cat-gold)}.catalog-actions{display:flex;justify-content:flex-end;gap:12px}.catalog-actions button{width:48px;height:48px;border-radius:50%;border:1px solid var(--cat-line);background:var(--c-tinta);color:var(--cat-gold);font-size:var(--f-md);position:relative}.catalog-cart span{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--cat-gold);color:var(--c-tinta);font-size:var(--f-xs);font-weight:var(--p-fuerte)}
.catalog-intro{max-width:1320px;margin:0 auto;padding:90px 30px 62px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:end}.catalog-intro h1{font:500 clamp(3.2rem,7vw,7.4rem)/.9 Georgia,serif;letter-spacing:-.055em;margin:.15em 0 .25em;max-width:900px}.catalog-intro h1 em{color:var(--cat-gold);font-weight:var(--p-medio)}.catalog-intro>div>p:last-child{font-size:var(--f-lg);color:var(--c-lino-hondo);max-width:650px}.catalog-intro aside{border:1px solid var(--cat-line);padding:27px;background:linear-gradient(145deg,var(--c-tinta),var(--c-tinta));border-radius:var(--r-lg);display:grid;gap:8px;box-shadow:0 25px 65px color-mix(in srgb, var(--c-tinta) 53%, transparent)}.catalog-intro aside i{color:var(--cat-gold);font-size:var(--f-2xl);margin-bottom:7px}.catalog-intro aside strong{font-family:Georgia,serif;font-size:var(--f-lg)}.catalog-intro aside span{font-size:var(--f-sm);color:var(--c-tinta-3)}
.catalog-controls{max-width:1320px;margin:auto;padding:0 30px 48px}.catalog-search{max-width:680px;margin:0 auto 42px;position:relative;display:flex;align-items:center;gap:12px;background:var(--c-tinta);border:1px solid color-mix(in srgb, var(--c-salvia) 31%, transparent);border-radius:var(--r-redondo);padding:6px 16px 6px 22px;box-shadow:0 20px 60px color-mix(in srgb, var(--c-tinta) 47%, transparent)}.catalog-search:focus-within{border-color:var(--cat-gold);box-shadow:0 20px 65px color-mix(in srgb, var(--c-tinta) 53%, transparent),0 0 30px color-mix(in srgb, var(--c-salvia) 13%, transparent)}.catalog-search>i{color:var(--cat-gold)}.catalog-search input{flex:1;background:transparent;border:0;color:var(--c-papel);outline:0;padding:14px 0;font:500 1rem inherit}.catalog-search button{background:none;border:0;color:var(--c-tinta-3);width:36px;height:36px}.search-dropdown{position:absolute;top:calc(100% + 10px);left:12px;right:12px;background:var(--c-tinta);border:1px solid color-mix(in srgb, var(--c-salvia) 25%, transparent);border-radius:var(--r-md);box-shadow:0 25px 75px color-mix(in srgb, var(--c-tinta) 87%, transparent);overflow:hidden;display:none;z-index:var(--z-flotante)}.search-dropdown.is-visible{display:block}.search-result{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid color-mix(in srgb, var(--c-papel) 5%, transparent);cursor:pointer}.search-result:hover{background:var(--c-tinta)}.search-result img{width:48px;height:48px;object-fit:contain;border-radius:var(--r-sm);background:var(--c-tinta)}.search-result strong{font-size:var(--f-sm)}.search-result small{color:var(--cat-gold);font-weight:var(--p-fuerte)}.category-rail-wrap{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px}.rail-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--cat-line);background:var(--c-tinta);color:var(--cat-gold)}.category-rail{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:8px 5px 14px}.category-rail::-webkit-scrollbar{display:none}.category-orb{min-width:90px;border:0;background:none;color:var(--c-tinta-3);display:grid;justify-items:center;gap:9px;cursor:pointer}.category-orb span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1px solid color-mix(in srgb, var(--c-salvia) 22%, transparent);background:radial-gradient(circle at 35% 20%,var(--c-tinta),var(--c-tinta));font-size:var(--f-lg);transition:var(--m-lento)}.category-orb small{font-size:var(--f-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--p-fuerte)}.category-orb:hover span,.category-orb.is-active span{transform:translateY(-4px) scale(1.05);border-color:var(--cat-gold);color:var(--c-tinta);background:linear-gradient(135deg,var(--c-salvia),var(--c-salvia-alt));box-shadow:0 12px 35px color-mix(in srgb, var(--c-salvia) 21%, transparent)}.category-orb.is-active small{color:var(--cat-gold)}
.catalog-products{max-width:1440px;margin:auto;padding:42px 30px 110px}.catalog-products__heading{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid var(--cat-line)}.catalog-products__heading h2{font:500 clamp(2.2rem,5vw,4.3rem)/1 Georgia,serif;margin:.15em 0}.catalog-products__heading>p{color:var(--c-tinta-3)}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.catalog-card{background:linear-gradient(160deg,var(--c-tinta),var(--c-tinta) 75%);border:1px solid color-mix(in srgb, var(--c-salvia) 15%, transparent);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 22px 65px color-mix(in srgb, var(--c-tinta) 47%, transparent);display:flex;flex-direction:column;transition:var(--m-lento)}.catalog-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb, var(--c-salvia) 46%, transparent);box-shadow:0 32px 85px color-mix(in srgb, var(--c-tinta) 80%, transparent)}.catalog-card__image{position:relative;aspect-ratio:4/5;background:radial-gradient(circle,var(--c-granada-alt) 0,var(--c-tinta) 70%);overflow:hidden;cursor:pointer}.catalog-card__image img{width:100%;height:100%;object-fit:contain;padding:12px;filter:drop-shadow(0 18px 20px color-mix(in srgb, var(--c-tinta) 53%, transparent));transition:var(--m-lento)}.catalog-card:hover img{transform:scale(1.05)}.catalog-badge{position:absolute;left:12px;top:12px;border:1px solid color-mix(in srgb, var(--c-salvia) 42%, transparent);background:color-mix(in srgb, var(--c-tinta) 85%, transparent);color:var(--c-salvia);border-radius:var(--r-redondo);padding:6px 9px;font-size:var(--f-xs);text-transform:uppercase;letter-spacing:.09em}.catalog-card__body{display:flex;flex:1;flex-direction:column;padding:15px}.catalog-card__category{color:var(--cat-rose);font-size:var(--f-xs);text-transform:uppercase;letter-spacing:.13em}.catalog-card h3{font:600 1.04rem/1.25 Georgia,serif;margin:7px 0 12px;min-height:2.5em}.catalog-card__pricing{display:flex;justify-content:space-between;align-items:end;margin-top:auto;border-top:1px solid color-mix(in srgb, var(--c-papel) 5%, transparent);padding-top:13px}.catalog-card__price strong{display:block;color:var(--cat-gold);font-size:var(--f-lg)}.catalog-card__price small{font-size:var(--f-xs);color:var(--c-tinta-3)}.catalog-card__actions{display:flex;gap:7px}.catalog-card__actions button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.quick-button{border:1px solid var(--cat-line);background:var(--c-tinta);color:var(--c-lino-hondo)}.add-button-catalog{border:0;background:linear-gradient(135deg,var(--c-salvia),var(--c-salvia-alt));color:var(--c-tinta);box-shadow:0 8px 22px color-mix(in srgb, var(--c-salvia) 21%, transparent)}.add-button-catalog:disabled{filter:grayscale(1);opacity:.45}.catalog-skeleton{aspect-ratio:3/5;border-radius:var(--r-lg);background:linear-gradient(100deg,var(--c-tinta),var(--c-tinta),var(--c-tinta));background-size:200% 100%;animation:cat-shimmer var(--m-lento) infinite}@keyframes cat-shimmer{to{background-position:-200% 0}}.catalog-empty{text-align:center;padding:70px}.catalog-empty i{font-size:var(--f-3xl);color:var(--cat-gold)}
.catalog-assistance{max-width:1280px;margin:0 auto 110px;padding:35px;display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:32px;border:1px solid color-mix(in srgb, var(--c-salvia) 33%, transparent);border-radius:var(--r-lg);background:radial-gradient(circle at 10% 10%,var(--c-granada-alt),transparent 34%),linear-gradient(135deg,var(--c-granada-alt),var(--c-tinta));box-shadow:0 35px 100px color-mix(in srgb, var(--c-tinta) 80%, transparent)}.catalog-assistance img{width:140px;border-radius:var(--r-md)}.catalog-assistance h2{font:500 clamp(2rem,4vw,3.5rem)/1 Georgia,serif;margin:5px 0 12px}.catalog-assistance p{color:var(--c-lino-hondo)}.catalog-footer{padding:55px 30px 35px;border-top:1px solid var(--cat-line);display:grid;justify-items:center;gap:24px;background:var(--c-tinta)}.catalog-footer img{width:180px;border-radius:var(--r-md)}.catalog-footer div{display:flex;gap:28px}.catalog-footer a{color:var(--c-lino-hondo)}.catalog-footer p{font-size:var(--f-xs);color:var(--c-tinta-3)}
.age-gate__logo{width:190px;height:190px;object-fit:cover;border-radius:var(--r-md);margin:auto}.product-modal__panel{background:linear-gradient(145deg,var(--c-tinta),var(--c-tinta));border-color:color-mix(in srgb, var(--c-salvia) 33%, transparent)}.cart-drawer{background:var(--c-tinta);border-left:1px solid color-mix(in srgb, var(--c-salvia) 27%, transparent)}.cart-drawer__header,.cart-drawer__footer{background:var(--c-tinta)}.toast{background:var(--c-tinta);border:1px solid var(--cat-gold);color:var(--c-papel)}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-intro{grid-template-columns:1fr}.catalog-intro aside{display:none}.catalog-assistance{grid-template-columns:100px 1fr}.catalog-assistance img{width:100px}.catalog-assistance .button{grid-column:1/-1;justify-self:center}}
@media(max-width:680px){.catalog-promise{gap:14px}.catalog-promise span:nth-child(2){display:none}.catalog-header__inner{height:76px;padding:0 14px}.catalog-home span{display:none}.catalog-actions button{width:42px;height:42px}.catalog-intro{padding:65px 16px 36px}.catalog-intro h1{font-size:clamp(3.1rem,16vw,5.2rem)}.catalog-controls{padding:0 12px 30px}.catalog-search{margin-bottom:26px}.category-rail-wrap{grid-template-columns:1fr}.rail-arrow{display:none}.category-rail{gap:13px}.category-orb{min-width:72px}.category-orb span{width:56px;height:56px}.catalog-products{padding:30px 10px 80px}.catalog-products__heading{align-items:start;display:block}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-card{border-radius:var(--r-md)}.catalog-card__body{padding:11px}.catalog-card h3{font-size:var(--f-sm);margin:5px 0 10px}.catalog-card__price strong{font-size:var(--f-md)}.catalog-card__actions{gap:4px}.catalog-card__actions button{width:31px;height:31px}.catalog-assistance{margin:0 12px 90px;padding:23px;grid-template-columns:70px 1fr;gap:17px}.catalog-assistance img{width:70px}.catalog-assistance h2{font-size:var(--f-2xl)}.catalog-assistance p:not(.eyebrow){font-size:var(--f-sm)}.catalog-footer div{gap:16px;font-size:var(--f-xs)}}

/* ============================================================================
   BOTICA — conversión del catálogo a tema claro
   Fase 1. Va al final del fichero a propósito: así se ve de un vistazo TODO lo
   que cambia respecto al diseño oscuro anterior, en vez de quedar disperso
   entre 120 reglas minificadas.

   El motivo está medido: 21 de las 35 fotos de producto están compuestas sobre
   #efe9e7. Sobre el fondo oscuro anterior cada tarjeta era un rectángulo blanco
   recortado contra negro. La superficie de --c-lino es de la misma familia que
   el fondo de las fotos, así que el producto deja de venir en una caja.
   ========================================================================== */

.catalog-page { background: var(--c-lino); color: var(--c-tinta); }

/* Barra de promesas: pasa a ser la superficie de confianza (salvia) en vez de
   texto oscuro sobre degradado dorado, que medía 2,74:1. */
.catalog-promise { background: var(--c-salvia); color: var(--c-salvia-piel); letter-spacing: var(--tr-etiqueta); }

.catalog-header { background: color-mix(in srgb, var(--c-lino) 90%, transparent); border-bottom-color: var(--c-linea); box-shadow: none; }
.catalog-header__inner { height: 76px; }
.catalog-home { color: var(--c-tinta-2); letter-spacing: var(--tr-normal); text-transform: none; font-size: var(--f-sm); }
.catalog-home:hover { color: var(--c-granada); }
.catalog-actions button { background: var(--c-papel); border-color: var(--c-linea-fuerte); color: var(--c-tinta); width: var(--toque); height: var(--toque); }
.catalog-cart span { background: var(--c-granada); color: var(--c-papel); }

.catalog-intro h1 { color: var(--c-tinta); }
/* El selector de origen es .catalog-intro>div>p:last-child y gana por
   especificidad: hay que igualarla o el parrafo se queda en gris claro. */
.catalog-intro p,
.catalog-intro > div > p:last-child { color: var(--c-tinta-2); }
.catalog-intro aside { background: var(--c-salvia-piel); border-color: var(--c-linea); }
.catalog-intro aside i, .catalog-intro aside strong { color: var(--c-salvia); }
.catalog-intro aside span { color: var(--c-tinta-2); }

.catalog-search { background: var(--c-papel); border-color: var(--c-linea-fuerte); box-shadow: var(--s-1); }
.catalog-search:focus-within { border-color: var(--c-granada); box-shadow: var(--s-2); }
.catalog-search > i { color: var(--c-tinta-3); }
.catalog-search input { color: var(--c-tinta); }
.catalog-search input::placeholder { color: var(--c-tinta-3); }
.catalog-search button { color: var(--c-tinta-3); width: var(--toque); height: var(--toque); }
.search-dropdown { background: var(--c-papel); border-color: var(--c-linea); box-shadow: var(--s-3); }
.search-result { border-bottom-color: var(--c-linea); }
.search-result:hover { background: var(--c-lino); }
.search-result img { background: var(--c-lino); }
.search-result small { color: var(--c-granada); }

/* Las pastillas de categoría: el círculo activo pasa a granada sólido. Antes
   era un degradado dorado con texto oscuro y medía 1,60:1. */
.category-orb { color: var(--c-tinta-2); min-height: var(--toque); }
.category-orb span { background: var(--c-papel); border-color: var(--c-linea-fuerte); color: var(--c-tinta-2); }
.category-orb:hover span, .category-orb.is-active span { background: var(--c-granada); border-color: var(--c-granada); color: var(--c-papel); box-shadow: var(--s-2); }
.category-orb.is-active small { color: var(--c-granada); }
.rail-arrow { background: var(--c-papel); border-color: var(--c-linea-fuerte); color: var(--c-tinta); width: var(--toque); height: var(--toque); }

/* La ficha de producto. Fondo papel y NO un degradado: el recorte de la foto
   ya trae su propio fondo claro y cualquier degradado detrás lo delata. */
.catalog-card { background: var(--c-papel); border-color: var(--c-linea); box-shadow: var(--s-1); }
.catalog-card:hover { border-color: var(--c-linea-fuerte); box-shadow: var(--s-2); }
.catalog-card__image { background: var(--c-lino); }
.catalog-card h3 { color: var(--c-tinta); }
.catalog-card__category { color: var(--c-tinta-3); }
.catalog-card__price strong { color: var(--c-granada); }
.catalog-card__price small { color: var(--c-tinta-3); }
.catalog-badge { background: var(--c-granada-piel); color: var(--c-granada-alt); }
.add-button-catalog { background: var(--c-granada); color: var(--c-papel); min-height: var(--toque); }
.add-button-catalog:hover { background: var(--c-granada-alt); }

.catalog-assistance { background: var(--c-salvia); border: 0; }
.catalog-assistance h2, .catalog-assistance p { color: var(--c-salvia-piel); }
.catalog-assistance .eyebrow { color: var(--c-salvia-piel); }

.catalog-footer { background: var(--c-papel); border-top: 1px solid var(--c-linea); }
.catalog-footer a { color: var(--c-tinta-2); }
.catalog-footer a:hover { color: var(--c-granada); }
.catalog-footer p { color: var(--c-tinta-3); }

/* Cajón, diálogo y aviso: mismas superficies que la portada. */
.catalog-page .cart-drawer,
.catalog-page .cart-drawer__header,
.catalog-page .cart-drawer__footer { background: var(--c-papel); border-color: var(--c-linea); }
.catalog-page .product-modal__panel { background: var(--c-papel); border-color: var(--c-linea); }
.catalog-page .toast { background: var(--c-tinta); border-color: var(--c-tinta); color: var(--c-lino); }

/* ============================================================================
   RESPONSIVE DEL CATÁLOGO — modal, ritmo vertical y tarjetas móviles

   El cierre heredaba position:relative de .icon-button (tokens.css, cargado
   después). Como primer hijo de la rejilla ocupaba la celda izquierda: foto a
   la derecha y contenido en una segunda fila. La mayor especificidad de estas
   reglas mantiene el cierre fuera del flujo en todos los tamaños.
   ========================================================================== */
.catalog-page { overflow-x: clip; }
.catalog-page .product-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  left: auto;
  z-index: calc(var(--z-base) + 1);
}
.catalog-page .product-modal__panel {
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  width: min(1040px, 100%);
  overflow: hidden;
}
.catalog-page .product-modal__gallery {
  min-width: 0;
  min-height: 0;
  padding: 20px;
}
.catalog-page .product-modal__gallery > img {
  aspect-ratio: 1;
  flex: none;
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
  background: var(--c-papel);
}
.catalog-page .product-modal__thumbs { justify-content: center; }
.catalog-page .product-modal__content {
  min-width: 0;
  overflow-y: auto;
  padding: clamp(30px, 4vw, 52px);
}
.catalog-page .product-modal__content h2 {
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.02;
}

@media (max-width: 900px) {
  .catalog-page .product-modal__panel {
    grid-template-columns: 1fr;
    width: min(680px, 100%);
    overflow-y: auto;
  }
  .catalog-page .product-modal__gallery {
    border-radius: var(--r-lg) var(--r-lg) 0 0;
    padding: 18px 18px 14px;
  }
  .catalog-page .product-modal__gallery > img {
    max-height: min(52vh, 520px);
  }
  .catalog-page .product-modal__content {
    overflow: visible;
    padding: 28px 32px 34px;
  }
}

@media (max-width: 680px) {
  .catalog-page .catalog-intro {
    padding: 38px 14px 24px;
  }
  .catalog-page .catalog-intro h1 {
    max-width: 340px;
    margin: .12em 0 .2em;
    font-size: clamp(2.55rem, 13vw, 3.55rem);
    line-height: .92;
  }
  .catalog-page .catalog-intro > div > p:last-child {
    max-width: 36rem;
    font-size: var(--f-md);
    line-height: 1.5;
  }
  .catalog-page .catalog-controls { padding: 0 10px 20px; }
  .catalog-page .catalog-search {
    margin-bottom: 18px;
    padding-left: 16px;
  }
  .catalog-page .category-rail-wrap,
  .catalog-page .category-rail { min-width: 0; width: 100%; }
  .catalog-page .category-rail {
    gap: 9px;
    padding: 5px 2px 9px;
    overscroll-behavior-inline: contain;
  }
  .catalog-page .category-orb {
    min-width: 62px;
    gap: 6px;
  }
  .catalog-page .category-orb span { width: 48px; height: 48px; }
  .catalog-page .category-orb small {
    max-width: 76px;
    font-size: .64rem;
    line-height: 1.15;
    letter-spacing: .035em;
  }
  .catalog-page .catalog-products { padding: 22px 8px 52px; }
  .catalog-page .catalog-products__heading {
    margin-bottom: 18px;
    padding-bottom: 16px;
  }
  .catalog-page .catalog-products__heading h2 {
    margin: .1em 0;
    font-size: clamp(2rem, 10vw, 2.7rem);
  }
  .catalog-page .catalog-products__heading > p { margin: 8px 0 0; }
  .catalog-page .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .catalog-page .catalog-card__image { aspect-ratio: 1; }
  .catalog-page .catalog-card__image img { padding: 6px; }
  .catalog-page .catalog-card__body { padding: 9px; }
  .catalog-page .catalog-card__category {
    font-size: .61rem;
    letter-spacing: .07em;
  }
  .catalog-page .catalog-card h3 {
    min-height: 3.5em;
    margin: 4px 0 8px;
    font-size: .84rem;
    line-height: 1.17;
  }
  .catalog-page .catalog-card__pricing {
    gap: 5px;
    padding-top: 8px;
  }
  .catalog-page .catalog-card__price strong {
    font-size: .98rem;
    white-space: nowrap;
  }
  .catalog-page .catalog-card__price small { display: none; }
  .catalog-page .quick-button { display: none; }
  .catalog-page .catalog-card__actions { gap: 0; }
  .catalog-page .catalog-badge { display: none; }
  .catalog-page .catalog-assistance {
    grid-template-columns: 52px 1fr;
    gap: 12px;
    margin: 0 8px 48px;
    padding: 16px;
  }
  .catalog-page .catalog-assistance img { width: 52px; }
  .catalog-page .catalog-assistance h2 {
    margin: 2px 0;
    font-size: 1.45rem;
  }
  .catalog-page .catalog-assistance p:not(.eyebrow) { display: none; }
  .catalog-page .catalog-assistance .button {
    width: 100%;
    margin-top: 2px;
  }
  .catalog-page .catalog-footer {
    gap: 18px;
    padding: 34px 16px 28px;
  }
  .catalog-page .catalog-footer img { width: 120px; }
  .catalog-page .catalog-footer div {
    flex-wrap: wrap;
    justify-content: center;
    gap: 11px 18px;
  }
  .catalog-page .cart-drawer { max-width: 100vw; }
}

@media (max-width: 560px) {
  .catalog-page .product-modal { padding: 0; }
  .catalog-page .product-modal__panel {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .catalog-page .product-modal__close {
    position: fixed;
    top: 10px;
    right: 10px;
  }
  .catalog-page .product-modal__gallery {
    min-height: 0;
    padding: 52px 12px 12px;
    border-radius: 0;
  }
  .catalog-page .product-modal__gallery > img {
    max-height: 43vh;
    border-radius: var(--r-md);
  }
  .catalog-page .product-modal__thumbs {
    gap: 6px;
    margin-top: 8px;
  }
  .catalog-page .product-modal__thumbs button {
    width: 52px;
    height: 52px;
  }
  .catalog-page .product-modal__content { padding: 20px 16px 30px; }
  .catalog-page .product-modal__content h2 { font-size: 1.65rem; }
  .catalog-page .product-modal__description {
    margin: 12px 0;
    font-size: .93rem;
    line-height: 1.48;
  }
  .catalog-page .product-modal__price { margin: 2px 0 16px; }
  .catalog-page .product-modal__price strong { font-size: 1.65rem; }
  .catalog-page .product-modal__trust { margin-top: 12px; gap: 8px 14px; }
}
