/* =========================================================
   GroupMarket — estilo MercadoLibre sobre Understrap/Bootstrap 5
   Paleta capturada en vivo de mercadolibre.cl
   ========================================================= */
:root{
  --gm-yellow:#FFE600; --gm-yellow-700:#FFD100;
  --gm-purple:#8224E3; --gm-purple-700:#6A17BE;
  --gm-blue:#3483FA; --gm-blue-700:#2968C8; --gm-blue-100:rgba(52,131,250,.15);
  --gm-green:#00A650; --gm-green-700:#008C44;
  --gm-red:#D12440;
  --gm-bg:#EBEBEB; --gm-surface:#fff; --gm-line:rgba(0,0,0,.10);
  --gm-text:rgba(0,0,0,.90); --gm-text-2:rgba(0,0,0,.55); --gm-text-3:rgba(0,0,0,.25);
  --gm-container:1200px; --gm-radius:6px; --gm-radius-sm:2px;
  --gm-shadow:0 1px 2px rgba(0,0,0,.12); --gm-shadow-hover:0 4px 12px rgba(0,0,0,.16);
  --gm-font:"Montserrat","Inter",-apple-system,Roboto,Arial,sans-serif;
}

/* ---------- Base ---------- */
body{ font-family:var(--gm-font); color:var(--gm-text); background:var(--gm-bg); }
a{ text-decoration:none; }
.gm-container{ max-width:var(--gm-container); margin:0 auto; padding-inline:16px; }
img{ max-width:100%; height:auto; }

/* Botón acción estilo ML */
.gm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--gm-blue); color:#fff; border:0; border-radius:var(--gm-radius);
  padding:10px 18px; font-weight:600; font-size:14px; cursor:pointer; transition:.15s; }
