/* =========================================================
   o27-tema.css — Diseño «Galería de series» (O27)
   Reproduce la maqueta aprobada: workspace/maqueta_tienda_v1/
   (inicio3, cat3, ficha3 + base.css + comun3.css).

   Paleta del diseño (punto 1 de la orden):
     blanco #fff · gris papel #f4f3ef · azul marino #14214d
     azul Sugoi #1c3a8f · rojo hanko #b8262b

   Solo presentación. No toca pasarelas, envíos, precios ni stock.
   ========================================================= */

:root{
  --o27-papel:#f4f3ef;
  --o27-blanco:#ffffff;
  --o27-marino:#14214d;
  --o27-azul:#1c3a8f;
  --o27-rojo:#b8262b;
  --o27-tinta:#1d2030;
  --o27-gris:#565b6e;
  --o27-linea:#dcdbd5;
  --o27-kana:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
}

/* Medidores estables: menos CLS por carga de fuentes (Galería de series). */
@font-face{
  font-family:'Fraunces';
  font-style:normal;font-weight:100 900;font-display:optional;
  src:url('../fonts/fraunces-var.woff2') format('woff2');
}
@font-face{
  font-family:'Libre Franklin';
  font-style:normal;font-weight:100 900;font-display:optional;
  src:url('../fonts/librefranklin-var.woff2') format('woff2');
}

/* Anti-CLS */
body.o27 .nav-right .aa-cart-btn{ min-width:118px; justify-content:flex-end; }
body.o27 .sugoi-single-info{ min-height:520px; }

/* Enlaces en texto: subrayado, no solo color */
body.o27 .woocommerce-breadcrumb a,
body.o27 .product_meta a{ text-decoration:underline; text-underline-offset:2px; }
body.o27 .nav-center{ min-width:0; max-width:100%; }
body.o27 .nav-center .logo{ min-width:0; max-width:100%; }
body.o27 .aa-main-inner{ min-width:0; }
body.o27 .o27-fila > *{ min-width:0; }
body.o27 .o27-fila img{ max-width:110px; }
body.o27 .sugoi-shop-wrapper{ min-width:0; }
body.o27 .sugoi-single-product-flex{ min-width:0; }
body.o27 .sugoi-single-info{ min-width:0; overflow-wrap:anywhere; }
body.o27 .woocommerce-product-gallery{ overflow:hidden; width:100%; }
body.o27 .woocommerce-product-gallery__wrapper{ overflow:hidden; }
body.o27 .o27-dentro-content{ min-width:0; }
body.o27 .o27-dentro-content ol li{ min-width:0; }

/* ---------- Base ---------- */
body.o27{
  background:#fff;
  color:var(--o27-tinta);
  font-family:var(--sg-font-body,'Libre Franklin',system-ui,sans-serif);
}
body.o27 .jp,
body.o27 .o27-kana,
body.o27 .o27-kana-band,
body.o27 .o27-kana-info,
body.o27 .kana-top,
body.o27 .kana-pie{
  font-family:var(--o27-kana);
}

/* Contenedor del diseño: 1120 px de contenido */
body.o27 .container,
body.o27 .container.sugoi-shop-wrapper{
  max-width:1168px;
  padding:0 24px;
}
body.o27 h1,body.o27 h2,body.o27 h3,body.o27 h4{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:400;
}
body.o27 a{ color:var(--o27-azul); text-decoration:none; }
/* Evita que el color de enlace global (rojo-naranja del logo) tiña títulos y
   precios de la tienda. Se devuelve cada uno a su color del diseño. */
body.o27 h1 a, body.o27 h2 a, body.o27 h3 a, body.o27 h4 a{ color:inherit; }
body.o27 .o27-fila h3 a{ color:var(--o27-tinta); }
body.o27 ul.products .sugoi-product-title-link,
body.o27 ul.products li.product h3 a{ color:var(--o27-tinta); }
body.o27 .btn-primary,
body.o27 .button,
body.o27 button.single_add_to_cart_button,
body.o27 .wc-block-components-button{
  background:var(--o27-marino);
  color:#fff;
  border-radius:0;
  font-family:var(--sg-font-body,'Libre Franklin',sans-serif);
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
}
body.o27 .btn-primary:hover,
body.o27 button.single_add_to_cart_button:hover{ background:#0e1839; }

/* El header fijo del tema deja hueco arriba */
body.o27{ padding-top:130px; }

/* O28: la cabecera fija ya reserva su alto con body.o27{padding-top}. El
   `#page{padding-top:150px}` heredado sumaba un hueco en blanco (~120 px)
   entre la cabecera y la primera sección en todas las vistas. Se anula. */
body.o27 #page{ padding-top:0; }

/* =========================================================
   Cabecera
   ======================================================= */
body.o27 .aa-header{
  position:fixed;
  background:#fff;
  box-shadow:none;
  font-family:var(--sg-font-body,'Libre Franklin',sans-serif);
  text-transform:none;
  padding:0;
}
body.o27 .aa-header .aa-topbar{
  background:#fff;
  color:var(--o27-gris);
  border-bottom:1px solid var(--o27-linea);
  font-size:12px;
  letter-spacing:0;
  padding:0;
}
body.o27 .aa-topbar-inner{ height:34px; }
body.o27 .aa-topbar .kana-top{
  font-weight:700;
  color:var(--o27-rojo);
  letter-spacing:.12em;
  margin-right:8px;
}
body.o27 .aa-main-nav{
  background:#fff;
  color:var(--o27-tinta);
  padding:0;
}
body.o27 .aa-main-inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  height:96px;
}
body.o27 .nav-left,
body.o27 .nav-right{ font-weight:400; font-size:14px; }
body.o27 .nav-left{ display:flex; gap:26px; }
body.o27 .nav-left a{ color:var(--o27-tinta); }
body.o27 .nav-left a:hover{ color:var(--o27-azul); }
body.o27 .nav-right{ display:flex; justify-content:flex-end; gap:22px; align-items:center; }
body.o27 .nav-right a,
body.o27 .nav-right .aa-cart-btn{
  font-family:var(--sg-font-body,'Libre Franklin',sans-serif);
  font-weight:400;
  font-size:14px;
  color:var(--o27-tinta);
  text-transform:none;
}
body.o27 .nav-center .logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-size:inherit;
}
body.o27 .nav-center .logo img{ height:34px; width:auto; }
body.o27 .nav-center .logo small{
  font-size:11px;
  letter-spacing:.4em;
  color:var(--o27-gris);
}
body.o27 .search-container{
  border:none;
  padding:0;
  background:transparent;
}
body.o27 .search-input{
  width:120px;
  font-family:var(--sg-font-body,'Libre Franklin',sans-serif);
  font-size:13px;
  color:var(--o27-tinta);
}
body.o27 .search-container span{ font-size:14px; }
body.o27 .aa-cart-btn{ background:none; border:none; cursor:pointer; }
body.o27 .cart-count{
  background:var(--o27-rojo);
  color:#fff;
  font-family:var(--sg-font-body,sans-serif);
  font-size:11px;
  height:17px; width:17px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  margin-left:4px;
}
body.o27 .mobile-menu-toggle{ display:none; }

/* =========================================================
   Pie
   ======================================================= */