.gm-btn:hover{ background:var(--gm-blue-700); color:#fff; }
.gm-btn--light{ background:var(--gm-blue-100); color:var(--gm-blue); }
.gm-btn--light:hover{ background:rgba(52,131,250,.25); color:var(--gm-blue-700); }

/* =========================================================
   HEADER estilo ML (barra amarilla + buscador protagonista)
   ========================================================= */
.gm-header{ background:#fff; position:sticky; top:0; z-index:1030; border-bottom:1px solid var(--gm-line); box-shadow:0 1px 6px rgba(0,0,0,.04); }
.gm-header__top{ display:flex; align-items:center; gap:20px; padding:12px 0; }
.gm-header__logo{ display:inline-flex; align-items:center; justify-content:center; background:transparent; border-radius:0;
  height:auto; padding:0; box-shadow:none; overflow:visible; }
.gm-header__logo img{ height:38px; width:auto; display:block; }
.gm-header__logo .gm-fallback{ font-weight:800; font-size:22px; color:#2D3277; white-space:nowrap; }

/* Buscador protagonista */
.gm-search{ flex:1; max-width:620px; position:relative; }
.gm-search input{ width:100%; height:42px; border:1px solid var(--gm-line); border-radius:var(--gm-radius-sm);
  padding:0 44px 0 14px; font-size:15px; background:#fff; }
.gm-search input:hover{ border-color:var(--gm-text-3); }
.gm-search input:focus{ outline:2px solid var(--gm-blue); }
.gm-search button{ position:absolute; right:0; top:0; height:40px; width:42px; border:0; background:transparent;
  color:var(--gm-text-2); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.gm-search button svg{ width:20px; height:20px; }

/* Acciones de cuenta / carrito */
.gm-header__actions{ display:flex; align-items:center; gap:18px; font-size:14px; white-space:nowrap; }
.gm-search-toggle{ display:none; background:transparent; border:0; color:#0053e2; cursor:pointer; padding:2px; align-items:center; }
.gm-search-toggle svg{ width:22px; height:22px; }
.gm-account{ display:inline-flex; align-items:center; color:#0053e2; }
.gm-account svg{ width:24px; height:24px; }
.gm-header__actions a{ color:#1A1A1A; }
.gm-header__actions a.gm-account, .gm-header__actions a.gm-cart{ color:#0053e2; }
.gm-header__actions a:hover{ opacity:.8; }
.gm-cart{ position:relative; display:inline-flex; align-items:center; color:#0053e2; }
.gm-cart__count{ position:absolute; top:-8px; right:-10px; background:#0053e2; color:#fff;
  font-size:11px; font-weight:700; min-width:18px; height:18px; border-radius:9px;
  display:flex; align-items:center; justify-content:center; padding:0 5px; }

/* Segunda fila: menú de categorías en una sola fila */
.gm-header__bottom{ display:flex; align-items:center; gap:22px; padding-bottom:8px; font-size:13px;
  overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
.gm-header__bottom::-webkit-scrollbar{ display:none; }
.gm-header__loc{ display:inline-flex; align-items:center; gap:5px; color:var(--gm-text-2); font-size:13px; white-space:nowrap; }
.gm-header__loc svg{ flex:0 0 auto; }
/* Píldora "Envíos a todo Chile" (azul, texto blanco, bandera CL circular) */
.gm-header__loc.gm-ship-pill{ background:#0053e2; color:#fff; border-radius:999px; padding:6px 12px; gap:7px; font-weight:600; }
.gm-ship-pill__pin{ color:#fff; }
.gm-flag-cl{ display:inline-block; width:18px; height:18px; flex:0 0 18px; border-radius:50%; overflow:hidden; line-height:0; }
.gm-flag-cl svg{ width:100%; height:100%; display:block; }
/* Ícono circular de WhatsApp (verde) */
.gm-header__wa{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:50%; background:#25D366 !important; color:#fff !important; flex:0 0 36px; transition:.15s; }
.gm-header__wa:hover{ background:#1ebe57 !important; }
.gm-header__wa svg{ width:21px; height:21px; }
.gm-header__ship{ display:none; }
/* Popover "Envíos a todo Chile" (se abre al tocar la bandera en móvil) */
.gm-ship-pop{ display:none; position:absolute; top:calc(100% + 10px); right:0; z-index:70; background:#0053e2; color:#fff;
  border-radius:10px; padding:9px 13px; font-size:13px; font-weight:600; white-space:nowrap; align-items:center; gap:7px;
  box-shadow:0 8px 22px rgba(0,0,0,.2); }
.gm-ship-pop svg{ width:15px; height:15px; flex:0 0 15px; }
.gm-ship-pop::before{ content:""; position:absolute; top:-5px; right:16px; width:10px; height:10px; background:#0053e2; transform:rotate(45deg); }
.gm-catmenu{ display:flex; gap:16px; list-style:none; margin:0; padding:0; flex-wrap:nowrap; }
.gm-catmenu a{ color:#1A1A1A; font-weight:500; white-space:nowrap; }
.gm-catmenu a:hover{ color:#0053e2; text-decoration:underline; }
/* Botón toggle: oculto en desktop, visible en móvil */
.gm-catmenu-toggle{ display:none; align-items:center; gap:8px; background:rgba(0,0,0,.05); color:#1A1A1A;
  border:0; border-radius:var(--gm-radius); padding:8px 12px; font-size:14px; font-weight:600; cursor:pointer; }
.gm-catmenu-toggle:hover{ background:rgba(0,0,0,.1); }
.gm-catmenu-toggle[aria-expanded="true"]{ background:rgba(0,83,226,.12); color:#0053e2; }
.gm-catmenu-toggle svg{ transition:transform .25s ease; }
.gm-catmenu-toggle[aria-expanded="true"] svg{ transform:rotate(90deg); }
/* Efecto de apertura/cierre del menú (desplegable móvil) */
.gm-catmenu.is-open{ animation:gmCatIn .24s cubic-bezier(.22,.7,.3,1) both; transform-origin:top; }
.gm-catmenu.is-open.is-closing{ animation:gmCatOut .2s ease forwards; }
.gm-catmenu.is-open.is-closing li{ animation:none; }
@keyframes gmCatIn{ from{ opacity:0; transform:translateY(-10px) scaleY(.96); } to{ opacity:1; transform:translateY(0) scaleY(1); } }
@keyframes gmCatOut{ from{ opacity:1; transform:translateY(0) scaleY(1); } to{ opacity:0; transform:translateY(-10px) scaleY(.96); } }
.gm-catmenu.is-open li{ animation:gmCatItem .28s ease both; }
.gm-catmenu.is-open li:nth-child(1){ animation-delay:.02s; }
.gm-catmenu.is-open li:nth-child(2){ animation-delay:.05s; }
.gm-catmenu.is-open li:nth-child(3){ animation-delay:.08s; }
.gm-catmenu.is-open li:nth-child(4){ animation-delay:.11s; }
.gm-catmenu.is-open li:nth-child(5){ animation-delay:.14s; }
.gm-catmenu.is-open li:nth-child(n+6){ animation-delay:.16s; }
@keyframes gmCatItem{ from{ opacity:0; transform:translateX(-8px); } to{ opacity:1; transform:translateX(0); } }

/* =========================================================
   BARRA DE BENEFICIOS
   ========================================================= */
.gm-benefits{ background:var(--gm-surface); border-bottom:1px solid var(--gm-line); }
.gm-benefits__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:30px 16px; }
.gm-benefit{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; }
.gm-benefit__icon{ width:44px; height:44px; flex:0 0 44px; background:var(--gm-blue-100); border-radius:50%;
  display:inline-block; position:relative; }
.gm-benefit__icon::after{ content:""; position:absolute; inset:0; background:var(--gm-blue);
  -webkit-mask-position:center; mask-position:center; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:24px; mask-size:24px; }
.gm-ic-truck::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h11v9H3zM14 8h4l3 3v2h-7zM6.5 17a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m11 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h11v9H3zM14 8h4l3 3v2h-7zM6.5 17a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m11 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3'/%3E%3C/svg%3E"); }
.gm-ic-shield::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2l8 3v6c0 5-3.4 8.7-8 11-4.6-2.3-8-6-8-11V5z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2l8 3v6c0 5-3.4 8.7-8 11-4.6-2.3-8-6-8-11V5z'/%3E%3C/svg%3E"); }
.gm-ic-pin::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7m0 4.5A2.5 2.5 0 1 0 12 11a2.5 2.5 0 0 0 0-4.5'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7m0 4.5A2.5 2.5 0 1 0 12 11a2.5 2.5 0 0 0 0-4.5'/%3E%3C/svg%3E"); }
.gm-ic-refresh::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 6V3L8 7l4 4V8a4 4 0 1 1-4 4H6a6 6 0 1 0 6-6'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 6V3L8 7l4 4V8a4 4 0 1 1-4 4H6a6 6 0 1 0 6-6'/%3E%3C/svg%3E"); }
.gm-benefit__txt{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.gm-benefit__txt strong{ font-size:16px; font-weight:500; line-height:1.2; color:var(--gm-text); }
.gm-benefit__txt span{ font-size:13px; font-weight:400; line-height:1.5; color:var(--gm-text-2); }
.gm-benefit__more{ font-size:13px; color:var(--gm-blue); font-weight:600; text-decoration:none; margin-top:3px; }
.gm-benefit__more:hover{ text-decoration:underline; }

/* =========================================================
   HERO carousel
   ========================================================= */
.gm-hero{ margin:16px 0; }
.gm-hero .carousel-item{ border-radius:var(--gm-radius); overflow:hidden; }
.gm-hero__slide{ display:flex; align-items:center; min-height:280px; padding:36px 48px; color:#fff;
  background:linear-gradient(120deg,#8E1F4F,#D12440); border-radius:var(--gm-radius); }
.gm-hero__slide.alt{ background:linear-gradient(120deg,#2968C8,#3483FA); }
.gm-hero__copy{ max-width:55%; }
.gm-hero__copy h1,.gm-hero__copy h2{ font-size:38px; font-weight:800; margin:0 0 8px; line-height:1.05; }
.gm-hero__copy p{ font-size:18px; opacity:.95; margin:0 0 18px; }
.gm-hero .gm-btn{ background:#fff; color:var(--gm-text); }
.gm-hero .gm-btn:hover{ background:#f1f1f1; }
/* Controles del carrusel: botones circulares en los bordes (no sobre el texto) */
.gm-hero .carousel-control-prev,
.gm-hero .carousel-control-next{ width:42px; height:42px; top:50%; bottom:auto; transform:translateY(-50%);
  background:rgba(0,0,0,.28); border-radius:50%; opacity:.9; transition:background .15s, opacity .15s; }
/* La copia está alineada a la izquierda; ocultamos la flecha izquierda para no pisar el texto */
.gm-hero .carousel-control-prev{ display:none; }
.gm-hero .carousel-control-next{ right:14px; }
.gm-hero .carousel-control-prev:hover,
.gm-hero .carousel-control-next:hover{ background:rgba(0,0,0,.45); opacity:1; }
.gm-hero .carousel-control-prev-icon,
.gm-hero .carousel-control-next-icon{ width:16px; height:16px; }
@media(max-width:780px){
  .gm-hero .carousel-control-prev,
  .gm-hero .carousel-control-next{ display:none; }
}

/* =========================================================
   FILA / CARRUSEL DE PRODUCTOS
   ========================================================= */
.gm-row{ margin:48px 0; }
.gm-row:first-of-type{ margin-top:28px; }
.gm-row__head{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--gm-line); }
.gm-row__title{ font-size:22px; font-weight:700; margin:0; }
.gm-row__more{ color:var(--gm-blue); font-weight:600; font-size:14px; white-space:nowrap; }
.gm-row__more:hover{ color:var(--gm-blue-700); text-decoration:underline; }
/* Scroll horizontal en móvil; grilla en desktop via WooCommerce columns */
.woocommerce ul.products,
.gm-row .woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(5,1fr); gap:14px; margin:0; padding:0; list-style:none; }
@media(max-width:1100px){ .woocommerce ul.products, .gm-row .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:680px){ .woocommerce ul.products, .gm-row .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
/* Neutralizar el float/width por defecto de WooCommerce que aplasta las cards en el grid */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{ width:100% !important; max-width:100% !important; margin:0 !important; float:none !important; clear:none !important; }
/* IMPORTANTE: el clearfix ::before/::after de WooCommerce sobre ul.products se vuelve
   una celda del grid (espacio en blanco al inicio + huérfano al final). Anularlo. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product::before{ content:none !important; }

/* =========================================================
   CARD DE PRODUCTO estilo ML (content-product.php override)
   ========================================================= */
ul.products li.product{ background:var(--gm-surface); border-radius:var(--gm-radius); box-shadow:var(--gm-shadow);
  overflow:hidden; transition:.15s; display:flex; flex-direction:column; position:relative; text-align:left; }
ul.products li.product:hover{ box-shadow:var(--gm-shadow-hover); transform:translateY(-2px); }
.gm-card__imgwrap{ display:block; padding:14px; background:#fff; aspect-ratio:1/1; }
.gm-card__imgwrap img{ width:100%; height:100%; object-fit:contain; }
.gm-card__body{ padding:4px 14px 16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.gm-card__title{ font-size:14px; font-weight:400; color:var(--gm-text); line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:36px; }
.gm-card__title:hover{ color:var(--gm-blue); }
.gm-card__price-old{ font-size:12px; color:var(--gm-text-2); text-decoration:line-through; }
.gm-card__price-row{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.gm-card__price{ font-size:22px; font-weight:600; color:var(--gm-text); line-height:1; }
.gm-card__off{ color:var(--gm-green); font-weight:600; font-size:13px; }
.gm-card__ship{ color:var(--gm-green); font-weight:600; font-size:13px; }
.gm-card__cta{ margin-top:auto; }
.gm-card__cta .add-to-cart-container{ width:100%; }
/* Botón secundario (azul claro) para no competir con la imagen y el precio */
.gm-card__cta a.button,
.gm-card__cta a.btn,
.gm-card__cta .add_to_cart_button,
.gm-card__cta a.added_to_cart{ background:var(--gm-blue-100) !important; color:var(--gm-blue) !important; border:0 !important;
  border-radius:var(--gm-radius) !important; padding:9px 14px !important; font-size:13px !important; font-weight:600 !important;
  width:100%; text-align:center; display:block; margin:0 !important; box-shadow:none !important; }
.gm-card__cta a.button:hover,
.gm-card__cta a.btn:hover,
.gm-card__cta .add_to_cart_button:hover{ background:rgba(52,131,250,.22) !important; color:var(--gm-blue-700) !important; }
.gm-card__cta a.added_to_cart{ background:var(--gm-green) !important; color:#fff !important; margin-top:6px !important; }

/* Badges sobre la imagen (apilables) */
.gm-card__badges{ position:absolute; top:10px; left:10px; z-index:2; display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.gm-badge{ display:inline-block; padding:3px 8px; font-size:11px; font-weight:700; line-height:1.1;
  border-radius:var(--gm-radius-sm); letter-spacing:.2px; }
.gm-badge--off{ background:var(--gm-green); color:#fff; }
.gm-badge--low{ background:var(--gm-red); color:#fff; }
.gm-badge--new{ background:var(--gm-blue); color:#fff; }
.gm-badge--best{ background:#FF6D00; color:#fff; }      /* MÁS VENDIDO (naranjo ML) */
.gm-badge--deal{ background:var(--gm-blue); color:#fff; } /* OFERTA IMPERDIBLE */

/* Cuotas sin interés */
.gm-card__cuotas{ color:var(--gm-green); font-size:13px; line-height:1.25; }
.gm-card__cuotas b{ font-weight:700; }
.gm-card__cuotas em{ font-style:normal; }

/* Pill envío + FULL */
.gm-full{ display:inline-block; background:var(--gm-green); color:#fff; font-size:10px; font-weight:800;
  padding:1px 5px; border-radius:2px; vertical-align:middle; letter-spacing:.3px; }

/* =========================================================
   GRILLA DE CATEGORÍAS
   ========================================================= */
.gm-cats{ margin:26px 0; }
.gm-cats .gm-row__title{ margin:0 0 18px; }
.gm-cats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:900px){ .gm-cats__grid{ grid-template-columns:repeat(2,1fr); } }
.gm-cats__grid{ align-items:stretch; }
.gm-cat{ background:var(--gm-surface); border-radius:var(--gm-radius); box-shadow:var(--gm-shadow);
  padding:16px; display:flex; align-items:center; gap:14px; transition:.15s; min-height:90px; height:100%; }
.gm-cat:hover{ box-shadow:var(--gm-shadow-hover); transform:translateY(-2px); }
.gm-cat__thumb{ width:56px; height:56px; border-radius:50%; object-fit:cover; background:var(--gm-bg); flex:0 0 56px; }
/* Contenedor de texto: columna centrada, con alto de nombre reservado a 2 líneas
   para que todas las cards queden alineadas (1 línea o 2 líneas). */
.gm-cat > span{ display:flex; flex-direction:column; justify-content:center; min-width:0; }
.gm-cat__name{ font-weight:600; font-size:15px; color:var(--gm-text); line-height:1.2;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.4em; }
.gm-cat__count{ font-size:12px; color:var(--gm-text-2); display:block; margin-top:2px; }
/* Compactar en móvil (se veía sobredimensionado) */
@media(max-width:680px){
  .gm-cats{ margin:18px 0; }
  .gm-cats__grid{ gap:10px; }
  .gm-cat{ padding:10px 12px; gap:10px; min-height:0; }
  .gm-cat__thumb{ width:40px; height:40px; flex:0 0 40px; }
  .gm-cat__name{ font-size:13px; min-height:0; }
  .gm-cat__count{ font-size:11px; }
  .gm-cats .gm-row__title{ font-size:18px; }
}

/* =========================================================
   FOOTER de confianza
   ========================================================= */
.gm-trust{ background:var(--gm-surface); border-top:1px solid var(--gm-line); margin-top:30px; }
.gm-trust__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:30px 16px; text-align:center; }
@media(max-width:780px){ .gm-trust__grid{ grid-template-columns:repeat(2,1fr); } }
.gm-trust__item h4{ font-size:16px; font-weight:500; margin:8px 0 4px; }
.gm-trust__item p{ font-size:13px; color:var(--gm-text-2); margin:0; }
.gm-footer{ background:#fff; color:var(--gm-text-2); }
.gm-footer__cols{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:32px; padding:40px 16px 30px; }
.gm-footer__logo{ display:inline-block; }
.gm-footer__logo img{ width:170px; max-width:70%; height:auto; display:block; opacity:.95; margin-bottom:14px; }
.gm-footer__about{ font-size:13px; color:var(--gm-text-2); line-height:1.6; margin:0; max-width:300px; }
.gm-footer__col h5{ font-size:14px; font-weight:700; color:var(--gm-text); margin:0 0 14px; }
.gm-footer__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.gm-footer__col li{ font-size:13px; color:var(--gm-text-2); line-height:1.4; }
.gm-footer__col a{ color:var(--gm-text-2); text-decoration:none; }
.gm-footer__col a:hover{ color:var(--gm-blue); }
.gm-footer__bottom{ border-top:1px solid var(--gm-line); padding:18px 16px; font-size:12px; text-align:center; }
@media(max-width:860px){
  .gm-footer__cols{ grid-template-columns:1fr 1fr; gap:26px; }
  .gm-footer__brand{ grid-column:1 / -1; }
}
@media(max-width:480px){
  .gm-footer__cols{ grid-template-columns:1fr; }
}

/* =========================================================
   Carrito lateral (drawer) + efectos add-to-cart
   ========================================================= */
.gm-cart__count--empty{ display:none !important; }

/* Efecto en el botón del catálogo */
.gm-card__cta a.loading{ color:transparent !important; pointer-events:none; position:relative; }
.gm-card__cta a.loading::after{ content:""; position:absolute; width:16px; height:16px; top:50%; left:50%; margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.55); border-top-color:#fff; border-radius:50%; animation:gm-spin .6s linear infinite; }
.gm-card__cta a.added{ animation:gm-bump .3s ease; }
.gm-card__cta a.gm-added-ok{ background:var(--gm-green) !important; border-color:var(--gm-green) !important; }
.gm-card__cta .added_to_cart{ display:none !important; } /* ocultamos el "ver carrito" extra; usamos el drawer */
@keyframes gm-spin{ to{ transform:rotate(360deg); } }
@keyframes gm-bump{ 0%{transform:scale(1)} 50%{transform:scale(1.06)} 100%{transform:scale(1)} }

/* Overlay */
.gm-drawer-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.45); opacity:0; visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease; z-index:1040; }
.gm-drawer-overlay.is-open{ opacity:1; visibility:visible; }

/* Panel lateral */
.gm-cart-drawer{ position:fixed; top:0; right:0; height:100%; width:390px; max-width:92vw; background:#fff; z-index:1050;
  transform:translateX(100%); transition:transform .28s ease; display:flex; flex-direction:column;
  box-shadow:-6px 0 24px rgba(0,0,0,.18); }
.gm-cart-drawer.is-open{ transform:translateX(0); }
.gm-cart-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--gm-line); }
.gm-cart-drawer__head strong{ font-size:18px; }
.gm-cart-drawer__close{ border:0; background:transparent; font-size:28px; line-height:1; cursor:pointer; color:var(--gm-text-2); padding:0 4px; }
.gm-cart-drawer__close:hover{ color:#000; }
.gm-cart-drawer__body{ overflow-y:auto; padding:14px 18px; flex:1; }
body.gm-no-scroll{ overflow:hidden; }

/* Mini-cart de WooCommerce dentro del drawer */
.gm-cart-drawer .woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
/* La imagen va dentro del <a> del título en el markup de WooCommerce; la posicionamos
   en absoluto a la izquierda y reservamos espacio con el padding del item. */
.gm-cart-drawer .woocommerce-mini-cart-item{ position:relative; display:block !important; padding:14px 28px 14px 72px !important;
  min-height:72px; border-bottom:1px solid var(--gm-line); margin:0 !important; float:none !important; }
.gm-cart-drawer .woocommerce-mini-cart-item img{ position:absolute !important; left:0 !important; top:14px !important;
  width:56px !important; height:56px !important; object-fit:contain; margin:0 !important; float:none !important;
  border:1px solid var(--gm-line); border-radius:var(--gm-radius); padding:3px; background:#fff; }
.gm-cart-drawer .woocommerce-mini-cart-item > a:not(.remove){ display:block; color:var(--gm-text); font-size:14px;
  line-height:1.3; text-decoration:none;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gm-cart-drawer .woocommerce-mini-cart-item > a:not(.remove):hover{ color:var(--gm-blue); }
.gm-cart-drawer .woocommerce-mini-cart-item .quantity{ display:block; margin-top:5px; color:var(--gm-text-2); font-size:13px; font-weight:600; }
.gm-cart-drawer .woocommerce-mini-cart-item .quantity .amount{ color:var(--gm-text); }
.gm-cart-drawer .woocommerce-mini-cart-item .remove_from_cart_button{ position:absolute; top:14px; right:0; width:22px; height:22px;
  line-height:20px; text-align:center; font-size:16px; color:var(--gm-text-2); border-radius:50%; text-decoration:none; }
.gm-cart-drawer .woocommerce-mini-cart-item .remove_from_cart_button:hover{ background:rgba(209,36,64,.1); color:var(--gm-red); }
.gm-cart-drawer .woocommerce-mini-cart__empty-message{ color:var(--gm-text-2); padding:24px 0; text-align:center; }
.gm-cart-drawer .woocommerce-mini-cart__total{ display:flex; justify-content:space-between; align-items:center; font-size:16px; margin:16px 0; padding-top:14px; border-top:2px solid var(--gm-line); }
.gm-cart-drawer .woocommerce-mini-cart__total strong{ font-weight:700; }
.gm-cart-drawer .woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:8px; margin:0; padding:0; }
.gm-cart-drawer .woocommerce-mini-cart__buttons .button,
.gm-cart-drawer .button{ background:var(--gm-blue) !important; color:#fff !important; border:0 !important;
  border-radius:var(--gm-radius) !important; padding:11px 14px !important; font-weight:600 !important; width:100%;
  text-align:center; display:block; }
.gm-cart-drawer .woocommerce-mini-cart__buttons .checkout{ background:var(--gm-green) !important; }

/* =========================================================
   Responsive header
   ========================================================= */
@media(max-width:780px){
  /* Orden móvil: hamburguesa (izq) → logo → iconos (der) en fila 1; el buscador baja al abrirse */
  .gm-header__top{ flex-wrap:wrap; gap:8px; align-items:center; }
  .gm-catmenu-toggle--top{ display:inline-flex; order:0; margin:0; flex:0 0 auto; padding:9px; }
  .gm-catmenu-toggle--top span{ display:none; }   /* solo el ícono hamburguesa */
  .gm-catmenu-toggle--top svg{ width:22px; height:22px; }
  .gm-header__logo{ order:1; height:auto; padding:0; flex:0 1 auto; min-width:0; }
  .gm-header__logo img{ height:17px; }
  .gm-header__actions{ order:2; gap:13px; margin-left:auto; flex:0 0 auto; }  /* iconos a la derecha */
  /* Buscador como icono: oculto por defecto, se muestra al tocar la lupa */
  .gm-search-toggle{ display:inline-flex; }
  .gm-search{ display:none; order:3; max-width:100%; flex-basis:100%; }
  .gm-header.gm-search-open .gm-search{ display:block; }
  /* Móvil: bandera (ícono) + WhatsApp junto al carrito; el texto va en un popover al tocar la bandera */
  .gm-header__actions .gm-ship-pill{ background:transparent; padding:0; border-radius:0; position:relative; cursor:pointer; }
  .gm-header__actions .gm-ship-pill .gm-ship-pill__pin,
  .gm-header__actions .gm-ship-pill .gm-ship-pill__txt{ display:none; }
  .gm-header__actions .gm-ship-pill .gm-flag-cl{ width:26px; height:26px; flex:0 0 26px; }
  .gm-header__actions .gm-ship-pill.is-open .gm-ship-pop{ display:inline-flex; }
  .gm-header__wa{ width:32px; height:32px; flex:0 0 32px; }
  .gm-header__wa svg{ width:19px; height:19px; }
  .gm-benefits__grid{ grid-template-columns:repeat(2,1fr); }
  .gm-hero__copy{ max-width:100%; }
  .gm-hero__copy h1,.gm-hero__copy h2{ font-size:26px; }

  /* Categorías: el menú es el desplegable del hamburguesa (la fila inferior solo lo contiene) */
  .gm-header__bottom{ flex-wrap:wrap; gap:0; padding:0; }
  .gm-catmenu{ display:none; flex-basis:100%; width:100%; flex-direction:column; gap:2px;
    background:var(--gm-bg); border-radius:var(--gm-radius); padding:6px 10px; margin:0 0 10px; }
  .gm-catmenu.is-open{ display:flex; }
  .gm-catmenu li{ padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06); }
  .gm-catmenu li:last-child{ border-bottom:0; }
}

/* =========================================================
   PDP — página de producto individual estilo ML (3 columnas)
   ========================================================= */
/* Layout en 2 columnas reales (contenido en tarjetas | sidebar sticky) */
.single-product div.product.gm-pdp{ display:block; }
.single-product div.product.gm-pdp::before,
.single-product div.product.gm-pdp::after{ content:none !important; display:none !important; }
/* Desktop: principal (arriba-izq) + características/descripción (debajo, izq) | sidebar (der, abarca y es sticky) */
.gm-pdp-layout{ display:grid; grid-template-columns:minmax(0,1fr) 348px; gap:20px; align-items:start;
  grid-template-areas: "top aside" "keyfeats aside" "specs aside" "desc aside"; }
.gm-pdp-layout > .gm-pdp-card--top{ grid-area:top; }
.gm-pdp-layout > .gm-pdp-keyfeats-card{ grid-area:keyfeats; }
.gm-pdp-layout > .gm-specs{ grid-area:specs; }
.gm-pdp-layout > .gm-pdp-desc{ grid-area:desc; }
.gm-pdp-aside{ grid-area:aside; position:sticky; top:118px; align-self:start; display:flex; flex-direction:column; gap:14px; min-width:0; }
/* "Lo que tienes que saber": en desktop va inline en la columna central (como ML);
   la tarjeta separada queda solo para móvil (tras el buy box). */
.gm-pdp-keyfeats-card{ display:none; }
.gm-pdp-keyfeats-inline{ margin-top:6px; }
.gm-pdp-keyfeats-inline .gm-pdp-metabox{ border-top:1px solid var(--gm-line); margin-top:12px; padding-top:12px; }
@media(max-width:900px){
  .gm-pdp-keyfeats-inline{ display:none; }
  .gm-pdp-keyfeats-card{ display:block; }
}
.gm-pdp-keyfeats-card .gm-pdp-keyfeats{ margin:0; }
.gm-pdp-metabox{ margin-top:14px; }
.gm-pdp-keyfeats-card .gm-pdp-keyfeats + .gm-pdp-metabox{ border-top:1px solid var(--gm-line); padding-top:14px; }

/* Tarjetas blancas sobre el fondo gris */
.gm-pdp-card{ background:#fff; border:1px solid var(--gm-line); border-radius:10px; padding:24px; box-shadow:var(--gm-shadow); }
.gm-pdp-card--top{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); column-gap:28px; row-gap:0;
  grid-template-areas:"gallery head" "gallery summary"; align-items:start; }
.gm-pdp-card--top .gm-pdp-head{ grid-area:head; }
.gm-pdp-card--top .gm-pdp-gallery{ grid-area:gallery; min-width:0; align-self:start; }
.gm-pdp-card--top .summary.entry-summary{ grid-area:summary; margin:0 !important; width:auto !important; float:none !important; min-width:0; }
.gm-pdp-head .product_title{ margin:2px 0 10px; }
.gm-specs.gm-pdp-card{ margin:0; }
.gm-specs .gm-section-title{ margin-top:0; }
/* Descripción */
.gm-pdp-desc__content{ font-size:14px; color:var(--gm-text); line-height:1.6; }
.gm-pdp-desc__content p{ margin:0 0 10px; }
.gm-pdp-desc__content details{ border-top:1px solid var(--gm-line); padding:10px 0; }
.gm-pdp-desc__content summary{ cursor:pointer; font-weight:600; color:var(--gm-text); }
.gm-pdp-desc__content ul{ margin:8px 0; padding-left:18px; }
.gm-pdp-desc__content li{ margin:4px 0; }

/* ===================== OPINIONES (estilo ML) ===================== */
.gm-reviews__title{ margin-top:0; }
.gm-reviews__body{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:48px; align-items:start; }

/* --- Estrellas reutilizables --- */
.gm-stars{ display:inline-flex; gap:1px; line-height:0; vertical-align:middle; }
.gm-star{ width:var(--star-size,15px); height:var(--star-size,15px); display:inline-block; }
.gm-star svg{ width:100%; height:100%; display:block; }
.gm-star--on{ color:var(--gm-blue); }
.gm-star--off{ color:#dcdcdc; }

/* --- Resumen (columna izquierda) --- */
.gm-reviews__avgrow{ display:flex; align-items:center; gap:14px; }
.gm-reviews__avg{ font-size:56px; line-height:.9; font-weight:400; color:var(--gm-blue); }
.gm-reviews__avgmeta{ display:flex; flex-direction:column; gap:4px; }
.gm-reviews__count{ font-size:13px; color:var(--gm-text-2); }
.gm-reviews__dist{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:7px; }
.gm-reviews__dist-row{ display:flex; align-items:center; gap:10px; }
.gm-reviews__bar{ flex:1; height:8px; border-radius:6px; background:#ededed; position:relative; overflow:hidden; }
.gm-reviews__bar-fill{ position:absolute; left:0; top:0; bottom:0; background:#3d3d3d; border-radius:6px; }
.gm-reviews__dist-label{ display:inline-flex; align-items:center; gap:3px; min-width:26px; justify-content:flex-end;
  font-size:12px; color:var(--gm-text-2); }
.gm-reviews__dist-label svg{ color:var(--gm-text-3); }

/* --- Lista de opiniones (columna derecha) --- */
.gm-reviews__list-title{ font-size:18px; font-weight:600; margin:0; color:var(--gm-text); }
.gm-reviews__list-sub{ display:block; font-size:12px; color:var(--gm-text-3); margin:2px 0 8px; }
.gm-reviewlist{ list-style:none; margin:0; padding:0; }
.gm-review{ padding:18px 0; border-bottom:1px solid var(--gm-line); }
.gm-review:last-child{ border-bottom:0; }
.gm-review__inner{ display:block; }
.gm-review__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.gm-review__date{ font-size:12px; color:var(--gm-text-3); white-space:nowrap; }
.gm-review__pending{ font-size:12px; color:var(--gm-text-3); margin:0 0 6px; }
.gm-review__content{ font-size:14px; line-height:1.5; color:var(--gm-text); }
.gm-review__content p{ margin:0 0 6px; }
.gm-review__foot{ margin-top:8px; }
.gm-review__author{ font-size:12px; color:var(--gm-text-3); }
.gm-reviews__empty{ font-size:14px; color:var(--gm-text-2); margin:0 0 8px; }

.gm-reviews__pagination{ margin-top:14px; }
.gm-reviews__pagination ul{ list-style:none; display:flex; gap:6px; padding:0; margin:0; }
.gm-reviews__pagination a, .gm-reviews__pagination span{ display:inline-flex; min-width:30px; height:30px; align-items:center;
  justify-content:center; border:1px solid var(--gm-line); border-radius:6px; font-size:13px; color:var(--gm-blue); text-decoration:none; }
.gm-reviews__pagination .current{ background:var(--gm-blue); color:#fff; border-color:var(--gm-blue); }

/* --- Formulario "Deja tu opinión" --- */
.gm-reviewform{ margin-top:26px; border-top:1px solid var(--gm-line); padding-top:22px; }
.gm-reviewform__title{ font-size:17px; font-weight:600; color:var(--gm-text); }
.gm-reviewform__head{ margin-bottom:14px; }
.gm-reviewform .comment-form,
.gm-reviewform form{ display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; max-width:620px; }
.gm-reviewform__rating{ grid-column:1 / -1; display:flex; flex-direction:column; gap:6px; }
.gm-reviewform__field{ display:flex; flex-direction:column; gap:6px; margin:0; }
.gm-reviewform__field--full{ grid-column:1 / -1; }
.gm-reviewform label{ font-size:13px; font-weight:600; color:var(--gm-text); }
.gm-reviewform input[type="text"], .gm-reviewform input[type="email"],
.gm-reviewform select, .gm-reviewform textarea{ width:100%; border:1px solid var(--gm-line); border-radius:8px;
  padding:10px 12px; font:inherit; font-size:14px; color:var(--gm-text); background:#fff; }
.gm-reviewform textarea{ resize:vertical; min-height:110px; }
.gm-reviewform .form-submit{ grid-column:1 / -1; margin:4px 0 0; }
.gm-reviewform__submit,
.gm-reviewform .form-submit input,
.gm-reviewform .form-submit button,
.gm-reviewform input[type="submit"],
.gm-reviewform button[type="submit"]{ background:var(--gm-blue) !important; color:#fff !important; border:0 !important;
  border-radius:8px !important; padding:11px 26px !important; font-weight:600; font-size:14px; cursor:pointer; width:auto; }
.gm-reviewform__submit:hover,
.gm-reviewform .form-submit input:hover,
.gm-reviewform button[type="submit"]:hover{ background:var(--gm-blue-700) !important; }
/* Estrellas interactivas que genera WooCommerce (p.stars a) */
.gm-reviewform p.stars{ margin:0; }
.gm-reviewform p.stars a{ color:var(--gm-blue); }

@media(max-width:900px){
  .gm-reviews__body{ grid-template-columns:1fr; gap:22px; }
  .gm-reviews__summary{ padding-bottom:18px; border-bottom:1px solid var(--gm-line); }
  .gm-reviewform .comment-form, .gm-reviewform form{ grid-template-columns:1fr; }
}

@media(max-width:900px){
  /* Móvil: encabezado (título) arriba → galería full-width → info (badge/precio) */
  .gm-pdp-card--top{ grid-template-columns:1fr; grid-template-areas:"head" "gallery" "summary"; }
}

/* Sección inferior (reseñas + relacionados) en tarjetas, ancho completo */
.gm-pdp-bottom{ margin-top:22px; display:flex; flex-direction:column; gap:22px; }
.gm-pdp-bottom .woocommerce-tabs,
.gm-pdp-bottom .related.products{ background:#fff; border:1px solid var(--gm-line); border-radius:10px;
  padding:22px; margin:0 !important; width:auto !important; float:none !important; box-shadow:var(--gm-shadow); }
.gm-pdp-bottom .related.products > h2{ margin-top:0; }

@media(max-width:900px){
  /* Móvil: principal → sidebar → características → descripción */
  .gm-pdp-layout{ grid-template-columns:1fr; grid-template-areas: "top" "aside" "keyfeats" "specs" "desc"; }
  .gm-pdp-aside{ position:static; }
  .gm-pdp-card--top{ grid-template-columns:1fr; }
}

.single-product div.product .summary.entry-summary{ font-size:15px; }

/* ----- Breadcrumb estilo ML (pequeño, gris) ----- */
.single-product .woocommerce-breadcrumb,
.woocommerce-breadcrumb,
.gm-breadcrumb{ font-size:12px !important; color:var(--gm-text-3); margin:0 0 14px; line-height:1.4; font-weight:400; }
.woocommerce-breadcrumb a,
.gm-breadcrumb a{ color:var(--gm-text-2); text-decoration:none; }
.woocommerce-breadcrumb a:hover,
.gm-breadcrumb a:hover{ color:var(--gm-blue); }
.gm-bc-sep{ color:var(--gm-text-3); margin:0 3px; }

/* ----- Galería propia: miniaturas verticales (desktop) + scroll-snap swipe ----- */
.single-product .woocommerce-variation-price{ display:none !important; } /* variables: precio duplicado oculto */
.gm-gallery{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:14px; align-items:start; }
.gm-gallery:not(.gm-gallery--multi){ grid-template-columns:1fr; }
.gm-gallery__thumbs{ display:flex; flex-direction:column; gap:10px; }
.gm-gallery__thumb{ width:64px; height:64px; border:1px solid var(--gm-line); border-radius:var(--gm-radius); padding:3px; background:#fff; cursor:pointer; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
.gm-gallery__thumb img{ width:100%; height:100%; object-fit:contain; display:block; }
.gm-gallery__thumb.is-active{ border-color:var(--gm-blue); box-shadow:0 0 0 1px var(--gm-blue); }
.gm-gallery__main{ position:relative; min-width:0; }
.gm-gallery__track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch; border-radius:var(--gm-radius); background:#f5f5f5; aspect-ratio:1/1; scrollbar-width:none; }
.gm-gallery__track::-webkit-scrollbar{ display:none; }
.gm-gallery__track{ cursor:grab; }
.gm-gallery__track.is-grabbing{ cursor:grabbing; }
.gm-gallery__slide{ flex:0 0 100%; scroll-snap-align:center; display:flex; align-items:center; justify-content:center; padding:18px; }
.gm-gallery__slide img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; -webkit-user-drag:none; user-select:none; pointer-events:none; }
.gm-gallery__zoom{ position:absolute; top:12px; right:12px; width:40px; height:40px; border-radius:50%; background:#fff;
  border:0; box-shadow:var(--gm-shadow); cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--gm-text-2); z-index:3; }
.gm-gallery__zoom svg{ width:20px; height:20px; }
.gm-gallery__zoom:hover{ color:var(--gm-blue); }
.gm-gallery__dots{ display:none; }

/* Lightbox (ampliar) limpio, sin deformar */
.gm-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:2000; display:none; }
.gm-lightbox.is-open{ display:block; }
.gm-lightbox__track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; height:100%; scrollbar-width:none; }
.gm-lightbox__track::-webkit-scrollbar{ display:none; }
.gm-lightbox__slide{ flex:0 0 100%; scroll-snap-align:center; display:flex; align-items:center; justify-content:center; padding:32px; }
.gm-lightbox__slide img{ max-width:94vw; max-height:90vh; width:auto; height:auto; object-fit:contain; }
.gm-lightbox__close{ position:fixed; top:16px; right:16px; width:46px; height:46px; border-radius:50%;
  background:rgba(255,255,255,.16); color:#fff; border:0; font-size:26px; line-height:1; cursor:pointer; z-index:2001; }
.gm-lightbox__close:hover{ background:rgba(255,255,255,.28); }

/* ----- Caja "Lo que tienes que saber" ----- */
.gm-pdp-keyfeats{ margin:16px 0 4px; }
.gm-pdp-keyfeats h2{ font-size:17px; font-weight:600; margin:0 0 10px; }
.gm-pdp-keyfeats ul{ list-style:none; margin:0; padding:0; }
.gm-pdp-keyfeats li{ position:relative; padding:5px 0 5px 18px; font-size:14px; color:var(--gm-text); line-height:1.4; }
.gm-pdp-keyfeats li::before{ content:""; position:absolute; left:2px; top:12px; width:6px; height:6px; border-radius:50%; background:var(--gm-text-3); }
.gm-pdp-keyfeats li .k{ color:var(--gm-text-2); }
.gm-pdp-keyfeats li .v{ font-weight:500; }
.gm-pdp-keyfeats__more{ display:inline-block; margin-top:8px; color:var(--gm-blue); font-weight:600; font-size:14px; }

/* ----- Tabla "Características del producto" con estilo (rayada) ----- */
.single-product .woocommerce-product-attributes{ width:100%; border-collapse:collapse; }
.single-product .woocommerce-product-attributes tr:nth-child(odd){ background:#fafafa; }
.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td{ padding:11px 14px; border:0; text-align:left; font-size:14px; }
.single-product .woocommerce-product-attributes th{ width:38%; color:var(--gm-text-2); font-weight:600; }

/* Top: marca (izq, liviana) + badge NUEVO (der), misma fila (estilo ML) */
.gm-pdp-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.gm-pdp-topleft{ display:flex; align-items:baseline; gap:6px; min-width:0; }
.gm-pdp-brand{ color:var(--gm-text-2); font-size:13px; font-weight:400; white-space:nowrap; }
.gm-pdp-brand__name{ color:var(--gm-blue); font-weight:500; }
.gm-pdp-brand:hover .gm-pdp-brand__name{ text-decoration:underline; }
.gm-pdp-sold{ color:var(--gm-text-2); font-size:13px; }
.gm-pdp-new{ flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; background:var(--gm-blue); color:#fff;
  font-size:10px; font-weight:700; padding:3px 9px; border-radius:11px; letter-spacing:.4px; text-transform:uppercase; }
.gm-pdp-new::before{ content:""; width:5px; height:5px; border-radius:50%; background:#fff; }

/* Badges antes del precio (estilo ML) */
.gm-pdp-badges{ margin:10px 0 8px; }
.gm-pdp-badges:empty{ display:none; margin:0; }
.gm-pdp-badges .gm-badge{ font-size:12px; padding:4px 9px; }
.gm-pdp-badges .gm-badge--low{ background:#FFF1E6; color:#C24A00; }   /* últimas unidades, naranjo suave como ML */
.gm-pdp-badges .gm-badge--deal{ background:rgba(52,131,250,.12); color:var(--gm-blue); }

/* Título */
.single-product div.product .product_title{ font-size:24px; font-weight:600; line-height:1.25; margin:0 0 6px; }

/* Descripción corta bajo el título */
.single-product div.product .woocommerce-product-details__short-description{ color:var(--gm-text-2); font-size:14px; margin-bottom:16px; }
.single-product div.product .woocommerce-product-details__short-description p{ margin:0 0 6px; }

/* Buy box */
.single-product div.product .gm-buybox{ border:1px solid var(--gm-line); border-radius:var(--gm-radius);
  padding:18px 20px; box-shadow:var(--gm-shadow); background:#fff; display:flex; flex-direction:column; }

/* Bloque de precio estilo ML */
.gm-price{ margin:6px 0 2px; }
.gm-price__old{ display:block; color:var(--gm-text-2); font-size:14px; text-decoration:line-through; line-height:1.2; margin-bottom:3px; }
.gm-price__old .amount{ font-size:14px; font-weight:400; color:var(--gm-text-2); }
.gm-price__now{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.gm-price__amount{ font-size:28px; font-weight:600; color:var(--gm-text); line-height:1.1; }
.gm-price__amount .amount{ color:var(--gm-text) !important; }
.gm-price__off{ background:var(--gm-green); color:#fff; font-size:13px; font-weight:700; padding:4px 8px; border-radius:4px; line-height:1; }
/* Variable: rango de precios */
.gm-price--range .price{ font-size:28px; font-weight:600; color:var(--gm-text); margin:0; }
.gm-price--range .price del{ font-size:14px; font-weight:400; color:var(--gm-text-2); }
.gm-price--range .price ins{ text-decoration:none; }
.gm-price--range .price .amount{ color:var(--gm-text); }

/* Cuotas */
.gm-pdp-cuotas{ color:var(--gm-green); font-size:15px; margin:2px 0 14px; }
.gm-pdp-cuotas b{ font-weight:700; }

/* Meta (SKU / categorías / tags / marca): tenue, que no compita con la info del producto */
.gm-pdp .product_meta{ margin:0; font-size:12px; color:var(--gm-text-3); line-height:1.7; }
.gm-pdp .product_meta a{ color:var(--gm-text-2); text-decoration:none; font-weight:400; }
.gm-pdp .product_meta a:hover{ color:var(--gm-blue); text-decoration:underline; }
.gm-pdp .product_meta > span{ display:block; margin-bottom:2px; }

/* Form real en el CENTRO: solo se ven las variaciones; precio/cantidad/botón los maneja el sidebar */
.gm-form-center{ margin:14px 0 0; }
.gm-form-center .quantity,
.gm-form-center button[name="add-to-cart"],
.gm-form-center .single_add_to_cart_button,
.gm-form-center .woocommerce-variation-add-to-cart,
.gm-form-center .single_variation,
.gm-form-center .stock,
.gm-form-center .reset_variations,
.gm-form-center .gm-buy-now-flag{ display:none !important; }
/* Variaciones como swatches con imagen (estilo ML) */
.gm-form-center table.variations,
.gm-form-center table.variations tbody,
.gm-form-center table.variations tr,
.gm-form-center table.variations td,
.gm-form-center table.variations th{ display:block; width:auto; padding:0; border:0; }
.gm-form-center table.variations th.label{ display:none; }
.gm-form-center .gm-hidden-select{ position:absolute !important; width:1px; height:1px; opacity:0; pointer-events:none; }
/* fallback si por alguna razón no se generan swatches: mostrar el select */
.gm-form-center select:not(.gm-hidden-select){ width:100%; max-width:340px; height:44px; border:1px solid var(--gm-line); border-radius:var(--gm-radius); padding:0 12px; font-size:14px; background:#fff; }
.gm-swatch-block{ margin:14px 0 0; }
.gm-swatch-label{ font-size:14px; margin:0 0 8px; color:var(--gm-text); }
.gm-swatch-label b{ font-weight:700; }
.gm-swatches{ display:flex; flex-wrap:wrap; gap:8px; }
.gm-swatch{ width:58px; height:58px; border:1px solid var(--gm-line); border-radius:8px; padding:3px; cursor:pointer;
  background:#fff; position:relative; overflow:hidden; transition:border-color .15s, box-shadow .15s; }
.gm-swatch img{ width:100%; height:100%; object-fit:contain; display:block; }
.gm-swatch .gm-swatch-txt{ display:flex; align-items:center; justify-content:center; height:100%; font-size:11px; text-align:center; color:var(--gm-text-2); padding:2px; line-height:1.1; }
.gm-swatch:hover{ border-color:var(--gm-blue); }
.gm-swatch.is-active{ border-color:var(--gm-blue); box-shadow:0 0 0 1px var(--gm-blue); }
.gm-swatch.is-disabled{ opacity:.5; cursor:not-allowed; }
.gm-swatch.is-disabled::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top right, transparent calc(50% - 1px), #c0392b calc(50% - 1px), #c0392b calc(50% + 1px), transparent calc(50% + 1px)); }

/* ----- Buy box del sidebar (estilo ML) ----- */
.gm-buybox .gm-bb-line{ margin:0 0 12px; font-size:14px; line-height:1.45; color:var(--gm-text); }
.gm-bb-green{ color:var(--gm-green); font-weight:600; }
.gm-bb-link{ color:var(--gm-blue); font-weight:500; }
.gm-bb-link:hover{ color:var(--gm-blue-700); text-decoration:underline; }
.gm-bb-stock{ font-weight:700; font-size:15px; margin:14px 0 10px; }
.gm-proxy{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 6px; align-items:stretch; }
.gm-proxy-qty{ flex:0 0 86px; }
.gm-proxy-qty input{ width:100%; height:48px; border:1px solid var(--gm-line); border-radius:var(--gm-radius); text-align:center; font-size:15px; }
.gm-proxy-buy{ flex:1 1 auto; min-height:48px; background:var(--gm-blue); color:#fff; border:0; border-radius:var(--gm-radius); font-weight:700; font-size:15px; cursor:pointer; transition:.15s; }
.gm-proxy-buy:hover{ background:var(--gm-blue-700); }
.gm-proxy-add{ flex:1 1 100%; min-height:48px; background:var(--gm-blue-100); color:var(--gm-blue); border:0; border-radius:var(--gm-radius); font-weight:700; font-size:15px; cursor:pointer; transition:.15s; }
.gm-proxy-add:hover{ background:rgba(52,131,250,.22); }
.gm-proxy button:disabled{ opacity:.5; cursor:not-allowed; }
.gm-proxy-add.loading{ opacity:.7; pointer-events:none; }
.gm-proxy-add.gm-added-ok{ background:var(--gm-green) !important; color:#fff !important; }
.gm-proxy-hint{ color:var(--gm-red); font-size:13px; margin:2px 0 8px; }
.gm-bb-seller{ border-top:1px solid var(--gm-line); padding-top:14px; margin:14px 0 0; font-size:13px; color:var(--gm-text-2); }
.gm-bb-seller strong{ color:var(--gm-text); }
.gm-bb-safe{ display:flex; align-items:flex-start; gap:8px; color:var(--gm-text-2); font-size:12px; margin:12px 0 0; line-height:1.4; }
.gm-bb-safe .gm-benefit__icon{ width:28px; height:28px; flex:0 0 28px; }

/* Señales de confianza */
.gm-pdp-trust{ list-style:none; margin:16px 0 0; padding:14px 0 0; border-top:1px solid var(--gm-line); display:flex; flex-direction:column; gap:12px; }
.gm-pdp-trust li{ display:flex; align-items:center; gap:12px; }
.gm-pdp-trust .gm-benefit__icon{ width:36px; height:36px; flex:0 0 36px; }
.gm-pdp-trust__txt{ display:flex; flex-direction:column; line-height:1.25; }
.gm-pdp-trust__txt strong{ font-size:14px; }
.gm-pdp-trust__txt em{ font-style:normal; font-size:12px; color:var(--gm-text-2); }

/* Sección full-width "Características del producto" con íconos */
.gm-section-title{ font-size:22px; font-weight:600; margin:0 0 16px; }
.gm-specs__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:900px){ .gm-specs__grid{ grid-template-columns:1fr; } }
.gm-spec{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--gm-line);
  border-radius:var(--gm-radius); padding:14px 16px; }
.gm-spec__ic{ width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:var(--gm-blue-100);
  display:flex; align-items:center; justify-content:center; color:var(--gm-blue); }
.gm-spec__ic svg{ width:20px; height:20px; }
.gm-spec__txt{ display:flex; flex-direction:column; min-width:0; }
.gm-spec__k{ font-size:12px; color:var(--gm-text-2); }
.gm-spec__v{ font-size:14px; font-weight:600; color:var(--gm-text); line-height:1.3; }

/* Caja de medios de pago bajo el buy box */
.gm-paybox{ border:1px solid var(--gm-line); border-radius:var(--gm-radius); padding:18px; margin-top:14px; background:#fff; }
.gm-paybox__title{ font-size:16px; font-weight:600; margin:0 0 4px; }
.gm-paybox__section{ padding:14px 0; border-bottom:1px solid var(--gm-line); }
.gm-paybox__section:last-of-type{ border-bottom:0; }
.gm-paybox__subtitle{ font-size:14px; font-weight:600; color:var(--gm-text); margin:0 0 10px; }
.gm-paybox__note{ font-size:12px; color:var(--gm-text-2); margin:-4px 0 10px; }
.gm-paybox__brands{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.gm-paybox .gm-pay-webpay{ height:19px; width:auto; max-width:none; display:block; }

/* Marcas de tarjeta (tiles blancos con borde, como ML) */
.gm-brand{ display:inline-flex; align-items:center; justify-content:center; height:30px; min-width:46px; padding:0 8px;
  border:1px solid var(--gm-line); border-radius:6px; background:#fff; font-family:Arial,Helvetica,sans-serif; line-height:1; }
.gm-brand--visa{ color:#1434CB; font-style:italic; font-weight:800; font-size:16px; letter-spacing:-.5px; }
.gm-brand--amex{ background:#006FCF; border-color:#006FCF; color:#fff; font-weight:800; font-size:12px; letter-spacing:.5px; }
.gm-brand--mc{ padding:0 9px; }
.gm-brand--mc svg{ display:block; height:20px; width:auto; }
.gm-brand-wrap{ display:inline-flex; align-items:center; gap:6px; }
.gm-brand__tag{ font-size:10px; font-weight:700; color:var(--gm-text-3); text-transform:uppercase; letter-spacing:.3px; }
.gm-paybox__more{ display:inline-block; margin-top:14px; font-size:14px; font-weight:600; color:var(--gm-blue); text-decoration:none; }
.gm-paybox__more:hover{ text-decoration:underline; }

/* ===== Tarjeta "Tienda oficial" (estilo ML, adaptada) ===== */
.gm-seller-card{ border:1px solid var(--gm-line); border-radius:var(--gm-radius); background:#fff; margin-top:6px; overflow:hidden; }
.gm-seller__banner{ height:40px; background:var(--gm-bg); }
.gm-seller__logo{ width:56px; height:56px; border-radius:50%; background:#fff; border:3px solid #fff;
  box-shadow:0 4px 12px rgba(0,0,0,.28), 0 0 0 1px rgba(0,0,0,.05);
  margin:-28px 0 0 18px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.gm-seller__logo img{ width:100%; height:100%; object-fit:contain; padding:7px; }
.gm-seller__body{ padding:8px 18px 18px; }
.gm-seller__name{ display:flex; align-items:center; gap:6px; font-size:18px; font-weight:700; margin:8px 0 2px; color:var(--gm-text); }
.gm-seller__verified{ width:18px; height:18px; flex:0 0 18px; }
.gm-seller__official{ font-size:13px; color:var(--gm-text-2); margin:0 0 2px; }
.gm-seller__products{ font-size:13px; color:var(--gm-text); font-weight:600; margin:0 0 12px; }
.gm-seller__tier{ display:flex; align-items:center; gap:6px; font-size:14px; color:var(--gm-text); margin:0; }
.gm-seller__tier strong{ color:var(--gm-text); }
.gm-seller__leaf{ width:18px; height:18px; flex:0 0 18px; }
.gm-seller__tier-sub{ font-size:12px; color:var(--gm-text-2); margin:2px 0 12px; }
.gm-seller__rep{ display:flex; gap:4px; margin:0 0 16px; }
.gm-seller__rep-seg{ flex:1; height:8px; border-radius:3px; }
.gm-seller__rep-seg.is-active{ box-shadow:0 0 0 2px rgba(0,166,80,.25); }
.gm-seller__metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; text-align:center; padding:4px 0 16px;
  border-bottom:1px solid var(--gm-line); margin-bottom:14px; }
.gm-seller__metric{ display:flex; flex-direction:column; align-items:center; gap:5px; }
.gm-seller__metric strong{ font-size:18px; color:var(--gm-text); line-height:1; }
.gm-seller__metric svg{ width:22px; height:22px; }
.gm-seller__metric span{ font-size:11px; color:var(--gm-text-2); line-height:1.2; }
.gm-seller__cta{ display:block; text-align:center; background:var(--gm-blue-100); color:var(--gm-blue); font-weight:600;
  font-size:14px; border-radius:8px; padding:11px 16px; text-decoration:none; transition:.15s; }
.gm-seller__cta:hover{ background:rgba(52,131,250,.2); color:var(--gm-blue-700); }

/* Ocultar el flash "Sale!" por defecto (usamos nuestros propios badges) */
.woocommerce span.onsale{ display:none !important; }

/* Pestañas de descripción / características */
.single-product .woocommerce-tabs{ margin-top:36px; }
.single-product .woocommerce-tabs .panel h2{ font-size:20px; }

/* =========================================================
   PDP móvil: galería full-width + puntos + título más pequeño
   (al final del archivo para ganar a las reglas de desktop)
   ========================================================= */
@media(max-width:900px){
  .single-product div.product .product_title{ font-size:18px; }

  /* Se MANTIENE la tarjeta blanca; solo reducimos su padding en móvil */
  .gm-pdp-card--top{ padding:16px; }

  /* La IMAGEN ocupa todo el ancho de la TARJETA (pegada a los bordes, sin marco interno) */
  .gm-gallery{ grid-template-columns:1fr; }
  .gm-gallery__thumbs{ display:none; }
  .gm-pdp-card--top .gm-pdp-gallery{ margin:0 -16px; }   /* rompe el padding lateral de la tarjeta */
  .gm-gallery__track{ border-radius:0; aspect-ratio:1/1; }
  .gm-gallery__slide{ padding:10px; }
  .gm-gallery__dots{ display:flex; justify-content:center; gap:8px; margin-top:12px; }
  .gm-gallery__dot{ width:9px; height:9px; border-radius:50%; border:0; background:rgba(0,0,0,.22); cursor:pointer; padding:0; }
  .gm-gallery__dot.is-active{ background:var(--gm-blue); }

  /* Integrar tarjeta principal + buy box en UNA sola tarjeta (sin separación ni aire extra) */
  .gm-pdp-layout{ gap:0; }
  .gm-pdp-card--top{ border-bottom:0; border-bottom-left-radius:0; border-bottom-right-radius:0; padding-bottom:0; box-shadow:none; }
  .gm-pdp-aside .gm-buybox{ border-top:0; border-top-left-radius:0; border-top-right-radius:0; box-shadow:none; padding-top:6px; }
  .gm-form-center{ margin-top:0; }
  .gm-form-center form.cart{ margin:0; }
  /* compactar el bloque precio → botones */
  .gm-pdp-badges{ margin:6px 0 6px; }
  .gm-price{ margin:2px 0 0; }
  .gm-pdp-cuotas{ margin:2px 0 6px; }
  .gm-buybox .gm-bb-stock{ margin:0 0 6px; }
  .gm-pdp-head{ padding-bottom:0; }
  .gm-pdp-card--top .summary.entry-summary{ padding-top:8px; }
  /* separar las secciones de abajo (porque el gap es 0) */
  .gm-pdp-layout > .gm-pdp-keyfeats-card,
  .gm-pdp-layout > .gm-specs,
  .gm-pdp-layout > .gm-pdp-desc{ margin-top:16px; }

  /* Orden del buy box en móvil: cantidad + botones primero, luego retira/despacho/devolución */
  .gm-buybox .gm-bb-stock{ order:1; margin:0 0 8px; }
  .gm-buybox .gm-proxy{ order:2; }
  .gm-buybox .gm-proxy-hint{ order:2; }
  .gm-buybox .gm-bb-line{ order:3; }
  .gm-buybox .gm-bb-line:first-of-type{ margin-top:16px; padding-top:14px; border-top:1px solid var(--gm-line); }
  .gm-buybox .gm-bb-seller{ order:4; }
  .gm-buybox .gm-bb-safe{ order:5; }

  /* Reducir el espacio alrededor del "X disponibles" de la variación */
  .gm-form-center{ margin-top:8px; }
  .gm-form-center .woocommerce-variation{ margin:0 !important; min-height:0 !important; }
  .gm-form-center .single_variation{ margin:6px 0 0; }
}

/* ===================== CHECKOUT (Shopify + ML, enfocado) ===================== */

/* Header minimal (sin distracciones) — sticky, logo + título + sello seguro */
.gm-header--checkout{ position:sticky; top:0; z-index:60; background:#fff; border-bottom:1px solid var(--gm-line); box-shadow:0 1px 4px rgba(0,0,0,.05); }
.gm-checkout-bar{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:6px 20px; }
.gm-checkout-bar__logo{ justify-self:start; }
.gm-checkout-bar__logo img{ height:34px; width:auto; display:block; }
.gm-checkout-bar__title{ justify-self:center; font-size:18px; font-weight:700; color:var(--gm-text); }
.gm-checkout-bar__secure{ justify-self:end; display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--gm-green); }
.gm-checkout-bar__secure svg{ width:18px; height:18px; }
/* Quitar el H1 del cuerpo (ahora va en el navbar) */
.woocommerce-checkout:not(.woocommerce-order-received) .entry-title,
.woocommerce-checkout:not(.woocommerce-order-received) h1.entry-title,
.woocommerce-checkout:not(.woocommerce-order-received) .page-title{ display:none; }
@media(max-width:680px){
  .gm-checkout-bar{ grid-template-columns:auto 1fr; }
  .gm-checkout-bar__secure{ display:none; }
  .gm-checkout-bar__title{ justify-self:end; font-size:16px; }
}

/* Footer recortado durante el checkout (solo copyright; se ocultan confianza y columnas) */
body.woocommerce-checkout:not(.woocommerce-order-received) .gm-trust,
body.woocommerce-checkout:not(.woocommerce-order-received) .gm-footer__cols{ display:none; }
body.woocommerce-checkout:not(.woocommerce-order-received) .gm-footer__bottom{ border-top:0; }

/* Encabezado de página */
.woocommerce-checkout .entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .page-title{ font-size:24px; font-weight:700; margin:8px 0 20px; text-align:left; }

/* Layout 2 columnas, contenedor centrado */
.woocommerce-checkout .gm-checkout{ display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:28px;
  align-items:start; max-width:1240px; margin:0 auto;
  /* Borde liviano para los campos (WooCommerce usa estas vars y por defecto salen negras) */
  --wc-form-border-color:#dcdfe4; --wc-form-border-width:1px; }
.gm-checkout__main{ min-width:0; display:flex; flex-direction:column; gap:16px; }
.gm-checkout__main .col2-set{ display:flex; flex-direction:column; gap:16px; }
.gm-checkout__aside{ position:sticky; top:20px; min-width:0; }

/* Política de tarjetas en las secciones */
.gm-checkout .woocommerce-billing-fields,
.gm-checkout .woocommerce-additional-fields,
.gm-checkout .woocommerce-account-fields,
.gm-checkout__aside #order_review{ background:#fff; border:1px solid var(--gm-line); border-radius:14px;
  box-shadow:var(--gm-shadow); padding:20px 22px; }
/* Compactar el alto del checkout (menos scroll) */
body.woocommerce-checkout:not(.woocommerce-order-received) .wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) #content{ padding-top:18px; padding-bottom:18px; }
.gm-checkout .form-row{ margin-bottom:12px; }
.gm-checkout .woocommerce-additional-fields{ padding-top:16px; padding-bottom:16px; }
.gm-checkout .woocommerce-additional-fields textarea{ min-height:64px; }

/* Avisos de WooCommerce (errores/info) — limpios, tipo toast (los feos verdes ya no salen) */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info{ max-width:1240px; margin:0 auto 14px; list-style:none; border:0; border-radius:10px;
  padding:13px 16px; font-size:13.5px; box-shadow:var(--gm-shadow); display:flex; align-items:center; gap:8px; }
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before{ display:none; }
.woocommerce-checkout .woocommerce-message{ background:#e8f7ee; color:#0a6b39; }
.woocommerce-checkout .woocommerce-info{ background:#eef4ff; color:#1f5bb5; }
.woocommerce-checkout .woocommerce-error{ background:#fdecec; color:#b3261e; }
.woocommerce-checkout .woocommerce-error li, .woocommerce-checkout .woocommerce-message li{ list-style:none; margin:0; }
.woocommerce-checkout .woocommerce-message .button{ display:none; }
.gm-checkout .woocommerce-shipping-fields{ background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); padding:16px 22px; }
.gm-checkout #ship-to-different-address{ font-size:14px; font-weight:600; margin:0; }
.gm-checkout #ship-to-different-address label{ display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:var(--gm-text); cursor:pointer; margin:0; }
.gm-checkout #ship-to-different-address input{ width:17px; height:17px; accent-color:var(--gm-blue); margin:0; }
.gm-checkout .shipping_address{ margin-top:16px; }
.gm-checkout .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }

/* Títulos de sección con numeración estilo Shopify */
.gm-checkout .woocommerce-billing-fields > h3,
.gm-checkout .woocommerce-additional-fields > h3{ font-size:17px; font-weight:700; margin:0 0 18px; color:var(--gm-text);
  display:flex; align-items:center; gap:10px; }
.gm-checkout .woocommerce-billing-fields > h3::before{ content:"1"; }
.gm-checkout .woocommerce-additional-fields > h3::before{ content:"2"; }
.gm-checkout .woocommerce-billing-fields > h3::before,
.gm-checkout .woocommerce-additional-fields > h3::before{ width:26px; height:26px; flex:0 0 26px; border-radius:50%;
  background:var(--gm-blue-100); color:var(--gm-blue); font-size:14px; font-weight:700; display:inline-flex;
  align-items:center; justify-content:center; }
.gm-checkout #order_review_heading{ display:none; }

/* Ocultar país (Chile fijo) */
#billing_country_field, #shipping_country_field{ display:none !important; }

/* Campos */
.gm-checkout .woocommerce-billing-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.gm-checkout .form-row{ margin:0 0 14px; padding:0; display:flex; flex-direction:column; width:auto !important; float:none !important; }
.gm-checkout .form-row-wide,
.gm-checkout .form-row.notes{ grid-column:1 / -1; }
.gm-checkout .form-row-first{ grid-column:1; }
.gm-checkout .form-row-last{ grid-column:2; }
/* Llenar la columna izquierda: WooCommerce pone .col-1/.col-2 al 48% (deja hueco feo) */
.gm-checkout__main .col2-set .col-1,
.gm-checkout__main .col2-set .col-2{ width:100% !important; float:none !important; padding:0 !important; }
/* Pares para acortar el formulario (menos alto → menos scroll) */
.gm-checkout #billing_city_field{ grid-column:1; }
.gm-checkout #billing_state_field{ grid-column:2; }
.gm-checkout #billing_phone_field{ grid-column:1; }
.gm-checkout #billing_email_field{ grid-column:2; }
.gm-checkout .form-row label{ font-size:13px; font-weight:600; color:var(--gm-text); margin:0 0 6px; }
.gm-checkout .form-row .required{ color:var(--gm-blue); text-decoration:none; border:0; }
.gm-checkout .form-row .optional{ color:var(--gm-text-3); font-weight:400; }
.gm-checkout .form-row input.input-text,
.gm-checkout .form-row textarea,
.gm-checkout .form-row select{ width:100%; border:1px solid #dcdfe4; border-radius:9px; padding:12px 13px; font:inherit;
  font-size:14px; background:#fff; color:var(--gm-text); transition:border-color .12s, box-shadow .12s; box-shadow:none; }
.gm-checkout input.input-text::placeholder, .gm-checkout textarea::placeholder{ color:var(--gm-text-3); }
.gm-checkout textarea{ min-height:84px; resize:vertical; }
/* Campo activo: borde azul (como el selector de pago) */
.gm-checkout .form-row input.input-text:focus,
.gm-checkout .form-row textarea:focus,
.gm-checkout .form-row select:focus{ outline:none; border-color:var(--gm-blue) !important; box-shadow:0 0 0 3px rgba(52,131,250,.18) !important; }
.gm-checkout .select2-container .select2-selection--single{ height:44px; border:1px solid #dcdfe4; border-radius:9px;
  display:flex; align-items:center; padding:0 10px; }
.gm-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:42px; }
.gm-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.gm-checkout .select2-container--open .select2-selection--single{ border-color:var(--gm-blue); box-shadow:0 0 0 3px rgba(52,131,250,.18); }
.gm-coupon__input{ border-color:#dcdfe4; }
/* Evitar el zoom de iOS al enfocar inputs en móvil (font-size >= 16px) */
@media(max-width:782px){
  .gm-checkout .form-row input.input-text,
  .gm-checkout .form-row textarea,
  .gm-checkout .form-row select,
  .gm-coupon__input,
  .gm-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ font-size:16px; }
}

/* ----- Resumen estilo Shopify (miniaturas + badge) ----- */
.gm-osum{ display:block; }

/* Cupón sobre los productos */
.gm-osum__coupon{ margin:0 0 12px; padding:0 0 12px; border-bottom:1px solid var(--gm-line); }
.gm-coupon{ display:flex; gap:8px; }
.gm-coupon__input{ flex:1; min-width:0; border:1px solid var(--gm-line); border-radius:9px; padding:11px 12px;
  font:inherit; font-size:13px; background:#fff; color:var(--gm-text); }
.gm-coupon__input:focus{ outline:none; border-color:var(--gm-blue); box-shadow:0 0 0 3px rgba(52,131,250,.15); }
.gm-coupon__btn{ flex:0 0 auto; border:1px solid var(--gm-blue); background:var(--gm-blue-100); color:var(--gm-blue);
  font-weight:700; font-size:13px; border-radius:9px; padding:0 16px; cursor:pointer; transition:.12s; }
.gm-coupon__btn:hover{ background:rgba(52,131,250,.2); }
.gm-coupon__btn:disabled{ opacity:.6; cursor:default; }
.gm-coupon__msg{ margin-top:8px; }
.gm-coupon__msg:empty{ margin:0; }
.gm-coupon__msg .woocommerce-error,
.gm-coupon__msg .woocommerce-message,
.gm-coupon__msg .woocommerce-info{ font-size:12px; padding:8px 10px; margin:0; border-radius:8px; list-style:none; }
.gm-coupon__applied{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.gm-coupon__applied li{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px;
  color:var(--gm-text-2); background:var(--gm-bg); border-radius:8px; padding:7px 10px; }
.gm-coupon__applied strong{ color:var(--gm-green); }
.gm-coupon__remove{ border:0; background:none; color:var(--gm-blue); font-size:12px; font-weight:600; cursor:pointer; padding:0; }
.gm-coupon__remove:hover{ text-decoration:underline; }
.gm-osum__items{ display:flex; flex-direction:column; gap:10px; margin:0 0 12px; padding:0 0 12px; border-bottom:1px solid var(--gm-line); }
.gm-osum__item{ display:grid; grid-template-columns:44px 1fr auto; gap:11px; align-items:center; }
.gm-osum__thumb{ position:relative; width:44px; height:44px; border:1px solid var(--gm-line); border-radius:9px; overflow:visible; background:#fff; flex:0 0 44px; }
.gm-osum__thumb img{ width:100%; height:100% !important; object-fit:contain; border-radius:9px; }
.gm-osum__qty{ position:absolute; top:-8px; right:-8px; min-width:20px; height:20px; padding:0 5px; background:#6b6b6b;
  color:#fff; border-radius:999px; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; line-height:1; }
.gm-osum__name{ font-size:13px; color:var(--gm-text); line-height:1.35; min-width:0; }
.gm-osum__meta{ font-size:11px; color:var(--gm-text-2); margin-top:2px; }
.gm-osum__price{ font-size:13px; font-weight:600; color:var(--gm-text); white-space:nowrap; text-align:right; }
/* Totales del resumen (checkout) — layout flex (no tabla) para ancho completo del envío */
.gm-osum__totals,
.gm-osum__totals tbody{ display:block; width:100%; }
.gm-osum__totals tr{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.gm-osum__totals tr th{ text-align:left; font-weight:400; color:var(--gm-text-2); font-size:14px; padding:6px 0; }
.gm-osum__totals tr td{ text-align:right; font-weight:600; color:var(--gm-text); font-size:14px; padding:6px 0; }
.gm-osum__totals .gm-trow--coupon td{ color:var(--gm-green); }
.gm-osum__totals .gm-trow--coupon .woocommerce-remove-coupon{ display:none; }
.gm-osum__totals .order-total{ margin-top:6px; padding-top:12px; border-top:1px solid var(--gm-line); }
.gm-osum__totals .order-total th{ font-weight:700; color:var(--gm-text); font-size:16px; padding:0; }
.gm-osum__totals .order-total td{ font-weight:800; font-size:20px; color:var(--gm-text); padding:0; }
/* Envío: fila en bloque, ancho completo, métodos como tarjetas radio */
.gm-osum__totals tr.woocommerce-shipping-totals{ display:block; }
.gm-osum__totals .woocommerce-shipping-totals th,
.gm-osum__totals .woocommerce-shipping-totals td{ display:block; width:100%; text-align:left; padding:0; }
.gm-osum__totals .woocommerce-shipping-totals th{ font-weight:700; color:var(--gm-text); font-size:14px; margin:0 0 10px; padding-top:14px; border-top:1px solid var(--gm-line); }
.gm-osum__totals ul#shipping_method{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:10px; }
.gm-osum__totals ul#shipping_method li{ display:flex; align-items:center; gap:11px; border:1px solid var(--gm-line); border-radius:12px; padding:14px 15px; margin:0; transition:border-color .12s, box-shadow .12s; }
.gm-osum__totals ul#shipping_method li:has(input:checked){ border-color:var(--gm-blue); box-shadow:0 0 0 2px rgba(52,131,250,.18); }
.gm-osum__totals ul#shipping_method li input{ accent-color:var(--gm-blue); width:19px; height:19px; flex:0 0 19px; margin:0; }
.gm-osum__totals ul#shipping_method li label{ margin:0; font-size:14px; color:var(--gm-text); display:flex; justify-content:space-between; align-items:center; gap:10px; flex:1; cursor:pointer; font-weight:600; line-height:1.35; }
.gm-osum__totals ul#shipping_method li label .amount{ font-weight:700; white-space:nowrap; }
.gm-osum__totals .woocommerce-shipping-destination{ display:none; }
.gm-osum__row{ display:flex; justify-content:space-between; align-items:baseline; font-size:14px; color:var(--gm-text-2); }
.gm-osum__row > span:last-child{ color:var(--gm-text); font-weight:600; }
.gm-osum__row--coupon > span:last-child{ color:var(--gm-green); }
.gm-osum__row--coupon .woocommerce-remove-coupon{ display:none; }
.gm-osum__row--total{ margin-top:4px; padding-top:10px; border-top:1px solid var(--gm-line); font-size:15px; }
.gm-osum__row--total > span{ color:var(--gm-text); font-weight:700; }
.gm-osum__row--total > span:last-child{ font-size:20px; font-weight:800; }

/* ----- Pago ----- */
.gm-checkout-payh{ font-size:15px; font-weight:700; margin:14px 0 10px; color:var(--gm-text); padding-top:14px; border-top:1px solid var(--gm-line); }
.gm-checkout #payment{ background:transparent; border:0; padding:0; margin:0; border-radius:0; }
.gm-checkout #payment ul.wc_payment_methods{ list-style:none; margin:0 0 12px; padding:0; border:0; display:flex; flex-direction:column; gap:8px; }
.gm-checkout #payment li.wc_payment_method{ border:1px solid var(--gm-line); border-radius:10px; padding:11px 13px; transition:border-color .12s, box-shadow .12s; }
.gm-checkout #payment li.wc_payment_method:has(input:checked){ border-color:var(--gm-blue); box-shadow:0 0 0 2px rgba(52,131,250,.18); }
.gm-checkout #payment li.wc_payment_method > label{ font-weight:600; font-size:14px; display:flex; align-items:center; gap:9px; cursor:pointer; margin:0; }
.gm-checkout #payment li.wc_payment_method > input{ accent-color:var(--gm-blue); width:17px; height:17px; }
.gm-checkout #payment .payment_box{ background:var(--gm-bg); border-radius:9px; padding:10px 12px; margin:9px 0 0; font-size:12px; color:var(--gm-text-2); line-height:1.45; }
.gm-checkout #payment .payment_box::before{ display:none; }
.gm-checkout #payment .woocommerce-privacy-policy-text{ font-size:11.5px; color:var(--gm-text-3); margin:6px 0 0; line-height:1.4; }
.gm-checkout #payment .woocommerce-privacy-policy-text a{ color:var(--gm-blue); }

/* Botón realizar pedido */
.gm-checkout #place_order{ width:100%; background:var(--gm-blue); color:#fff; border:0; border-radius:10px;
  padding:13px; font-size:16px; font-weight:700; cursor:pointer; margin-top:4px; transition:.15s; }
.gm-checkout #place_order:hover{ background:var(--gm-blue-700); }

/* Confianza bajo el botón */
.gm-checkout-trust{ margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.gm-checkout-trust__safe{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--gm-text-2); margin:0; }
.gm-checkout-trust__safe .gm-benefit__icon{ width:20px; height:20px; flex:0 0 20px; }

/* Cupón (toggle arriba) */
.woocommerce-checkout .woocommerce-form-coupon-toggle{ max-width:1080px; margin:0 auto 16px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{ background:#fff; border:1px solid var(--gm-line);
  border-left:3px solid var(--gm-blue); border-radius:10px; color:var(--gm-text-2); font-size:13px; padding:12px 16px; }
.woocommerce-checkout form.checkout_coupon{ max-width:1080px; margin:0 auto 16px; border:1px solid var(--gm-line); border-radius:12px; padding:18px; background:#fff; }

@media(max-width:900px){
  .woocommerce-checkout .gm-checkout{ grid-template-columns:1fr; gap:16px; }
  .gm-checkout__aside{ position:static; margin-top:0; }
  /* Una sola columna en móvil: anular todos los pares (incluidas reglas por ID) */
  .gm-checkout .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr; }
  .gm-checkout .form-row,
  .gm-checkout .form-row-first,
  .gm-checkout .form-row-last,
  .gm-checkout #billing_first_name_field,
  .gm-checkout #billing_last_name_field,
  .gm-checkout #billing_city_field,
  .gm-checkout #billing_state_field,
  .gm-checkout #billing_phone_field,
  .gm-checkout #billing_email_field{ grid-column:1 / -1; }
}

/* ===================== CARRITO (Shopify + ML) ===================== */
.woocommerce-cart .entry-title,
.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title{ display:none; }
.woocommerce-cart .gm-cart{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; align-items:start; max-width:1240px; margin:8px auto 0; }
.gm-cart__main{ min-width:0; }
.gm-cart__aside{ position:sticky; top:118px; min-width:0; }

/* Lista de items en tarjeta */
.gm-cart__items{ list-style:none; margin:0; padding:6px 22px; background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); }
.gm-cart__item{ display:grid; grid-template-columns:84px 1fr auto; gap:16px; align-items:start; padding:18px 0; border-bottom:1px solid var(--gm-line); }
.gm-cart__item:last-child{ border-bottom:0; }
.gm-cart__thumb{ width:84px; height:84px; border:1px solid var(--gm-line); border-radius:10px; overflow:hidden; background:#fff; flex:0 0 84px; }
.gm-cart__thumb img{ width:100%; height:100% !important; object-fit:contain; display:block; }
.gm-cart__info{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.gm-cart__name{ font-size:15px; font-weight:600; line-height:1.35; }
.gm-cart__name a{ color:var(--gm-text); text-decoration:none; }
.gm-cart__name a:hover{ color:var(--gm-blue); }
.gm-cart__price-each{ font-size:13px; color:var(--gm-text-2); }
.gm-cart__price-each span{ color:var(--gm-text-3); }
.gm-cart__controls{ display:flex; align-items:center; gap:16px; margin-top:3px; }
.gm-cart__qty .quantity{ display:inline-flex; margin:0; }
.gm-cart__qty input.qty{ width:66px; height:38px; border:1px solid #dcdfe4; border-radius:8px; text-align:center; font-size:14px; padding:0 6px; }
.gm-cart__qty input.qty:focus{ outline:none; border-color:var(--gm-blue); box-shadow:0 0 0 3px rgba(52,131,250,.18); }
.gm-cart__remove{ font-size:13px; color:var(--gm-text-2); text-decoration:none; }
.gm-cart__remove:hover{ color:var(--gm-red); text-decoration:underline; }
.gm-cart__subtotal{ font-size:16px; font-weight:700; color:var(--gm-text); text-align:right; white-space:nowrap; }

/* Barra cupón + actualizar */
.gm-cart__bar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-top:16px;
  background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); padding:16px 22px; }
.gm-cart__couponwrap{ flex:1; min-width:220px; max-width:420px; }
.gm-cart__coupon{ display:flex; gap:8px; }
.gm-cart__couponwrap .gm-coupon__applied{ margin-top:10px; }
.gm-cart__coupon .input-text{ flex:1; min-width:0; border:1px solid #dcdfe4; border-radius:9px; padding:10px 12px; font:inherit; font-size:14px; }
.gm-cart__coupon .input-text:focus{ outline:none; border-color:var(--gm-blue); box-shadow:0 0 0 3px rgba(52,131,250,.18); }
.gm-cart__coupon-btn{ border:1px solid var(--gm-blue); background:var(--gm-blue-100); color:var(--gm-blue); font-weight:700; font-size:13px; border-radius:9px; padding:0 16px; cursor:pointer; }
.gm-cart__coupon-btn:hover{ background:rgba(52,131,250,.2); }
.gm-cart__update{ border:1px solid var(--gm-line); background:#fff; color:var(--gm-text); font-weight:600; font-size:13px; border-radius:9px; padding:10px 18px; cursor:pointer; }
.gm-cart__update:hover{ background:var(--gm-bg); }
.gm-cart__update[disabled]{ opacity:.45; cursor:default; }
.gm-cart__continue{ display:inline-flex; align-items:center; gap:5px; margin-top:16px; color:var(--gm-blue); font-weight:600; font-size:14px; text-decoration:none; }
.gm-cart__continue:hover{ text-decoration:underline; }

/* Resumen (totales) */
.gm-cartsum{ background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); padding:20px 22px; }
.gm-cartsum__title{ font-size:17px; font-weight:700; margin:0 0 14px; color:var(--gm-text); }
.gm-cartsum__rows{ display:flex; flex-direction:column; gap:8px; }
.gm-cartsum__shipnote{ font-size:11px; color:var(--gm-text-3); margin:-2px 0 0; }
.gm-cartsum .wc-proceed-to-checkout{ margin-top:16px; padding:0; }
.gm-cartsum .wc-proceed-to-checkout a{ display:block !important; text-align:center; width:100% !important; float:none !important; margin:0 !important;
  background-color:var(--gm-blue) !important; border-color:var(--gm-blue) !important; color:#fff !important; font-weight:700; font-size:16px; border-radius:10px; padding:14px; text-decoration:none; transition:.15s; box-sizing:border-box; }
.gm-cartsum .wc-proceed-to-checkout a:hover{ background-color:var(--gm-blue-700) !important; color:#fff !important; }

/* Homologar botones de Bootstrap (Understrap los pinta morados) al azul de marca */
.btn-primary{ --bs-btn-bg:var(--gm-blue); --bs-btn-border-color:var(--gm-blue);
  --bs-btn-hover-bg:var(--gm-blue-700); --bs-btn-hover-border-color:var(--gm-blue-700);
  --bs-btn-active-bg:var(--gm-blue-700); --bs-btn-active-border-color:var(--gm-blue-700);
  --bs-btn-disabled-bg:var(--gm-blue); --bs-btn-disabled-border-color:var(--gm-blue); --bs-btn-color:#fff; --bs-btn-hover-color:#fff; }
.btn-outline-primary{ --bs-btn-color:var(--gm-blue); --bs-btn-border-color:var(--gm-blue);
  --bs-btn-hover-bg:var(--gm-blue); --bs-btn-hover-border-color:var(--gm-blue);
  --bs-btn-active-bg:var(--gm-blue); --bs-btn-active-border-color:var(--gm-blue); }
a.btn-primary, a.btn-primary:focus{ color:#fff; }

/* Homologar botones primarios de WooCommerce al azul de marca */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .return-to-shop .button{ background-color:var(--gm-blue) !important; color:#fff !important; border-color:var(--gm-blue) !important; }
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .return-to-shop .button:hover{ background-color:var(--gm-blue-700) !important; color:#fff !important; }
.gm-cartsum__safe{ display:flex; align-items:center; gap:7px; font-size:12px; color:var(--gm-text-2); margin:12px 0 0; }
.gm-cartsum__safe svg{ width:16px; height:16px; color:var(--gm-green); flex:0 0 16px; }

/* Carrito vacío */
.woocommerce-cart .cart-empty.woocommerce-info{ max-width:1240px; margin:0 auto 16px; background:#fff; border:1px solid var(--gm-line);
  border-left:3px solid var(--gm-blue); border-radius:10px; padding:16px 18px; color:var(--gm-text-2); box-shadow:var(--gm-shadow); }
.woocommerce-cart .return-to-shop{ max-width:1240px; margin:0 auto; }
.woocommerce-cart .return-to-shop .button{ display:inline-block; background:var(--gm-blue); color:#fff; border-radius:10px; padding:12px 22px; font-weight:700; text-decoration:none; }

@media(max-width:900px){
  .woocommerce-cart .gm-cart{ grid-template-columns:1fr; gap:16px; }
  .gm-cart__aside{ position:static; }
}
@media(max-width:560px){
  .gm-cart__items{ padding:6px 16px; }
  .gm-cart__item{ grid-template-columns:64px 1fr; gap:12px; }
  .gm-cart__thumb{ width:64px; height:64px; flex:0 0 64px; }
  .gm-cart__subtotal{ grid-column:2; text-align:left; margin-top:4px; }
  .gm-cart__bar{ flex-direction:column; align-items:stretch; }
  .gm-cart__coupon{ max-width:none; }
}

/* ===================== PEDIDO RECIBIDO (thank you) ===================== */
.woocommerce-order-received .entry-title,
.woocommerce-order-received h1.entry-title{ font-size:26px; font-weight:700; margin:8px 0 14px; }
.woocommerce-order-received .woocommerce-order{ max-width:1000px; margin:0 auto; }

/* Aviso de éxito */
.woocommerce-order-received .woocommerce-thankyou-order-received{ display:flex; align-items:center; gap:11px; background:#e8f7ee;
  border:1px solid #bfe6cd; color:#0a6b39; border-radius:12px; padding:14px 18px; font-size:15px; font-weight:600; margin:0 0 22px; }
.woocommerce-order-received .woocommerce-thankyou-order-received::before{ content:"✓"; display:inline-flex; align-items:center;
  justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--gm-green); color:#fff; font-weight:800; font-size:15px; flex:0 0 26px; }

/* Resumen (overview) en tarjeta — flex que envuelve limpio */
.woocommerce-order-received .woocommerce-order-overview{ list-style:none; display:flex; flex-wrap:wrap; gap:16px 28px;
  margin:0 0 26px; padding:20px 24px; background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); }
.woocommerce-order-received .woocommerce-order-overview::before,
.woocommerce-order-received .woocommerce-order-overview::after{ content:none; display:none; }
.woocommerce-order-received .woocommerce-order-overview li{ flex:1 1 150px; font-size:11px; text-transform:uppercase; letter-spacing:.4px;
  color:var(--gm-text-3); border:0; padding:0; margin:0; line-height:1.4; word-break:break-word; }
.woocommerce-order-received .woocommerce-order-overview li strong{ display:block; font-size:15px; text-transform:none;
  letter-spacing:0; color:var(--gm-text); margin-top:5px; font-weight:700; }

/* Títulos de sección */
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-order-received .woocommerce-customer-details > h2{ font-size:18px; font-weight:700; margin:0 0 14px; color:var(--gm-text); }

/* Tabla de detalles del pedido como tarjeta */
.woocommerce-order-received .woocommerce-order-details{ margin:0 0 26px; }
.woocommerce-order-received .woocommerce-table--order-details{ width:100%; border-collapse:collapse; background:#fff;
  border:1px solid rgba(0,0,0,.06); border-radius:14px; overflow:hidden; box-shadow:var(--gm-shadow); }
.woocommerce-order-received .woocommerce-table--order-details th,
.woocommerce-order-received .woocommerce-table--order-details td{ padding:13px 18px; border-bottom:1px solid rgba(0,0,0,.05);
  text-align:left; font-size:14px; color:var(--gm-text); }
.woocommerce-order-received .woocommerce-table--order-details thead th{ background:#fafafa; font-weight:700; border-bottom-color:rgba(0,0,0,.06); }
.woocommerce-order-received .woocommerce-table--order-details .product-total,
.woocommerce-order-received .woocommerce-table--order-details td.product-total{ text-align:right; white-space:nowrap; }
.woocommerce-order-received .woocommerce-table--order-details tfoot td{ text-align:right; }
.woocommerce-order-received .woocommerce-table--order-details tfoot td .shipped_via{ display:block; font-size:11px; color:var(--gm-text-3); font-weight:400; white-space:normal; }
.woocommerce-order-received .woocommerce-table--order-details thead th.product-total{ text-align:right; }
.woocommerce-order-received .woocommerce-table--order-details tfoot th{ font-weight:600; }
.woocommerce-order-received .woocommerce-table--order-details a{ color:var(--gm-text); text-decoration:none; }
.woocommerce-order-received .woocommerce-table--order-details a:hover{ color:var(--gm-blue); }
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td{ font-size:16px; font-weight:800; border-bottom:0; }

/* Direcciones en tarjetas */
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses::after{ content:none; display:none; }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
.woocommerce-order-received .woocommerce-customer-details .col-1,
.woocommerce-order-received .woocommerce-customer-details .col-2{ width:auto; float:none; margin:0; padding:0; }
.woocommerce-order-received .woocommerce-customer-details address{ background:#fff; border:1px solid var(--gm-line);
  border-radius:14px; padding:18px; box-shadow:var(--gm-shadow); font-style:normal; font-size:14px; line-height:1.7; color:var(--gm-text); }

@media(max-width:780px){
  .woocommerce-order-received .woocommerce-order-overview{ gap:14px 18px; }
  .woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses{ grid-template-columns:1fr; }
  /* Tabla del pedido: que quepa sin desbordar */
  .woocommerce-order-received .woocommerce-table--order-details{ display:block; width:100%; }
  .woocommerce-order-received .woocommerce-table--order-details thead,
  .woocommerce-order-received .woocommerce-table--order-details tbody,
  .woocommerce-order-received .woocommerce-table--order-details tfoot{ display:block; width:100%; }
  .woocommerce-order-received .woocommerce-table--order-details tr{ display:flex; justify-content:space-between; gap:12px; }
  .woocommerce-order-received .woocommerce-table--order-details th,
  .woocommerce-order-received .woocommerce-table--order-details td{ padding:11px 14px; }
  .woocommerce-order-received .woocommerce-table--order-details td.product-total,
  .woocommerce-order-received .woocommerce-table--order-details tfoot td{ text-align:right; min-width:0; }
  .woocommerce-order-received .woocommerce-table--order-details .product-name{ flex:1; min-width:0; }
}

/* ===== Ítem de pedido con miniatura (pedido recibido / cuenta) ===== */
.gm-orderitem{ display:flex; align-items:flex-start; gap:12px; }
.gm-orderitem__thumb{ position:relative; width:52px; height:52px; flex:0 0 52px; border:1px solid var(--gm-line); border-radius:9px; background:#fff; }
.gm-orderitem__thumb img{ width:100%; height:100% !important; object-fit:contain; border-radius:9px; display:block; }
.gm-orderitem__qty{ position:absolute; top:-8px; right:-8px; min-width:20px; height:20px; padding:0 5px; background:#6b6b6b; color:#fff;
  border-radius:999px; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; line-height:1; }
.gm-orderitem__info{ display:flex; flex-direction:column; gap:3px; min-width:0; padding-top:2px; }
.gm-orderitem__name{ font-weight:600; color:var(--gm-text); line-height:1.35; }
.gm-orderitem__name a{ color:var(--gm-text); text-decoration:none; }
.gm-orderitem__name a:hover{ color:var(--gm-blue); }
.gm-orderitem__sku{ font-size:12px; color:var(--gm-text-3); }
.woocommerce-table--order-details .wc-item-meta{ margin:2px 0 0; padding:0; list-style:none; font-size:12px; color:var(--gm-text-2); }
.woocommerce-table--order-details .wc-item-meta p{ margin:0; }

/* ===== Seguimiento / estado de entrega (tarjeta con N° + botón) ===== */
.gm-track{ max-width:1000px; margin:0 auto 26px; background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); padding:22px 24px; }
.gm-track__title{ font-size:18px; font-weight:700; margin:0 0 16px; color:var(--gm-text); }
.gm-track__top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 14px; }
.gm-track__head{ font-size:14px; font-weight:700; color:var(--gm-text); }
.gm-track__badge{ font-size:12px; font-weight:700; color:var(--gm-blue); background:var(--gm-blue-100); border-radius:999px; padding:5px 12px; white-space:nowrap; }
.gm-track__numrow{ display:flex; flex-direction:column; gap:3px; background:var(--gm-bg); border-radius:10px; padding:13px 16px; margin:0 0 14px; }
.gm-track__num-label{ font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--gm-text-3); }
.gm-track__code{ font-size:19px; font-weight:800; color:var(--gm-text); letter-spacing:1px; }
.gm-track__btn{ display:inline-flex; align-items:center; gap:8px; background:var(--gm-blue); color:#fff; font-weight:700; font-size:14px; border-radius:9px; padding:11px 18px; text-decoration:none; transition:.15s; }
.gm-track__btn:hover{ background:var(--gm-blue-700); color:#fff; }
.gm-track__btn svg{ width:15px; height:15px; }
.gm-track__hint{ font-size:11.5px; color:var(--gm-text-3); margin:10px 0 0; }
.gm-track__txt{ font-size:13px; color:var(--gm-text-2); line-height:1.55; margin:0; }
@media(max-width:560px){
  .gm-orderitem__thumb{ width:46px; height:46px; flex:0 0 46px; }
}

/* ===================== MI CUENTA ===================== */
.woocommerce-account .entry-title,
.woocommerce-account h1.entry-title{ font-size:26px; font-weight:700; margin:8px 0 20px; }
.woocommerce-account .woocommerce{ max-width:1100px; margin:0 auto; }
/* Layout 2 columnas (solo cuando hay navegación = logueado) */
.woocommerce-account.logged-in .woocommerce{ display:grid; grid-template-columns:250px minmax(0,1fr); gap:24px; align-items:start; }
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after{ content:none; display:none; }

/* Navegación lateral en tarjeta (Understrap usa Bootstrap .list-group > a.list-group-item) */
.woocommerce-MyAccount-navigation{ float:none !important; width:100% !important; margin:0; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; width:100%; }
.woocommerce-MyAccount-navigation .list-group{ display:flex; flex-direction:column; width:100%; background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); overflow:hidden; }
.woocommerce-MyAccount-navigation .list-group-item,
.woocommerce-MyAccount-navigation li a{ display:block; border:0; border-bottom:1px solid var(--gm-line); border-radius:0; padding:13px 18px; color:var(--gm-text); text-decoration:none; font-size:14px; font-weight:500; background:#fff; transition:.12s; }
.woocommerce-MyAccount-navigation .list-group-item:last-child,
.woocommerce-MyAccount-navigation li:last-child a{ border-bottom:0; }
.woocommerce-MyAccount-navigation .list-group-item:hover,
.woocommerce-MyAccount-navigation li a:hover{ background:var(--gm-bg); color:var(--gm-blue); }
.woocommerce-MyAccount-navigation .list-group-item.active,
.woocommerce-MyAccount-navigation .list-group-item.is-active,
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--gm-blue-100); color:var(--gm-blue); font-weight:700; box-shadow:inset 3px 0 0 var(--gm-blue); border-color:var(--gm-line); }

/* Contenido en tarjeta */
.woocommerce-MyAccount-content{ float:none; width:auto; background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); padding:24px; min-width:0; }
.woocommerce-MyAccount-content a{ color:var(--gm-blue); }
.woocommerce-MyAccount-content a:hover{ color:var(--gm-blue-700); }
.woocommerce-MyAccount-content p{ color:var(--gm-text); }

/* Tabla de pedidos */
.woocommerce-account .woocommerce-orders-table{ width:100%; border-collapse:collapse; font-size:14px; }
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td{ padding:12px 10px; border-bottom:1px solid rgba(0,0,0,.06); text-align:left; }
.woocommerce-account .woocommerce-orders-table thead th{ background:#fafafa; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.3px; color:var(--gm-text-2); }
.woocommerce-account .woocommerce-orders-table .button{ background:var(--gm-blue) !important; color:#fff !important; border:0 !important; border-radius:8px; padding:7px 14px; font-size:13px; font-weight:600; }
.woocommerce-account .woocommerce-orders-table .button:hover{ background:var(--gm-blue-700) !important; }

/* Direcciones */
.woocommerce-account .woocommerce-Addresses{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:8px; }
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after{ content:none; display:none; }
.woocommerce-account .woocommerce-Address{ width:auto; float:none; }
.woocommerce-account .woocommerce-Address address{ border:1px solid var(--gm-line); border-radius:12px; padding:16px; font-style:normal; line-height:1.7; font-size:14px; color:var(--gm-text); }
.woocommerce-account .woocommerce-Address .edit{ display:inline-block; margin-top:8px; font-weight:600; }

/* Formularios (Detalles de la cuenta) */
.woocommerce-account .woocommerce-MyAccount-content form .woocommerce-form-row label,
.woocommerce-account .woocommerce-MyAccount-content form p label{ font-size:13px; font-weight:600; color:var(--gm-text); display:block; margin:0 0 6px; }
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea{ width:100%; border:1px solid #dcdfe4; border-radius:9px; padding:11px 12px; font:inherit; font-size:14px; background:#fff; }
.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus{ outline:none; border-color:var(--gm-blue); box-shadow:0 0 0 3px rgba(52,131,250,.18); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]{ background:var(--gm-blue) !important; color:#fff !important; border:0 !important; border-radius:9px; padding:12px 22px; font-weight:700; font-size:14px; cursor:pointer; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover{ background:var(--gm-blue-700) !important; }

@media(max-width:780px){
  .woocommerce-account.logged-in .woocommerce{ grid-template-columns:1fr; gap:16px; }
  .woocommerce-account .woocommerce-Addresses{ grid-template-columns:1fr; }
}

/* ===================== LOGIN / REGISTRO ===================== */
.woocommerce-account:not(.logged-in) .woocommerce{ max-width:1000px; margin:0 auto; }
.woocommerce-account #customer_login.u-columns{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; --wc-form-border-color:#dcdfe4; }
.woocommerce-account #customer_login.u-columns::before,
.woocommerce-account #customer_login.u-columns::after{ content:none; display:none; }
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2{ width:auto; float:none; margin:0; }
.woocommerce-account #customer_login h2{ font-size:20px; font-weight:700; margin:0 0 14px; color:var(--gm-text); }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register{ background:#fff; border:1px solid var(--gm-line); border-radius:14px; box-shadow:var(--gm-shadow); padding:24px; margin:0; }
.woocommerce-account #customer_login label{ font-size:13px; font-weight:600; color:var(--gm-text); display:block; margin:0 0 6px; }
.woocommerce-account #customer_login input.input-text,
.woocommerce-account #customer_login input[type="text"],
.woocommerce-account #customer_login input[type="email"],
.woocommerce-account #customer_login input[type="password"]{ width:100%; border:1px solid #dcdfe4; border-radius:9px; padding:11px 12px; font:inherit; font-size:14px; background:#fff; color:var(--gm-text); }
.woocommerce-account #customer_login input:focus{ outline:none; border-color:var(--gm-blue); box-shadow:0 0 0 3px rgba(52,131,250,.18); }
.woocommerce-account #customer_login .button,
.woocommerce-account #customer_login button[type="submit"]{ background:var(--gm-blue) !important; color:#fff !important; border:0 !important; border-radius:9px; padding:12px 24px; font-weight:700; font-size:14px; cursor:pointer; width:auto; }
.woocommerce-account #customer_login .button:hover,
.woocommerce-account #customer_login button[type="submit"]:hover{ background:var(--gm-blue-700) !important; }
.woocommerce-account #customer_login .woocommerce-form-login__rememberme{ font-weight:400; font-size:13px; color:var(--gm-text-2); display:flex; align-items:center; gap:7px; margin:4px 0 14px; }
.woocommerce-account #customer_login .woocommerce-form-login__rememberme input{ width:16px; height:16px; accent-color:var(--gm-blue); }
.woocommerce-account #customer_login .lost_password{ margin:14px 0 0; }
.woocommerce-account #customer_login .lost_password a{ color:var(--gm-blue); font-size:13px; }
.woocommerce-account #customer_login .woocommerce-privacy-policy-text{ font-size:12px; color:var(--gm-text-2); line-height:1.5; margin:10px 0; }
.woocommerce-account #customer_login .woocommerce-privacy-policy-text a{ color:var(--gm-blue); }
@media(max-width:780px){
  .woocommerce-account #customer_login.u-columns{ grid-template-columns:1fr; }
}

/* ===================== CATÁLOGO: título + paginación ===================== */
/* Quitar el título "Shop"/"Tienda" del archivo de productos */
/* Ocultar la cabecera del catálogo SIN eliminar su H1 (queda accesible e indexable). */
.woocommerce-products-header{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.post-type-archive-product .entry-title,
.woocommerce-shop .entry-title,
.tax-product_cat .entry-title{ display:none; }

/* Paginación estilo ML: números planos, página activa en cuadro con borde azul, Anterior/Siguiente como enlaces.
   Se usa la especificidad de WooCommerce (.woocommerce nav.woocommerce-pagination ...) + !important
   para anular la "rejilla" (bordes por defecto en ul/li). */
.woocommerce nav.woocommerce-pagination{ margin:34px 0 12px; text-align:center; }
.woocommerce nav.woocommerce-pagination ul{ display:inline-flex !important; align-items:center; flex-wrap:wrap; justify-content:center;
  gap:4px; list-style:none; margin:0; padding:0; border:0 !important; }
.woocommerce nav.woocommerce-pagination ul li{ margin:0 !important; border:0 !important; display:inline-flex; overflow:visible; }
.woocommerce nav.woocommerce-pagination ul li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul li span.page-numbers{ display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 10px; border:0 !important; background:transparent !important; color:var(--gm-text);
  font-weight:500; font-size:15px; text-decoration:none; border-radius:8px; transition:.12s; }
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover{ color:var(--gm-blue); background:transparent !important; }
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a.current{ border:2px solid var(--gm-blue) !important; background:#fff !important;
  color:var(--gm-blue) !important; font-weight:700; min-width:40px; height:40px; border-radius:10px; }
.woocommerce nav.woocommerce-pagination ul li .dots{ color:var(--gm-text-3); min-width:auto; padding:0 4px; }
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next{ color:var(--gm-blue) !important; font-weight:600; padding:0 12px; }
.woocommerce nav.woocommerce-pagination ul li a.prev:hover,
.woocommerce nav.woocommerce-pagination ul li a.next:hover{ text-decoration:underline; }

/* ============================================================
   Páginas de ayuda / legales — estilo "Centro de ayuda" ML
   ============================================================ */
.gm-help{ padding:22px 16px 56px; }

/* breadcrumb */
.gm-help__crumbs{ font-size:13px; color:var(--gm-text-2); margin:2px 0 18px; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.gm-help__crumbs a{ color:var(--gm-text-2); text-decoration:none; }
.gm-help__crumbs a:hover{ color:var(--gm-blue); text-decoration:underline; }
.gm-help__sep{ color:var(--gm-text-3); }
.gm-help__current{ color:var(--gm-text); }

/* grid */
.gm-help__grid{ display:grid; grid-template-columns:260px 1fr; gap:24px; align-items:start; }
.gm-help__grid::before,.gm-help__grid::after{ content:none; }

/* sidebar */
.gm-help__side{ position:sticky; top:88px; display:flex; flex-direction:column; gap:16px; }
.gm-help__sidecard{ background:var(--gm-surface); border:1px solid var(--gm-line); border-radius:8px; box-shadow:var(--gm-shadow); padding:6px 0 10px; }
.gm-help__group{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--gm-text-3); font-weight:700; margin:14px 18px 6px; }
.gm-help__sidecard ul{ list-style:none; margin:0; padding:0; }
.gm-help__sidecard li{ margin:0; }
.gm-help__sidecard li a{ display:block; padding:9px 18px; font-size:14px; color:var(--gm-text); text-decoration:none; border-left:3px solid transparent; line-height:1.3; transition:background .12s,color .12s; }
.gm-help__sidecard li a:hover{ background:rgba(0,0,0,.03); color:var(--gm-blue); }
.gm-help__sidecard li a.is-active{ color:var(--gm-blue); font-weight:600; border-left-color:var(--gm-blue); background:var(--gm-blue-100); }

/* sidebar: contacto */
.gm-help__contactcard{ background:var(--gm-surface); border:1px solid var(--gm-line); border-radius:8px; box-shadow:var(--gm-shadow); padding:18px; text-align:center; }
.gm-help__contacticon{ width:32px; height:32px; display:inline-block; margin-bottom:4px; }
.gm-help__contactcard strong{ display:block; font-size:15px; color:var(--gm-text); }
.gm-help__contactcard p{ font-size:13px; color:var(--gm-text-2); margin:4px 0 12px; }
.gm-help__wa{ display:block; background:var(--gm-green); color:#fff !important; text-decoration:none; font-weight:600; font-size:14px; padding:10px 12px; border-radius:6px; }
.gm-help__wa:hover{ background:var(--gm-green-700); }
.gm-help__mail{ display:block; margin-top:10px; font-size:13px; color:var(--gm-blue); text-decoration:none; word-break:break-word; }
.gm-help__mail:hover{ text-decoration:underline; }

/* content card */
.gm-help__main{ background:var(--gm-surface); border:1px solid var(--gm-line); border-radius:8px; box-shadow:var(--gm-shadow); padding:30px 40px 40px; }
.gm-help__head{ border-bottom:1px solid var(--gm-line); padding-bottom:16px; margin-bottom:22px; }
.gm-help__head h1{ font-size:28px; font-weight:700; color:var(--gm-text); margin:0; line-height:1.2; }

/* content typography */
.gm-help__body{ color:var(--gm-text); font-size:15px; line-height:1.7; }
.gm-help__body h2{ font-size:20px; font-weight:700; margin:30px 0 12px; color:var(--gm-text); }
.gm-help__body h3{ font-size:16px; font-weight:700; margin:22px 0 8px; color:var(--gm-text); }
.gm-help__body h2:first-child,.gm-help__body h3:first-child{ margin-top:0; }
.gm-help__body p{ margin:0 0 14px; }
.gm-help__body ul,.gm-help__body ol{ margin:0 0 16px; padding-left:22px; }
.gm-help__body li{ margin:0 0 8px; }
.gm-help__body li::marker{ color:var(--gm-text-3); }
.gm-help__body a{ color:var(--gm-blue); text-decoration:none; }
.gm-help__body a:hover{ text-decoration:underline; }
.gm-help__body strong{ font-weight:600; }

/* mobile */
@media (max-width:991px){
  .gm-help__grid{ grid-template-columns:1fr; }
  .gm-help__side{ position:static; order:2; }
  .gm-help__main{ order:1; padding:22px 18px 26px; }
  .gm-help__head h1{ font-size:22px; }
}

/* Checkout: acotar logos de los medios de pago (Webpay/Transbank, MercadoPago, etc.) */
.woocommerce-checkout ul.payment_methods li.wc_payment_method label img,
.woocommerce-checkout ul.payment_methods li.wc_payment_method img{
  max-height:24px; width:auto; display:inline-block; vertical-align:middle; margin:0 0 0 8px; float:none;
}