body.o27 .aa-footer{
  background:var(--o27-marino);
  color:#d9ddeb;
  margin-top:40px;
  font-family:var(--sg-font-body,'Libre Franklin',sans-serif);
}
body.o27 .aa-footer-inner{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:30px;
  padding:46px 0 34px;
  font-size:14px;
}
body.o27 .kana-pie{
  font-size:40px;
  line-height:1;
  color:#fff;
  letter-spacing:.06em;
  font-weight:700;
}
body.o27 .kana-pie i{ font-style:normal; color:#e8484d; }
body.o27 .aa-footer h4{ color:#fff; font-family:var(--sg-font-body,sans-serif); font-size:14px; margin-bottom:6px; }
body.o27 .aa-footer a{ color:#d9ddeb; }
body.o27 .aa-footer a:hover{ color:#fff; }
body.o27 .footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  padding:16px 0;
  font-size:12px;
  color:#aeb6cd;
}
body.o27 .footer-email{ color:#fff; }

/* O28: pie como la maqueta — una sola línea de contacto y redes visibles. */
body.o27 .aa-footer-inner{ align-items:flex-start; }
body.o27 .aa-footer .social-icons{ margin-top:18px; gap:12px; }
body.o27 .aa-footer .social-icon-link{
  background:transparent;
  border:1px solid rgba(255,255,255,.5);
  width:38px; height:38px; border-radius:50%;
}
body.o27 .aa-footer .social-icon-link img{ width:17px; height:17px; filter:brightness(0) invert(1); opacity:1; }
body.o27 .aa-footer .social-icon-link:hover{ background:rgba(255,255,255,.14); border-color:#fff; }

/* =========================================================
   Inicio — lanzamiento panorámico
   ======================================================= */
.o27-lanzamiento{
  position:relative;
  height:560px;
  overflow:hidden;
  background:var(--o27-marino);
}
.o27-lanzamiento img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 34%;
}
.o27-lanzamiento::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(20,33,77,.55) 0,rgba(20,33,77,0) 45%);
}
.o27-ficha-museo{
  position:absolute; z-index:1;
  left:80px; bottom:48px;
  background:#fff;
  padding:20px 24px;
  max-width:340px;
  border-top:3px solid var(--o27-marino);
  box-shadow:0 10px 30px rgba(20,33,77,.25);
}
.o27-ficha-museo small{ display:block; font-size:12px; color:var(--o27-rojo); font-weight:600; }
.o27-ficha-museo h1{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:500; font-size:24px; line-height:1.15;
  margin:4px 0 6px;
}
.o27-ficha-museo p{ font-size:13px; color:var(--o27-gris); margin:0 0 12px; }
.o27-ficha-museo .o27-btn{
  display:inline-block;
  padding:11px 20px;
  background:var(--o27-marino);
  color:#fff;
  font-weight:600; font-size:13px;
}

/* =========================================================
   Inicio — secciones y mosaico
   ======================================================= */
.o27-series{ padding:64px 0 24px; }

/* O29: en el tema, la regla `.container{padding:0 24px}` del propio o27-tema.css
   vence a `.o27-series{padding:64px 0 24px}` (misma especificidad, gana la última)
   y dejaba «Elige tu serie» pegado a la panorámica (0 px arriba). Se devuelve el
   aire de la maqueta con mayor especificidad: 64 px arriba en «Elige tu serie»
   y 40 px en «Lo más pedido». */
body.o27 .o27-series.container{ padding-top:64px; }
body.o27 .o27-lista.container{ padding-top:40px; }
body.o27 .o27-series.container > .o27-tit{ margin-top:0; }
.o27-tit{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom:22px;
}
.o27-tit h2{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:400; font-size:30px; margin:0;
}
.o27-tit .o27-kana-head{
  font-size:13px; color:var(--o27-rojo); letter-spacing:.3em; margin-left:10px;
}
.o27-tit span{ font-size:13px; color:var(--o27-azul); }
.o27-mosaico{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:220px 220px;
  gap:14px;
}
.o27-mosaico a{
  position:relative; overflow:hidden; background:var(--o27-papel); display:block;
}
.o27-mosaico a:first-child{ grid-row:span 2; }
.o27-mosaico img{ width:100%; height:100%; object-fit:cover; display:block; }
.o27-mosaico b{
  position:absolute; left:0; bottom:0;
  background:rgba(20,33,77,.9);
  color:#fff;
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:500; font-size:17px;
  padding:8px 14px;
}
.o27-mosaico b span{ font-size:11px; margin-left:8px; opacity:.75; }

/* Inicio — lo más pedido (lista de 2 columnas) */
.o27-lista{ padding:40px 0 70px; }
.o27-filas{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.o27-fila{
  display:grid;
  grid-template-columns:110px 1fr auto;
  gap:18px; align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--o27-linea);
}
.o27-fila img{
  height:110px; width:110px;
  object-fit:contain;
  background:var(--o27-papel);
  padding:6px;
}
.o27-fila h3{ font-weight:500; font-size:15px; margin:0; font-family:var(--sg-font-body,sans-serif); }
.o27-fila h3 a{ color:var(--o27-tinta); }
.o27-fila p{ font-size:12px; color:var(--o27-gris); margin:2px 0 0; }
.o27-fila .o27-precio{
  font-family:var(--sg-font-display,'Fraunces',serif);
  color:var(--o27-marino);
  font-size:20px;
  white-space:nowrap;
}

/* =========================================================
   Categoría — banda panorámica
   ======================================================= */
.o27-banda{
  position:relative;
  height:260px;
  overflow:hidden;
  background:var(--o27-marino);
}
.o27-banda img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 30%;
}
.o27-banda::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(20,33,77,.92) 0,rgba(20,33,77,.75) 38%,rgba(20,33,77,0) 70%);
}
.o27-banda-inner{
  position:relative; z-index:1;
  height:100%;
  display:flex; flex-direction:column; justify-content:center;
  color:#fff;
}
.o27-kana-band{
  font-size:14px; letter-spacing:.35em; color:#f3c6c8;
}
.o27-banda h1{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:400; font-size:46px; line-height:1.05;
  margin:6px 0 8px; color:#fff !important;
}
.o27-banda p{ color:#d9ddeb; max-width:46ch; font-size:15px; margin:0; }
/* La banda ya titula la categoría: se oculta el título nativo de WooCommerce
   (dos <h1> «Libros» era duplicado y perjudica el SEO).
   O29: igual en tienda, etiquetas y búsquedas (la banda también los titula). */
body.o27.tax-product_cat .woocommerce-products-header,
body.o27.o27-archivo .woocommerce-products-header{ display:none; }

/* Categoría — barra de chips y orden */
.o27-catbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:26px 0 22px;
  border-bottom:1px solid var(--o27-linea);
  margin-bottom:28px;
  font-size:13px;
  flex-wrap:wrap;
  gap:12px;
}
.o27-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.o27-chip{
  border:1px solid var(--o27-linea);
  padding:7px 14px;
  border-radius:999px;
  color:var(--o27-tinta);
  font-size:13px;
}
.o27-chip.is-on{ background:var(--o27-marino); border-color:var(--o27-marino); color:#fff; }
body.o27 .woocommerce-result-count,
body.o27 .woocommerce-ordering{ font-size:13px; color:var(--o27-gris); }
body.o27 .woocommerce-ordering select{
  font-family:var(--sg-font-body,sans-serif);
  font-size:13px; padding:6px 10px;
  border:1px solid var(--o27-linea);
  background:#fff; color:var(--o27-tinta);
}

/* Categoría — grilla de 4 columnas */
body.o27 ul.products{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:34px 26px;
  margin:0; padding:0; list-style:none;
}
body.o27 ul.products li.product-card{
  width:auto; margin:0; float:none;
}
body.o27 .product-card .product-image{
  position:relative;
  background:var(--o27-papel);
  aspect-ratio:1;
  padding:18px;
  display:flex; align-items:center; justify-content:center;
}
body.o27 .product-card .product-image img.sugoi-main-image{
  width:100%; height:100%;
  object-fit:contain;
  mix-blend-mode:normal;
}
body.o27 .product-card .product-image img.sugoi-hover-image{ display:none; }
body.o27 .product-card .product-overlay{ display:none !important; }
body.o27 .product-card .sugoi-wishlist-btn{ display:none; }
body.o27 .product-card .product-info{ padding:0; }
body.o27 .product-card .product-info h3{
  font-family:var(--sg-font-body,sans-serif);
  font-weight:500; font-size:15px; line-height:1.35;
  margin:12px 0 0;
}
body.o27 .product-card .product-info h3 a{ color:var(--o27-tinta); }
body.o27 .product-card .sugoi-product-price{
  font-family:var(--sg-font-display,'Fraunces',serif);
  color:var(--o27-marino);
  font-size:19px;
  margin-top:4px;
}
/* Vence la regla por defecto de WooCommerce (color oliva) y la de O24. */
body.o27 ul.products li.product .price,
body.o27 ul.products li.product .sugoi-product-price{
  color:var(--o27-marino) !important;
  font-size:19px;
}
body.o27 ul.products li.product .sugoi-product-price .amount{ color:var(--o27-marino) !important; }
body.o27 .product-card .star-rating{ display:none; }
/* Tipo de producto sobre el nombre (gris) */
body.o27 .product-card .o27-card-tipo{
  font-size:12px; color:var(--o27-gris); margin:12px 0 0;
}
body.o27 .product-card .o27-card-tipo + h3{ margin-top:2px; }
body.o27 .product-card .product-info::before{
  content:none;
}

/* =========================================================
   Ficha de producto
   ======================================================= */
body.o27 .sugoi-single-product-main{ margin-top:0; }
body.o27 .sugoi-single-product-flex{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  gap:56px;
  padding-bottom:56px;
  align-items:start;
}
body.o27 .sugoi-single-gallery{ width:auto; }
body.o27 .woocommerce-product-gallery{ margin:0; }
body.o27 .woocommerce-product-gallery__wrapper{ margin:0; }
body.o27 .woocommerce-product-gallery .woocommerce-product-gallery__image{
  background:var(--o27-papel);
  aspect-ratio:1;
  padding:22px;
}
body.o27 .woocommerce-product-gallery .woocommerce-product-gallery__image img{
  width:100%; height:100%; object-fit:contain;
}
body.o27 .woocommerce-product-gallery .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:10px 0 0; padding:0;
}
body.o27 .woocommerce-product-gallery .flex-control-thumbs li{
  width:auto; margin:0;
  background:var(--o27-papel);
  aspect-ratio:1;
  padding:6px;
  border:1px solid transparent;
}
body.o27 .woocommerce-product-gallery .flex-control-thumbs li img{
  width:100%; height:100%; object-fit:contain; opacity:1;
}
body.o27 .woocommerce-product-gallery .flex-control-thumbs li img.flex-active{ opacity:1; }
body.o27 .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active){
  border-color:var(--o27-marino);
}
body.o27 .woocommerce-product-gallery__trigger{ display:none; }

body.o27 .o27-kana-info{
  display:block;
  font-size:13px; letter-spacing:.35em;
  color:var(--o27-rojo);
}
body.o27 .sugoi-single-title{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:400; font-size:38px; line-height:1.1;
  margin:6px 0 12px;
}
body.o27 .sugoi-single-price{
  font-family:var(--sg-font-display,'Fraunces',serif);
  color:var(--o27-marino);
  font-size:30px;
}
body.o27 .sugoi-single-price .amount{ color:var(--o27-marino); }
body.o27 .sugoi-single-price small{ font-family:var(--sg-font-body,sans-serif); font-size:13px; color:var(--o27-gris); }

/* O28: la descripción corta se repetía debajo del bloque de ediciones
   (el mismo texto que la edición Legado ya muestra). */
body.o27 .woocommerce-product-details__short-description{ display:none; }

/* Variaciones (portada) — ocultamos tabla y usamos los botones visuales O24 */
body.o27 table.variations{ border:0; }
/* O28: el título nativo «PORTADA» se ocultaba, pero la capa O24 lo volvía a
   mostrar con más especificidad (salían «Portada» y «PORTADA»). Se fuerza. */
body.o27 table.variations th.label,
body.o27.sugoi-themed div.product form.cart table.variations th.label{ display:none !important; }
body.o27 table.variations td.value{ display:block; padding:0; }
body.o27 table.variations select{ display:none !important; }
/* O28: la maqueta no lleva el enlace «Limpiar»; el radio se cambia eligiendo. */
body.o27 .reset_variations{ display:none !important; }
body.o27 .o27-lbl{
  font-size:13px; font-weight:600; margin:26px 0 10px;
}
/* O28: las miniaturas de portada en una sola fila, a la izquierda. */
body.o27 .sugoi-option-visual{
  display:flex; gap:12px; flex-wrap:nowrap;
}
body.o27 .sugoi-option{
  flex:0 0 auto;
  width:86px; text-align:center; font-size:12px;
  background:none; border:none; padding:0; cursor:pointer;
  color:var(--o27-tinta);
}
body.o27 .sugoi-option img{
  width:62px; aspect-ratio:3/4; object-fit:cover;
  border:2px solid transparent; padding:2px; margin:0 auto 4px;
  display:block;
}
body.o27 .sugoi-option.is-active img{ border-color:var(--o27-marino); }
body.o27 .sugoi-option-label{ color:var(--o27-gris); }

/* Ediciones (Esencial / Memorias / Legado) en lista con radio */
body.o27 .sugoi-editions{ margin-top:6px; }
body.o27 .sugoi-editions-title{
  font-family:var(--sg-font-body,sans-serif) !important;
  font-size:13px; font-weight:600; margin:26px 0 10px;
}
body.o27 .sugoi-editions-grid{ display:block; border-top:1px solid var(--o27-linea); }
body.o27 .sugoi-edition{
  display:grid;
  grid-template-columns:22px 1fr auto;
  gap:12px; align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--o27-linea);
  font-size:14px; color:var(--o27-tinta);
}
body.o27 .sugoi-edition::before{
  content:"";
  width:16px; height:16px;
  border:2px solid var(--o27-gris);
  border-radius:50%;
  grid-column:1;
}
body.o27 .sugoi-edition.is-current::before{ border:5px solid var(--o27-marino); }
body.o27 .sugoi-edition-label{ font-weight:600; }
body.o27 .sugoi-edition-price{
  font-family:var(--sg-font-display,'Fraunces',serif);
  color:var(--o27-marino); font-size:16px;
}
body.o27 .sugoi-edition-desc,
body.o27 .sugoi-edition-current{ color:var(--o27-gris); font-size:12px; }

/* Acciones: carrito + WhatsApp.
   O28: en el tema el formulario variable es flex y ponía el botón de carrito
   al costado de toda la columna, dejando el WhatsApp como una caja azul
   gigante. En la maqueta los dos botones van apilados y juntos: se pasa el
   formulario a bloque para que el botón quede debajo de las ediciones. */
body.o27 .o27-acc{ display:flex; flex-direction:column; gap:12px; margin-top:26px; align-items:stretch; }
body.o27 .o27-acc > form.cart,
body.o27 .o27-acc > form.variations_form{ display:block; width:100%; flex:none; margin:0; }
body.o27 .o27-acc .single_variation_wrap,
body.o27 .o27-acc .woocommerce-variation-add-to-cart{ display:block; width:100%; }
body.o27 .o27-acc .quantity{ display:block; margin:0 0 10px; }
body.o27 .o27-acc .quantity .qty{ width:84px; padding:8px 10px; }
body.o27 .o27-acc button.single_add_to_cart_button{
  width:100%; padding:15px; font-size:14px; min-height:48px;
}
body.o27 .o27-wa{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:1px solid var(--o27-marino);
  color:var(--o27-marino);
  padding:14px 20px; min-height:48px; width:100%;
  font-weight:600; font-size:14px;
  white-space:nowrap;
  background:transparent;
}
body.o27 .o27-wa:hover{ background:var(--o27-marino); color:#fff; }
/* O29: en móvil el WhatsApp iba en una sola línea con `nowrap` y desbordaba
   (~367 px en una pantalla de 390). Se permite el salto de línea. */
@media (max-width:640px){
  body.o27 .o27-wa{ justify-content:center; flex-wrap:wrap; white-space:normal; text-align:center; }
}
body.o27 .variations_button{ display:block; }

/* Nota con sello hanko */
body.o27 .o27-sello{
  display:flex; gap:14px; align-items:center;
  margin-top:22px;
  font-size:13px; color:var(--o27-gris);
}
body.o27 .o27-hanko{
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:50px; border-radius:3px;
  background:var(--o27-rojo); color:#fff;
  font-size:11px; font-weight:700;
  writing-mode:vertical-rl; text-orientation:upright;
  transform:rotate(-3deg);
  flex:0 0 auto;
}
body.o27 .sugoi-shipping-note{ font-size:13px; color:var(--o27-gris); margin-top:10px; }

/* «Qué hay dentro» en dos columnas sobre gris papel */
body.o27 .o27-dentro{ background:var(--o27-papel); padding:52px 0; }
body.o27 .o27-dentro-content ol{
  columns:2; column-gap:56px; list-style:none;
  counter-reset:o27i; margin:0; padding:0;
}
body.o27 .o27-dentro-content ol li{
  counter-increment:o27i;
  display:grid; grid-template-columns:44px 1fr auto; gap:10px;
  padding:11px 0; border-bottom:1px solid var(--o27-linea);
  break-inside:avoid; font-size:15px;
}
body.o27 .o27-dentro-content ol li::before{
  content:counter(o27i,decimal-leading-zero);
  font-family:var(--sg-font-display,'Fraunces',serif);
  color:var(--o27-rojo);
}
body.o27 .o27-dentro-content p{ max-width:none; }
body.o27 .o27-section{ padding:32px 0; }
body.o27 .o27-section h2{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:400; font-size:30px; margin:0 0 18px;
}
body.o27 .o27-reviews.is-empty .sugoi-section-content{ display:none; }

/* Migas y meta */
body.o27 .woocommerce-breadcrumb{ font-size:13px; color:var(--o27-gris); padding:18px 0; }
body.o27 .product_meta{ font-size:12px; color:var(--o27-gris); }

/* Relacionados */
body.o27 .related.products{ margin-top:40px; }
body.o27 .related.products > h2{
  font-family:var(--sg-font-display,'Fraunces',serif);
  font-weight:400; font-size:30px;
}

/* Avisos / notas */
body.o27 .sugoi-choose-note{ font-size:13px; color:var(--o27-rojo); margin:10px 0 0; }

/* =========================================================
   Responsive
   ======================================================= */
@media (max-width:1024px){
  body.o27{ padding-top:118px; }
  .o27-lanzamiento{ height:440px; }
  .o27-ficha-museo{ left:24px; bottom:24px; }
  body.o27 .sugoi-single-product-flex{ gap:32px; }
  body.o27 ul.products{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px){
  body.o27 .aa-main-inner{ grid-template-columns:auto 1fr auto; gap:12px; height:84px; }
  body.o27 .nav-left{ display:none; }
  body.o27 .nav-collapse{ display:block; }
  body.o27 .mobile-menu-toggle{ display:block; }
  body.o27 .aa-footer-inner{ grid-template-columns:1fr; gap:22px; }
  .o27-mosaico{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    gap:12px;
  }
  .o27-mosaico a{ aspect-ratio:4/3; }
  .o27-mosaico a:first-child{ grid-column:span 2; grid-row:auto; aspect-ratio:16/10; }
  body.o27 ul.products{ grid-template-columns:repeat(2,1fr); }
  body.o27 .sugoi-single-product-flex{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  body.o27{ padding-top:106px; }
  body.o27 .aa-topbar .topbar-left span{ font-size:11px; }
  body.o27 .aa-topbar .topbar-right{ display:none; }
  .o27-lanzamiento{ height:360px; }
  .o27-ficha-museo{
    left:12px; right:12px; bottom:12px; max-width:none;
    padding:16px 18px;
  }
  .o27-ficha-museo h1{ font-size:20px; }
  .o27-filas{ grid-template-columns:1fr; }
  body.o27 ul.products{ grid-template-columns:repeat(2,1fr); gap:22px 14px; }
  .o27-banda{ height:200px; }
  .o27-banda h1{ font-size:32px; }
  body.o27 .o27-dentro-content ol{ columns:1; }
  .o27-tit h2{ font-size:24px; }
  body.o27 .sugoi-single-title{ font-size:28px; }
  body.o27 .sugoi-single-price{ font-size:24px; }
  body.o27 .o27-acc{ flex-direction:column; }
}
