/*
Theme Name:   Giraffe Collective
Theme URI:    https://giraffecollective.cl
Description:  La cara de Giraffe Collective. Tema hijo de Twenty Twenty-Five con la paleta, las tipografías y la portada que diseñó Elisa.
Author:       Bardo Design SpA
Template:     twentytwentyfive
Version:      1.30.1
Text Domain:  giraffe
*/

/* ------------------------------------------------------------------ base
 * Tipografías: las mismas de bardodesign.cl. Poppins para todo lo que sea
 * título o rótulo (en versales y con la letra separada, como allá), y
 * Questrial para el texto corrido y la interfaz.
 */

/* La paleta cambió en septiembre de 2026: el café oscuro dio paso al burdeo
   del logo con el ocre como acento, y la portada pasó a tener de fondo la
   textura acuarelada de piel de jirafa.

   Los nombres viejos —`--gc-cafe`, `--gc-cafe-mid`— siguen existiendo y
   ahora apuntan al burdeo. Son unas ciento veinte reglas repartidas por
   todo el archivo: renombrarlas de una sola vez era la forma más segura de
   que algo quedara sin cambiar y nadie lo notara hasta verlo en la tienda.
   Los nombres nuevos son los que hay que usar de acá en adelante. */
:root{
  --gc-tinto:#7A1C2F;       /* el burdeo del logo: barra, pie y títulos */
  --gc-tinto-hondo:#5E1523;
  --gc-ocre:#B4691C;        /* el acento: botones y filetes */
  --gc-ocre-hondo:#95560F;
  --gc-arena:#E9DCCC;       /* el beige de la textura, para el fondo */
  --gc-celeste:#C9D3D5;     /* la banda de «cómo vender» */
  --gc-crema:#F6F0E9;       /* la banda de Instagram */
  --gc-dorado:#D0891F;      /* el filete y la línea que invita a hacer clic */

  --gc-cafe:var(--gc-tinto);        /* barra superior y pie */
  --gc-cafe-mid:var(--gc-tinto);    /* títulos */
  --gc-cafe-soft:#8A6552;
  --gc-menta:#C8D2D1;
  --gc-gris:#E9E9E9;
  --gc-hueso:#FBFAF8;
  --gc-tinta:#1E1B19;
  --gc-tinta-2:#5A544F;
  --gc-linea:#DAD5CF;
  --gc-display:"Poppins", "Questrial", Helvetica, Arial, sans-serif;
  --gc-texto:"Questrial", "Poppins", Helvetica, Arial, sans-serif;
}

body{
  font-family:var(--gc-texto);
  color:var(--gc-tinta);
  background:var(--gc-hueso);
}

h1,h2,h3,h4,.gc-display{
  font-family:var(--gc-display);
  font-weight:400;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-wrap:balance;
}

/* ---------------------------------------------------------- ancho total
 * WordPress mete el contenido de la página en una columna angosta. Las
 * bandas de la portada tienen que romper esa columna y tomar el ancho
 * completo de la pantalla, o la portada se ve encajonada.
 * El calc(50% - 50vw) es el truco clásico: corre el bloque hasta el borde
 * sin importar en qué contenedor esté metido.
 *
 * OJO: nada de `width:100vw`. La unidad vw incluye el ancho de la barra de
 * desplazamiento, así que el bloque queda unos píxeles más ancho que la
 * pantalla y aparece una barra horizontal. Con solo los márgenes negativos
 * el ancho lo calcula el navegador y siempre calza.
 */
.gc-barra, .gc-portada, .gc-seccion, .gc-marcas, .gc-vender, .gc-instagram, .gc-pie{
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
html, body{overflow-x:hidden}

/* La portada no lleva título de página: el logo ya dice cómo se llama. */
body.home .wp-block-post-title{display:none}

/* Las bandas de la portada van pegadas, sin aire entre medio.
 *
 * WordPress separa los bloques de primer nivel con su `blockGap` —unos 19px—
 * y como cada banda es una franja de color a ancho completo, ese espacio se
 * veía como una línea blanca cruzando la pantalla: una bajo la barra burdeo y
 * otra entre el filete ocre y la banda menta. No era un borde mal puesto,
 * era el fondo de la página asomándose entre dos bloques.
 */
/* La barra y el pie son «partes de plantilla», y WordPress les deja el mismo
   espacio de bloque por fuera: eso dejaba una línea blanca encima del pie
   burdeo en TODAS las páginas, no solo en la portada. */
.wp-block-template-part{margin-block-start:0}

body.home main{padding-top:0;margin-top:0}
body.home .wp-block-post-content{margin-top:0}
body.home .wp-block-post-content > *{margin-block-start:0}

/* -------------------------------------------------------- barra superior
 * Delgada, con el logo grande. A la izquierda la hamburguesa pegada al
 * logo; a la derecha, solo el carrito.
 */

.gc-barra{
  background:var(--gc-cafe);
  padding:6px 26px;
}
.gc-barra-in{
  max-width:1600px;margin:0 auto;
  display:flex;align-items:center;gap:18px;
}
/* El logotipo completo es una tira larga y baja: a la altura del anterior
   —42px— ocuparía casi trescientos píxeles de barra. A 26px mide lo mismo de
   ancho que antes y se lee igual. */
.gc-barra .gc-logo{height:44px;width:auto;display:block}
.gc-barra a{
  color:#fff;text-decoration:none;
  font-family:var(--gc-display);font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;
}
.gc-barra a:hover{text-decoration:underline;text-underline-offset:5px}
.gc-carro{margin-left:auto}

.gc-hamburguesa{
  background:none;border:0;padding:6px 4px;cursor:pointer;
  display:flex;flex-direction:column;gap:5px;
}
.gc-hamburguesa span{
  display:block;width:24px;height:1.5px;background:#fff;transition:transform .2s;
}
.gc-hamburguesa:hover span{background:var(--gc-menta)}

/* ------------------------------------------------------- menú lateral */

.gc-velo{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  opacity:0;pointer-events:none;transition:opacity .28s;z-index:9998;
}
/* El menú va al revés que la barra: fondo blanco y letra burdeo.
   Una cortina burdeo de 370px sobre la pantalla pesaba demasiado —era el
   color más fuerte de la marca ocupando media pantalla— y las marcas en dos
   columnas sobre ese fondo costaban de leer. En blanco, el color queda para
   la barra y para lo que hay que mirar. */
.gc-panel{
  position:fixed;top:0;bottom:0;left:0;width:min(370px,86vw);
  background:#fff;color:var(--gc-tinto);z-index:9999;
  transform:translateX(-100%);transition:transform .28s ease;
  padding:26px 32px 48px;overflow-y:auto;
  box-shadow:0 0 40px rgba(0,0,0,.14);
}
body.gc-abierto .gc-velo{opacity:1;pointer-events:auto}
body.gc-abierto .gc-panel{transform:none}

.gc-panel-cerrar{
  background:none;border:0;color:var(--gc-tinto);font-size:26px;line-height:1;
  cursor:pointer;padding:0;margin-bottom:26px;
}
.gc-panel h3{
  font-size:11px;letter-spacing:.2em;color:var(--gc-ocre-hondo);
  margin:30px 0 12px;font-weight:400;
}
.gc-panel ul{list-style:none;margin:0;padding:0}
.gc-panel li{margin:0 0 13px}
.gc-panel a{
  color:var(--gc-tinto);text-decoration:none;font-family:var(--gc-texto);
  font-size:15px;letter-spacing:.02em;
}
.gc-panel a:hover{color:var(--gc-ocre-hondo)}
/* El `> li > a` es lo que separa las entradas del menú de lo que cuelga de
   ellas. Sin esa restricción, las once categorías y las cuarenta marcas
   —que ahora viven DENTRO de esta lista— heredaban la letra de ROPA y
   salían en versales de 15px: una pared de mayúsculas. */
.gc-panel .gc-panel-grande > li > a{
  font-family:var(--gc-display);font-size:15px;
  letter-spacing:.12em;text-transform:uppercase;
}
/* Las marcas, en dos columnas y en orden.
   En una sola tira que se envuelve sola quedaban filas de anchos distintos
   y se leían como una lista desordenada, aunque estuvieran alfabéticas. */
.gc-panel-marcas{
  display:grid;grid-template-columns:1fr 1fr;
  gap:7px 18px;align-items:start;
}
/* Los nombres de adentro van un punto más chicos que las entradas del menú:
   son una lista para buscar, no para leer de corrido, y así la columna de
   cuarenta marcas cabe sin volverse una pared. */
.gc-panel-marcas a{font-size:12.5px;line-height:1.3}
.gc-panel-pie{
  margin-top:34px;padding-top:22px;border-top:1px solid var(--gc-linea);
  font-size:13px;color:var(--gc-tinta-2);
}
.gc-panel-pie a{font-size:13px}

/* -------------------------------------------------------------- portada */

/* El fondo es la textura acuarelada de jirafa, repetida.
 *
 * La imagen viene hecha para calzar consigo misma, así que se repite sin
 * costura y basta un cuadro de 1000px para cubrir cualquier pantalla. El
 * `background-size` es lo que fija el tamaño de las manchas: a 700px se ven
 * del porte que tienen en el diseño, ni estampado chico ni manchones.
 *
 * El filete ocre de abajo no es decoración suelta: es lo que separa la
 * portada de la banda de categorías, que ahora es menta. Sin él los dos
 * fondos se tocan y el corte queda blando.
 */
.gc-portada{
  background:var(--gc-arena) url(assets/giraffe-textura-acuarela.jpg) repeat;
  background-size:540px auto;
  border-bottom:9px solid var(--gc-ocre);
  overflow:hidden;
}
/* Sin caja: las jirafas llegan hasta los bordes de la pantalla. */
.gc-portada-in{
  max-width:none;margin:0;
  display:grid;grid-template-columns:1fr minmax(280px,520px) 1fr;
  align-items:end;gap:0;
}
.gc-jirafa{width:100%;height:auto;display:block}
.gc-jirafa-izq{justify-self:start;max-width:min(460px,30vw)}
.gc-jirafa-der{justify-self:end;max-width:min(480px,31vw)}
.gc-portada-centro{text-align:center;padding:64px 16px 48px}
.gc-logo-portada{width:100%;max-width:430px;height:auto;margin:0 auto}
/* La bajada iba en 12px, con mucho espaciado entre letras y a veinte píxeles
   del logotipo: sobre la textura se perdía y parecía un pie de foto suelto.
   Ahora es más grande, más gruesa y va pegada al nombre, que es donde se lee
   como lo que es: la frase de la marca. */
.gc-bajada{
  font-family:var(--gc-display);font-weight:500;
  font-size:clamp(13px,1.15vw,15px);letter-spacing:.18em;text-transform:uppercase;
  color:var(--gc-tinto);margin:4px 0 26px;
}

/* botones — en ocre, que es el acento de la marca. El burdeo queda para la
   barra, el pie y los títulos: si el botón fuera del mismo color que la
   barra, dejaría de verse como algo en qué hacer clic. */
.gc-btn{
  display:inline-block;background:var(--gc-ocre);color:#fff;
  text-decoration:none;padding:14px 34px;border-radius:2px;
  font-family:var(--gc-display);font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;
  border:1px solid var(--gc-ocre);transition:background .15s;
}
.gc-btn:hover{background:var(--gc-ocre-hondo);border-color:var(--gc-ocre-hondo);color:#fff}
.gc-btn.gc-borde{background:transparent;color:var(--gc-ocre-hondo)}
.gc-btn.gc-borde:hover{background:var(--gc-ocre);border-color:var(--gc-ocre);color:#fff}
/* El botón grande: el mismo botón, con más aire. El color va repetido a
   propósito —ver la nota de `.gc-grande` más abajo—: sin él la letra del
   botón de Instagram quedaba café sobre café y solo aparecía al pasar el
   mouse por encima. */
.gc-btn.gc-grande{
  font-size:15px;letter-spacing:.18em;padding:18px 46px;
  color:#fff;background:var(--gc-ocre);border-bottom:0;
}
/* El de Instagram cierra la página y va en burdeo, igual que el pie que
   viene justo abajo. */
.gc-instagram .gc-btn{background:var(--gc-tinto);border-color:var(--gc-tinto)}
.gc-instagram .gc-btn:hover{background:var(--gc-tinto-hondo);border-color:var(--gc-tinto-hondo)}
.gc-btn.gc-grande:hover{color:#fff}

/* ----------------------------------------------------------- categorías */

/* La banda de categorías va en menta, como en el diseño: las jirafas
   vestidas están recortadas sobre fondo claro y necesitan un color plano
   detrás para no quedar flotando sobre el blanco de la página. */
/* El velo blanco encima del microcemento.
   La foto del muro sola quedaba oscura para una banda que tiene que hacer de
   fondo: las jirafas vestidas, que son casi todas claras, competían con el
   cemento en vez de destacarse. El velo lo aclara sin borrar el relieve. */
.gc-seccion{
  padding:56px 24px 64px;
  background:
    linear-gradient(rgba(255,255,255,.52), rgba(255,255,255,.52)),
    var(--gc-arena) url(assets/giraffe-microcemento.jpg) center/cover no-repeat;
}
.gc-seccion-in{max-width:1400px;margin:0 auto}
.gc-titulo-seccion{
  font-family:var(--gc-display);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gc-tinta-2);margin:0 0 28px;text-align:center;
}
.gc-categorias{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;
}
.gc-cat{
  display:flex;flex-direction:column;align-items:center;
  text-decoration:none;color:var(--gc-tinta);
}
.gc-cat-figura{
  width:100%;display:flex;align-items:flex-end;justify-content:center;
  min-height:210px;
}
.gc-cat-figura img{
  max-width:100%;max-height:210px;width:auto;height:auto;display:block;
  transition:transform .2s;
}
.gc-cat:hover .gc-cat-figura img{transform:translateY(-4px)}
.gc-cat-nombre{
  margin-top:14px;font-family:var(--gc-display);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  text-align:center;
}

/* --------------------------------------------------------------- marcas
 * Ya no va en la portada — vive en el menú lateral. El shortcode se queda
 * por si alguna página la necesita.
 */

.gc-marcas{background:var(--gc-menta);padding:52px 24px}
.gc-marcas-in{max-width:1400px;margin:0 auto;text-align:center}
.gc-marcas-lista{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;
  margin:0;padding:0;list-style:none;
}
.gc-marcas-lista a{
  color:var(--gc-cafe-mid);text-decoration:none;
  font-family:var(--gc-display);font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;
}
.gc-marcas-lista a:hover{text-decoration:underline;text-underline-offset:5px}

/* ---------------------------------------------------------- cómo vender
 * La banda se queda porque explica el negocio a quien llega de afuera. Lo
 * que NO va es el enlace para registrarse: ese lo manda Elisa por mensaje a
 * cada dueña, no se ofrece abierto en el sitio.
 */

/* Microcemento teñido de celeste, y la ilustración encima sin caja.
   La foto anterior era una fotografía a sangre dentro de un rectángulo: se
   leía como un banner pegado. La jirafa abrazada al elefante está recortada,
   así que se apoya sobre la banda como un dibujo sobre el muro. */
.gc-vender{
  background:var(--gc-celeste) url(assets/giraffe-microcemento-celeste.jpg) center/cover no-repeat;
  border-bottom:9px solid var(--gc-dorado);
}
.gc-vender-in{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,460px) 1fr;align-items:center;
}
.gc-vender-foto{
  display:flex;align-items:flex-end;justify-content:center;
  padding:34px 12px 0;min-height:0;
}
.gc-vender-foto img{
  position:static;width:auto;height:auto;
  max-width:100%;max-height:460px;object-fit:contain;display:block;
}
.gc-vender-txt{padding:56px 48px;align-self:center;color:var(--gc-tinto)}
.gc-vender-txt h2{font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin:0 0 22px;
  color:var(--gc-tinto)}
.gc-vender-txt p{max-width:52ch;margin:0 0 14px;line-height:1.7;color:var(--gc-tinto)}
/* El selector lleva el padre a propósito: `.gc-vender-txt p` de arriba pinta
   todos los párrafos de burdeo y le ganaba a este por tener una clase más.
   Esta línea es la que invita a hacer clic y tiene que ir en ocre. */
.gc-vender-txt .gc-vender-nota{
  margin:22px 0 26px !important;color:var(--gc-dorado);font-size:15px;
}
/* El botón de esta banda va en burdeo y no en ocre: el ocre ya está en el
   filete y en la línea de arriba, y tres tonos del mismo naranjo seguidos
   se anulan entre ellos. */
.gc-vender .gc-btn{
  background:var(--gc-tinto);border-color:var(--gc-tinto);
  font-size:14px;letter-spacing:.18em;padding:17px 42px;
}
.gc-vender .gc-btn:hover{background:var(--gc-tinto-hondo);border-color:var(--gc-tinto-hondo)}

/* ------------------------------------------------------------ instagram
 * Chica y de una sola fila: es un guiño al Instagram, no una segunda
 * tienda. El nombre de la cuenta es lo que tiene que quedar grande.
 */

.gc-instagram{text-align:center;padding:56px 24px 64px;background:var(--gc-crema)}
.gc-instagram-in{max-width:1400px;margin:0 auto}
.gc-instagram h2{font-size:clamp(18px,2vw,22px);margin:0 0 26px;letter-spacing:.2em}
/* Ocho fotos, una sola fila: cada cuadro queda chico y la sección no le
   quita protagonismo a la tienda. */
.gc-ig-grilla{
  display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:0 0 32px;
}
.gc-ig-foto{
  display:block;position:relative;padding-top:100%;
  overflow:hidden;background:var(--gc-gris);
}
.gc-ig-foto img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;transition:transform .35s;
}
.gc-ig-foto:hover img{transform:scale(1.04)}

/* ------------------------------------------------------------------ pie */

.gc-pie{background:var(--gc-cafe);color:#fff;padding:32px 26px 30px}
.gc-pie-in{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start;
}
/* El logotipo completo es una tira ancha y baja: a 38px de alto se comía el
   pie entero. A 22px ocupa una línea y se lee igual. */
.gc-pie img{height:22px;width:auto;margin-bottom:12px}
.gc-pie p{color:rgba(255,255,255,.78);margin:0 0 5px;font-size:13px}
.gc-pie a{color:#fff}

/* ------------------------------------------------- la prenda bajo la marca */

/* El nombre es la marca; esto dice qué es. Tiene que leerse claro pero
   sin competirle a la marca. */
.gc-bajada-prenda{
  font-family:var(--gc-texto);
  font-size:13.5px;
  color:var(--gc-tinta-2);
  margin:2px 0 8px;
  letter-spacing:.01em;
}
.gc-bajada-ficha{font-size:16px;margin:0 0 14px}

/* En la grilla, la bajada va centrada igual que el nombre y el precio. */
.wc-block-product .gc-bajada-prenda,
.woocommerce ul.products li.product .gc-bajada-prenda{text-align:center}

/* La marca, que es el nombre del producto. */
.wc-block-product .wp-block-post-title,
.wc-block-product .wp-block-post-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title{
  font-family:var(--gc-display);
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.wc-block-product .wp-block-post-title{font-size:16px;margin:14px 0 0}
.wc-block-product .wp-block-post-title a{text-decoration:none;color:var(--gc-tinta)}

/* --------------------------------------------------- estados de la ficha */

.gc-reservado, .gc-vendido, .gc-mio{
  display:inline-block;padding:5px 13px;border-radius:2px;
  font-family:var(--gc-display);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
}
.gc-reservado{background:#F7EEDC;color:#8A5A12}
.gc-vendido{background:var(--gc-cafe-mid);color:#fff}
.gc-mio{background:#E4F0EA;color:#2E6B4F}

/* En la grilla el sello va ENCIMA de la foto, no sobre el nombre.
   Si ocupa su propia línea, la tarjeta vendida crece y descuadra la fila:
   nombre, precio y botón bajan unos píxeles respecto de sus vecinas.
   Hay dos marcados posibles — el de bloques (.wc-block-product, que es el
   que usa esta tienda) y el clásico (ul.products li.product) — y los dos
   tienen que quedar cubiertos. */
.wc-block-product,
.woocommerce ul.products li.product{position:relative}
.wc-block-product .gc-vendido,
.wc-block-product .gc-reservado,
.wc-block-product .gc-mio,
.woocommerce ul.products li.product .gc-vendido,
.woocommerce ul.products li.product .gc-reservado,
.woocommerce ul.products li.product .gc-mio{
  position:absolute;top:12px;left:12px;z-index:2;
  box-shadow:0 1px 4px rgba(0,0,0,.14);
}

/* ------------------------------------------------------------- la tienda */

/* Sin el título "Tienda": se entra a ver ropa, no a leer un encabezado.
   En las categorías el título sí se queda, porque ahí dice qué se está
   mirando. */
body.post-type-archive-product .wp-block-query-title,
body.post-type-archive-product .woocommerce-products-header,
body.post-type-archive-product .woocommerce-breadcrumb,
body.post-type-archive-product .wp-block-woocommerce-breadcrumbs{display:none}

/* Cuatro por fila. El bloque de productos trae la clase columns-3 escrita
   en la plantilla; se pisa desde acá para no tener que tocar la plantilla
   en el editor del sitio. */
.wc-block-product-template,
.wc-block-product-template.columns-3,
.wc-block-product-template.columns-2{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px 14px !important;
}
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  margin:0;padding:0;list-style:none;
}
.woocommerce ul.products li.product{
  width:auto !important;margin:0 !important;float:none !important;
  text-align:center;
}
.wc-block-product{text-align:center}
.wc-block-product .wc-block-components-product-price{justify-content:center}

/* Las fotos vienen de Instagram con proporciones distintas — cuadradas,
   verticales, algunas casi panorámicas — y la grilla queda dentada: cada
   tarjeta empieza su nombre a una altura distinta. Se encuadran todas en un
   cuadrado con `contain`, que ajusta sin recortar: en ropa de segunda mano
   cortar la foto puede dejar fuera justo el detalle que decide la compra. */
.wc-block-product .wc-block-components-product-image img,
.woocommerce ul.products li.product img{
  aspect-ratio:1/1;
  width:100%;height:auto;
  object-fit:contain;
  background:#fff;
}

/* ----------------------------------------------------------------- móvil */

@media (max-width:1100px){
  .gc-ig-grilla{grid-template-columns:repeat(4,1fr)}
}

/* ------------------------------------------------------- ficha de prenda */

/* "Category: Pantalones" — la palabra viene en inglés desde el bloque de
   WooCommerce y no hay dónde traducirla. Se esconde el rótulo y queda solo
   la categoría, que es lo que sirve. */
.wp-block-post-terms__prefix{display:none}

/* La bajada salía dos veces: la que pinta el tema (con estilo) y el extracto
   que imprime la plantilla de bloques. Se queda la del tema. */
.single-product .wp-block-post-excerpt{display:none}

/* Flechas de la galería. FlexSlider las trae, WooCommerce las apaga y
   además no les pone estilo: sin esto son dos textos sueltos. */
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery .flex-direction-nav{
  list-style:none;margin:0;padding:0;
}
.woocommerce-product-gallery .flex-direction-nav a{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.92);box-shadow:0 1px 6px rgba(0,0,0,.16);
  display:flex;align-items:center;justify-content:center;
  text-indent:0;font-size:0;color:var(--gc-cafe-mid);
  opacity:0;transition:opacity .18s;
}
.woocommerce-product-gallery:hover .flex-direction-nav a,
.woocommerce-product-gallery .flex-direction-nav a:focus{opacity:1}
.woocommerce-product-gallery .flex-direction-nav a::before{
  font-size:20px;line-height:1;font-family:var(--gc-texto);
}
.woocommerce-product-gallery .flex-nav-prev a{left:12px}
.woocommerce-product-gallery .flex-nav-next a{right:12px}
.woocommerce-product-gallery .flex-nav-prev a::before{content:"‹"}
.woocommerce-product-gallery .flex-nav-next a::before{content:"›"}
/* En pantallas sin puntero (celular) las flechas se quedan visibles. */
@media (hover:none){
  .woocommerce-product-gallery .flex-direction-nav a{opacity:1}
}

/* ------------------------------------------------------- vista rápida */

.gc-vista-rapida{
  display:block;width:100%;margin:8px 0 0;
  background:none;border:1px solid var(--gc-linea);border-radius:2px;
  padding:9px 10px;cursor:pointer;color:var(--gc-tinta-2);
  font-family:var(--gc-display);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  transition:border-color .15s,color .15s;
}
.gc-vista-rapida:hover{border-color:var(--gc-cafe-mid);color:var(--gc-cafe-mid)}

.gc-vr-velo{
  position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;
}
.gc-vr{
  --gc-vr-alto:min(560px,74vh);
  position:fixed;z-index:10001;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(980px,94vw);max-height:90vh;overflow:hidden;
  background:var(--gc-hueso);border-radius:3px;
  box-shadow:0 10px 40px rgba(0,0,0,.28);
}
.gc-vr-cerrar{
  position:absolute;top:10px;right:14px;z-index:2;
  background:none;border:0;font-size:30px;line-height:1;cursor:pointer;
  color:var(--gc-tinta-2);padding:0;
}
/* Las fotos van UNA AL LADO DE LA OTRA, no apiladas.
 *
 * Apiladas, una prenda con cinco fotos hacía una ventana de varias pantallas
 * de alto: había que desplazarse dentro de la vista rápida para llegar al
 * precio y al botón, que es exactamente lo que la vista rápida venía a
 * evitar. En horizontal la ventana mantiene una altura fija y cabe entera en
 * la pantalla; las fotos se recorren de lado.
 */
.gc-vr-cuerpo{display:grid;grid-template-columns:1.1fr 1fr;gap:0;align-items:stretch}
.gc-vr-fotos{
  display:flex;flex-direction:row;gap:3px;background:#fff;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
}
.gc-vr-fotos img{
  flex:0 0 auto;
  height:var(--gc-vr-alto);width:auto;max-width:none;
  object-fit:contain;display:block;
  scroll-snap-align:center;
}
.gc-vr-datos{padding:38px 40px 34px;align-self:start;overflow-y:auto;max-height:var(--gc-vr-alto)}
.gc-vr-datos h2{font-size:clamp(20px,2.4vw,28px);margin:0 0 8px}
.gc-vr-bajada{color:var(--gc-tinta-2);margin:0 0 16px;font-size:14.5px}
.gc-vr-precio{font-size:22px;margin:0 0 24px}
.gc-vr-precio s{color:var(--gc-tinta-2);font-size:16px;margin-right:8px}
.gc-vr-agregar{cursor:pointer}
.gc-vr-ficha{
  display:inline-block;margin-top:18px;color:var(--gc-tinta-2);
  font-size:13px;text-underline-offset:4px;
}
.gc-vr-cargando{padding:60px 40px;text-align:center;color:var(--gc-tinta-2)}

@media (max-width:820px){
  .gc-vr{--gc-vr-alto:44vh}
  .gc-vr-cuerpo{grid-template-columns:1fr}
  .gc-vr-datos{padding:24px 22px 30px;max-height:none}
}

/* --------------------------------------------------------------- pagar
 * La cabecera del checkout la pone WooCommerce con su propia parte de
 * plantilla; el tema la reemplaza por la barra café (parts/checkout-header.html)
 * para que la clienta no sienta que salió del sitio justo al pagar.
 */
.gc-aviso-pagar{
  background:var(--gc-menta);border-radius:3px;
  padding:20px 24px;margin:0 0 28px;
}
.gc-aviso-pagar p{margin:0 0 9px;font-size:14.5px;line-height:1.6}
.gc-aviso-pagar p:last-child{margin-bottom:0}
.gc-aviso-pagar strong{font-weight:400;color:var(--gc-cafe-mid)}

/* El "1" del resumen del pedido.
   Cada prenda es única, así que la cantidad no informa nada: siempre va a
   decir 1. En su lugar va "Reservado", que sí le dice algo a la compradora.
   OJO: la burbuja del número está encima de la miniatura y es redonda; al
   estirarla para que quepa la palabra, tapaba el nombre de la prenda. Por
   eso se esconde y el sello se pone debajo de la bajada, dentro del texto. */
.wc-block-components-order-summary-item__quantity{display:none !important}
.wc-block-components-order-summary-item .wc-block-components-product-metadata::after{
  content:"Reservado";
  display:inline-block;margin-top:9px;
  background:#F7EEDC;color:#8A5A12;
  padding:4px 10px;border-radius:2px;
  font-family:var(--gc-display);font-size:9px;
  letter-spacing:.14em;text-transform:uppercase;
}

/* Acá vivía un reemplazo de texto de la época de "Starken, por pagar": el
   envío costaba cero, WooCommerce escribía "GRATIS" y este CSS tapaba la
   cifra con "Lo pagas en la entrega".

   Cuando el envío pasó a cobrarse en el checkout, la regla quedó y siguió
   haciendo lo suyo: ponía `font-size:0` sobre el precio REAL y encima
   escribía que se pagaba en la entrega. El servidor mandaba $4.202, el total
   lo sumaba, y la compradora leía lo contrario.

   Lección para la próxima: un texto escrito en CSS con `content` no se
   encuentra buscando en el código PHP ni en las traducciones, y no lo ve
   ningún recorrido del DOM. Si un texto de la tienda miente y no aparece por
   ninguna parte, mirar acá primero. */

@media (max-width:900px){
  .gc-barra{padding:6px 18px}
  .gc-barra .gc-logo{height:30px}
  .gc-portada-in{grid-template-columns:1fr;gap:0}
  .gc-jirafa-izq,.gc-jirafa-der{max-width:210px;margin:0 auto}
  .gc-jirafa-der{display:none}
  .gc-portada-centro{padding:36px 16px 24px}
  .gc-categorias{grid-template-columns:repeat(2,1fr);gap:20px}
  .gc-vender-in{grid-template-columns:1fr}
  .gc-vender-foto{min-height:300px}
  .gc-vender-txt{padding:36px 24px}
  .gc-ig-grilla{grid-template-columns:repeat(4,1fr);gap:5px}
  .gc-pie-in{grid-template-columns:1fr}
  .wc-block-product-template,
  .wc-block-product-template.columns-3,
  .wc-block-product-template.columns-2,
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ==========================================================================
   /vender — el registro de dueñas

   Página aparte del resto de la tienda: la ve una sola persona, invitada por
   Elisa, y su único trabajo es que complete diez campos sin abandonar a la
   mitad. Por eso va en tarjeta sobre fondo hueso, con las secciones numeradas
   y una línea que explica para qué se pide cada dato.
   ========================================================================== */

.gc-reg{max-width:840px;margin:0 auto;padding:44px 22px 90px}

.gc-reg-sobre{
  font-family:var(--gc-display);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gc-tinta-2);text-align:center;margin:0 0 10px}
.gc-reg-titulo{
  font-family:var(--gc-display);font-weight:400;
  font-size:clamp(30px,4.4vw,42px);line-height:1.15;
  color:var(--gc-cafe-mid);text-align:center;margin:0 0 14px}
.gc-reg-bajada{
  text-align:center;color:var(--gc-tinta-2);max-width:56ch;margin:0 auto 34px;line-height:1.65}

.gc-reg-caja{
  background:#fff;border:1px solid var(--gc-linea);border-radius:14px;
  padding:44px 46px}
.gc-reg-info{margin-top:30px}
.gc-reg-info h2{
  font-family:var(--gc-display);font-weight:400;font-size:26px;
  color:var(--gc-cafe-mid);margin:34px 0 16px}
.gc-reg-info h2:first-child{margin-top:0}
.gc-reg-info p{margin:0 0 14px;line-height:1.7;color:var(--gc-tinta)}

/* --- las cuatro secciones --- */
.gc-bloque{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--gc-linea)}
.gc-bloque:last-of-type{border-bottom:0;padding-bottom:8px;margin-bottom:16px}
.gc-bloque h2{
  font-family:var(--gc-display);font-weight:400;font-size:24px;
  color:var(--gc-tinta);margin:0 0 6px}
.gc-bloque h2 span{color:var(--gc-cafe-soft)}
.gc-bloque-bajada{font-size:14px;color:var(--gc-tinta-2);margin:0 0 22px;line-height:1.6}

/* --- los campos --- */
.gc-filas{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.gc-campo{grid-column:1 / -1;margin:0}
.gc-campo.gc-mitad{grid-column:auto}

.gc-form label{
  display:block;font-family:var(--gc-display);font-weight:500;
  font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gc-tinta);margin:0 0 7px}
.gc-req{color:var(--gc-cafe-soft)}
.gc-opc{text-transform:none;letter-spacing:0;font-weight:400;color:var(--gc-tinta-2)}

.gc-form input[type=text],
.gc-form input[type=email],
.gc-form input[type=tel],
.gc-form select{
  width:100%;background:#fff;border:1px solid var(--gc-linea);border-radius:8px;
  padding:14px 16px;font-family:var(--gc-texto);font-size:15px;color:var(--gc-tinta);
  transition:border-color .15s, box-shadow .15s}
.gc-form input::placeholder{color:#A9A29B}
.gc-form input:focus,
.gc-form select:focus{
  outline:0;border-color:var(--gc-cafe-mid);box-shadow:0 0 0 3px rgba(59,24,8,.08)}
.gc-form select{
  appearance:none;cursor:pointer;color:#A9A29B;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235A544F' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.gc-form select:valid{color:var(--gc-tinta)}

.gc-nota{
  background:var(--gc-hueso);border:1px solid var(--gc-linea);border-radius:8px;
  padding:14px 16px;font-size:14px;color:var(--gc-tinta-2);margin:18px 0 0}

/* --- aceptar y enviar --- */
.gc-acepto{margin:4px 0 26px}
.gc-acepto label{
  display:flex;gap:11px;align-items:flex-start;text-transform:none;letter-spacing:0;
  font-family:var(--gc-texto);font-weight:400;font-size:14px;line-height:1.6;
  color:var(--gc-tinta-2);cursor:pointer}
.gc-acepto input{margin-top:3px;width:16px;height:16px;accent-color:var(--gc-cafe-mid);flex:0 0 auto}

.gc-enviar{margin:0}
.gc-form button[type=submit]{
  width:100%;background:var(--gc-cafe-mid);color:#fff;border:0;cursor:pointer;
  font-family:var(--gc-display);font-size:13px;letter-spacing:.18em;
  text-transform:uppercase;padding:19px 24px;border-radius:8px;transition:opacity .15s}
.gc-form button[type=submit]:hover{opacity:.9}

.gc-pie-form{
  text-align:center;font-size:13px;color:var(--gc-tinta-2);margin:16px 0 0}

.gc-ok h2{font-family:var(--gc-display);font-weight:400;font-size:28px;
  color:var(--gc-cafe-mid);margin:0 0 12px}

/* ==========================================================================
   Las páginas escritas: «Cómo vender» y «Cambios y devoluciones»

   Reutilizan el molde de /vender —tarjeta blanca sobre hueso, secciones
   numeradas, títulos en Poppins— a propósito. Son las dos páginas que alguien
   lee ANTES de decidirse, y tienen que sentirse parte de la misma tienda que
   acaba de mirar, no un anexo legal pegado con otra plantilla.

   La diferencia con /vender: acá el menú se queda. Quien lee «cómo vender»
   probablemente quiera volver a mirar las prendas, y quien lee las
   devoluciones está a un paso de comprar.
   ========================================================================== */

/* La plantilla reserva 70px arriba para el título de la página y otros 70 en
   el grupo que lo envuelve. Como acá el título se borra (el plugin dibuja el
   suyo), esos 140px quedan de aire muerto entre la barra café y el
   sobretítulo. Se recortan desde el contenedor, que es lo único que los tiene.
   Si el navegador no entiende :has(), simplemente queda el hueco de antes. */
   Los 70px van en un `style=""` que escribe la propia plantilla, así que la
   única forma de ganarles desde la hoja de estilos es !important. */
body:has(.gc-pag) main.wp-block-group{margin-top:0 !important}
body:has(.gc-pag) main.wp-block-group > .wp-block-group{padding-top:14px !important}

.gc-pag .gc-reg-caja{padding:40px 46px}
.gc-pag .gc-bloque:last-of-type{border-bottom:0}
.gc-pag .gc-bloque p{line-height:1.7;color:var(--gc-tinta)}
.gc-pag .gc-bloque-bajada{font-size:15px}

/* La frase que resume la página, antes de cualquier explicación. Quien entra
   a «cambios y devoluciones» viene con una pregunta concreta y merece la
   respuesta en la primera línea, no en el cuarto párrafo. */
/* OJO con el `:not(.gc-btn)`. La clase `gc-grande` hace dos trabajos: acá es
   la frase de entrada de una página, y arriba es el modificador del botón
   grande. Sin la exclusión, estas reglas —que van después— le ganaban al
   botón por orden: le pintaban la letra del mismo café del fondo y le
   borraban el relleno de los costados. El botón de Instagram de la portada
   quedaba como un rectángulo café con la letra invisible hasta que pasabas
   el mouse, que era lo único que devolvía el blanco. */
.gc-grande:not(.gc-btn){
  font-family:var(--gc-display);font-weight:400;
  font-size:clamp(19px,2.4vw,23px);line-height:1.45;letter-spacing:.01em;
  color:var(--gc-cafe-mid);
  margin:0 0 32px;padding:0 0 28px;border-bottom:1px solid var(--gc-linea)}
.gc-grande strong{font-weight:600}

/* Listas: el punto va en café y colgando, para que el texto de varias líneas
   quede alineado en vez de escalonarse bajo la viñeta. */
.gc-lista{list-style:none;margin:0;padding:0}
.gc-lista li{
  position:relative;padding:0 0 0 22px;margin:0 0 12px;
  line-height:1.7;color:var(--gc-tinta)}
.gc-lista li:last-child{margin-bottom:0}
.gc-lista li::before{
  content:"·";position:absolute;left:4px;top:-1px;
  color:var(--gc-cafe-soft);font-size:20px;line-height:1.4}
.gc-lista.gc-check li::before{
  content:"";left:0;top:9px;width:9px;height:9px;border-radius:50%;
  border:1.5px solid var(--gc-cafe-soft);font-size:0}

.gc-lista + .gc-nota{margin-top:20px}

/* El botón de cierre. Mismo peso que el de enviar el formulario de /vender,
   pero como enlace: acá no se envía nada, se pasa a la página siguiente. */
.gc-cta{
  display:inline-block;background:var(--gc-cafe-mid);color:#fff !important;
  text-decoration:none;font-family:var(--gc-display);font-size:13px;
  letter-spacing:.18em;text-transform:uppercase;
  padding:17px 34px;border-radius:8px;transition:opacity .15s}
.gc-cta:hover{opacity:.9;color:#fff !important}

.gc-cierre{padding-bottom:0;margin-bottom:0}
.gc-cierre h2{margin-bottom:6px}

@media(max-width:680px){
  .gc-pag .gc-reg-caja{padding:26px 20px}
  .gc-cta{display:block;text-align:center}
}

/* --- la barra con el logo, solo en esta página --- */
.gc-reg-tope{background:var(--gc-cafe);padding:26px 22px;text-align:center}
.gc-reg-tope img{max-width:min(430px,72vw);height:auto;display:inline-block}

@media(max-width:680px){
  .gc-reg{padding:28px 16px 60px}
  .gc-reg-caja{padding:28px 20px;border-radius:10px}
  .gc-filas{grid-template-columns:1fr}
  .gc-campo.gc-mitad{grid-column:1 / -1}
  .gc-reg-tope{padding:20px 16px}
}

/* ==================================================================
   TITULOS
   ==================================================================
   El tema base deja los <h1> de página en 62px. En una tienda de ropa
   eso se come la pantalla completa antes de que se vea una sola prenda:
   la clienta llega y lo primero que ve es la palabra "Carro" del porte
   de un cartel. Se bajan a una escala que acompaña en vez de gritar.

   Van con !important porque el tamaño viene de las variables de
   theme.json, que se imprimen en línea y ganan por especificidad. */

.wp-block-post-title,
.wp-block-query-title,
.woocommerce div.product .product_title,
.woocommerce-page h1.entry-title{
  font-size:clamp(21px,2.4vw,29px) !important;
  line-height:1.22 !important;
  letter-spacing:.09em;
  margin-bottom:.5em;
}

/* Dentro de la grilla el título es la marca de la prenda y ya tenía su
   tamaño propio: la regla de arriba no debe pisárselo. */
.wc-block-product .wp-block-post-title,
.gc-mini .wp-block-post-title{font-size:16px !important;letter-spacing:.1em}

/* En la ficha, la marca es lo más grande de la página pero sin exagerar. */
.woocommerce div.product .product_title{font-size:clamp(23px,2.7vw,32px) !important}

/* ==================================================================
   "MOSTRANDO N RESULTADOS" Y "ORDENAR POR"
   ==================================================================
   El <select> de ordenar salía en Arial: los navegadores no heredan la
   tipografía en los controles de formulario a menos que se les diga.
   Al lado de todo lo demás en Questrial saltaba a la vista. */

.woocommerce-result-count,
.wc-block-product-results-count,
.woocommerce-ordering,
.wc-block-catalog-sorting,
.woocommerce-ordering select,
.wc-block-catalog-sorting select,
select.orderby{
  font-family:var(--gc-texto) !important;
  font-size:13.5px !important;
  letter-spacing:.01em;
  color:var(--gc-tinta-2);
}
.woocommerce-ordering select,
.wc-block-catalog-sorting select,
select.orderby{
  border:1px solid var(--gc-linea);
  background:#fff;
  border-radius:2px;
  padding:8px 32px 8px 11px;
  cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%235A544F' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 11px center;
}

/* ==================================================================
   LAS ETIQUETAS
   ==================================================================
   Vendido, reservado, oferta, rebaja: todas con la misma tipografía y
   la misma forma. WooCommerce trae la suya propia para las ofertas
   (.onsale) con otra letra y otro color; se la iguala en vez de
   dejarla suelta. */

.gc-reservado, .gc-vendido, .gc-mio, .gc-oferta,
.woocommerce span.onsale,
.wc-block-components-product-sale-badge{
  /* Más grandes a pedido de Elisa: a 10px el sello se perdía sobre la foto
     y había que buscarlo. Lo que informa de una venta tiene que leerse de
     lejos, no de cerca. */
  display:inline-block;padding:7px 16px;border-radius:2px;
  font-family:var(--gc-display) !important;
  font-weight:400 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  min-height:0 !important;min-width:0 !important;
}
.gc-oferta{background:var(--gc-menta);color:var(--gc-cafe-mid)}
.woocommerce span.onsale,
.wc-block-components-product-sale-badge{
  background:var(--gc-menta) !important;color:var(--gc-cafe-mid) !important;
  border:0 !important;
}

/* ==================================================================
   LA TIRA DE MINIATURAS, SOBRE LA FOTO
   ==================================================================
   Debajo de la imagen empujaba el precio y el botón fuera de la
   primera pantalla. Encima de la foto no ocupa alto propio y además
   se lee como lo que es: "hay más fotos, míralas". */

/* Debajo de la foto, no encima.
   Encima tapaban justo la parte baja de la prenda — el ruedo, el taco, la
   base de la cartera— que es donde se mira el desgaste. */
.woocommerce-product-gallery .flex-control-thumbs{
  display:flex;gap:6px;justify-content:flex-start;
  margin:8px 0 0;padding:0;list-style:none;
  overflow-x:auto;scrollbar-width:none;
}
.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{display:none}
.woocommerce-product-gallery .flex-control-thumbs li{
  width:auto !important;margin:0 !important;float:none !important;flex:0 0 auto;
}
.woocommerce-product-gallery .flex-control-thumbs img{
  width:52px;height:52px;object-fit:cover;display:block;
  border-radius:2px;cursor:pointer;
  border:1.5px solid rgba(255,255,255,.85);
  box-shadow:0 1px 6px rgba(0,0,0,.22);
  opacity:.72;transition:opacity .15s,border-color .15s;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover{
  opacity:1;border-color:#fff;
}

/* ==================================================================
   EL CARRITO LATERAL
   ==================================================================
   Se abre al agregar una prenda. Misma familia visual que el menú:
   panel café que entra por un costado, con velo detrás. El menú entra
   por la izquierda y este por la derecha, para que no se confundan. */

.gc-mini-velo{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  opacity:0;pointer-events:none;transition:opacity .28s;z-index:10002;
}
.gc-mini{
  position:fixed;top:0;bottom:0;right:0;width:min(400px,90vw);
  background:var(--gc-hueso);color:var(--gc-tinta);z-index:10003;
  transform:translateX(100%);transition:transform .28s ease;
  display:flex;flex-direction:column;
  box-shadow:-6px 0 28px rgba(0,0,0,.14);
}
body.gc-mini-abierto .gc-mini-velo{opacity:1;pointer-events:auto}
body.gc-mini-abierto .gc-mini{transform:none}

/* El título necesita aire arriba: pegado al borde de la pantalla parecía
   cortado, y con la barra de administración de WordPress encima quedaba
   directamente tapado. Por eso el cajón también se corre hacia abajo cuando
   esa barra existe —solo la ve Elisa, nunca una compradora—. */
.gc-mini-tope{
  display:flex;align-items:center;justify-content:space-between;
  padding:34px 22px 18px;border-bottom:1px solid var(--gc-linea);
}
body.admin-bar .gc-mini,
body.admin-bar .gc-panel{top:32px}
@media (max-width:782px){
  body.admin-bar .gc-mini,
  body.admin-bar .gc-panel{top:46px}
}
.gc-mini-tope h2{
  font-size:13px !important;letter-spacing:.18em;margin:0;
  color:var(--gc-cafe-mid);
}
.gc-mini-cerrar{
  background:none;border:0;font-size:26px;line-height:1;cursor:pointer;
  color:var(--gc-tinta-2);padding:0 2px;
}

.gc-mini-lista{
  list-style:none;margin:0;padding:0;
  flex:1 1 auto;overflow-y:auto;
}
.gc-mini-item{
  display:grid;grid-template-columns:64px 1fr 22px;gap:13px;align-items:start;
  padding:16px 22px;border-bottom:1px solid var(--gc-linea);
}
.gc-mini-foto img{width:64px;height:64px;object-fit:contain;background:#fff;display:block}
.gc-mini-nombre{
  font-family:var(--gc-display);font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gc-tinta);text-decoration:none;
  display:block;
}
.gc-mini-bajada{
  font-size:12.5px;color:var(--gc-tinta-2);margin:3px 0 0;
}
.gc-mini-precio{margin:6px 0 0;font-size:14.5px}
.gc-mini-quitar{
  background:none;border:0;font-size:19px;line-height:1;cursor:pointer;
  color:var(--gc-tinta-2);padding:0;
}
.gc-mini-quitar:hover{color:var(--gc-cafe-mid)}
.gc-mini-vacio{padding:38px 22px;color:var(--gc-tinta-2);text-align:center}

.gc-mini-pie{
  padding:18px 22px 24px;border-top:1px solid var(--gc-linea);
  background:#fff;
}
.gc-mini-total{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--gc-display);letter-spacing:.12em;text-transform:uppercase;
  font-size:12px;color:var(--gc-tinta-2);margin:0 0 4px;
}
.gc-mini-total strong{
  font-family:var(--gc-texto);font-size:20px;letter-spacing:0;
  text-transform:none;color:var(--gc-tinta);
}
.gc-mini-nota{font-size:12.5px;color:var(--gc-tinta-2);margin:0 0 16px}
.gc-mini .gc-btn, .gc-mini-pagar{
  display:block;width:100%;text-align:center;box-sizing:border-box;
  background:var(--gc-cafe-mid);color:#fff;text-decoration:none;
  font-family:var(--gc-display);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;padding:15px 18px;border:0;border-radius:3px;
  cursor:pointer;
}
.gc-mini-seguir{
  display:block;text-align:center;margin-top:12px;
  font-size:13px;color:var(--gc-tinta-2);text-underline-offset:4px;
}

/* ==================================================================
   EL CARRITO (la página)
   ================================================================== */

/* El título "Carro" no aporta: se llegó desde un botón que decía carrito
   y abajo está el carrito. Ocupaba la primera pantalla entera. */
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart .entry-title{display:none}

/* "Totales del carrito" y "Total" en negrita: son las dos líneas que la
   compradora busca con la vista. */
.wc-block-cart__totals-title,
.cart_totals > h2{
  font-weight:700 !important;
  font-family:var(--gc-display) !important;
  font-size:12px !important;letter-spacing:.16em !important;
  text-transform:uppercase !important;color:var(--gc-tinta) !important;
}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-cart .order-total th,
.woocommerce-cart .order-total td{
  font-family:"Poppins", var(--gc-texto) !important;
  font-weight:600 !important;
}

/* ==================================================================
   PAGAR
   ================================================================== */

/* El aviso movido a su lugar definitivo: pegado al botón de confirmar.
   Sin el margen de banner que tenía cuando vivía arriba de todo. */
.gc-aviso-pagar--abajo{
  margin:26px 0 22px !important;
  max-width:none !important;
}
.gc-aviso-pagar strong{font-weight:700}

/* ==================================================================
   MENU: el bloque de Ropa
   ================================================================== */

.gc-panel-sub{
  margin:0 0 4px;padding:0 0 0 2px;list-style:none;
}
/* El mismo ritmo que la lista de marcas: 7px de aire y la línea apretada.
   Con el interlineado suelto que hereda del cuerpo, once categorías ocupaban
   media pantalla y se leían como once secciones en vez de una lista. */
/* El tamaño va también en el <li>: el interlineado se calcula sobre la
   letra del elemento, y el <li> heredaba los 17px del cuerpo. Con eso,
   aunque el enlace midiera 12,5px, la línea seguía ocupando 22px. */
.gc-panel-sub li{margin:0 0 7px;font-size:12.5px;line-height:1.3}
.gc-panel-sub a{
  font-family:var(--gc-texto);font-size:12.5px;color:var(--gc-tinto);
}
/* «Por categoría» y «Por marca» cuelgan de ROPA, pero NO se visten como
   ella: van chicas, muy espaciadas y en ocre. Así se leen como dos maneras
   de mirar la ropa —dos filtros— y no como dos destinos más del menú. Con
   el mismo tamaño que las demás, las seis líneas pesaban igual y el menú
   perdía su jerarquía. */
.gc-panel-grande .gc-panel-plegable{
  border:0;background:none;padding:0;cursor:pointer;color:var(--gc-ocre-hondo);
  font-family:var(--gc-display);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;margin:2px 0 0;
  display:flex;align-items:center;gap:8px;width:100%;
}
.gc-panel-grande .gc-panel-plegable span{color:var(--gc-ocre)}
.gc-panel-grande .gc-panel-plegable:hover{color:var(--gc-dorado)}
/* Las listas que cuelgan: un poco adentro, para que se vea de quién dependen. */
.gc-panel-grande .gc-panel-plegable + div{margin:10px 0 6px;padding-left:2px}

.gc-panel-plegable{
  border:0;background:none;padding:0;cursor:pointer;color:var(--gc-tinto);
  font-family:var(--gc-display);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;margin:24px 0 12px;
  display:flex;align-items:center;gap:8px;width:100%;
}
.gc-panel-plegable span{
  font-size:14px;line-height:1;transition:transform .2s;color:var(--gc-ocre);
}
.gc-panel-plegable[aria-expanded="true"] span{transform:rotate(90deg)}
.gc-panel-plegable + div[hidden]{display:none}

/* La tira de miniaturas necesita fondo propio.
   Sobre una foto clara —una cartera beige sobre fondo blanco— las
   miniaturas quedaban lavadas y no se distinguía cuál estaba activa.
   Un degradado oscuro detrás las separa de la foto sin taparla. */
.woocommerce-product-gallery .flex-control-thumbs img{opacity:1;box-shadow:none;border-color:var(--gc-linea)}

/* Las pestañas de la ficha repetían su propio nombre adentro, en 44px:
   la pestaña decía "Descripción" y justo debajo aparecía otra vez
   "DESCRIPCIÓN" del porte de un titular. */
.woocommerce-Tabs-panel > h2:first-child{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--gc-display);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;
}

/* ==================================================================
   LA NEGRITA
   ==================================================================
   Questrial existe en un solo peso. Poner font-weight:700 no hacía
   nada: el navegador no tiene de dónde sacar la versión gruesa y
   Chrome tampoco la inventa. La negrita quedaba invisible — se veía
   solo el cambio de color, y una compradora que lee rápido no se
   entera de nada.

   La solución es usar Poppins 600 para lo que va en negrita. Es la
   otra tipografía de la marca y se parece bastante a Questrial (las
   dos son geométricas), así que dentro de una frase se lee como
   énfasis y no como un cambio de letra. */

strong, b{
  font-family:"Poppins", var(--gc-texto);
  font-weight:600;
  letter-spacing:0;
}

/* Los saltos de línea del texto de la transferencia.
   WooCommerce imprime la descripción del medio de pago tal cual, sin
   pasarla por wpautop: los párrafos quedaban pegados en un bloque. */
.wc-block-components-radio-control-accordion-content > div{
  white-space:pre-line;
}

/* ==================================================================
   "VISTA RÁPIDA", SOBRE LA FOTO
   ==================================================================
   Debajo del precio y del botón de agregar no lo veía nadie, y encima
   estiraba la tarjeta unos 40 píxeles. Encima de la foto se entiende
   sin leerlo: aparece al pasar el mouse por la imagen. */

.wc-block-components-product-image,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{position:relative;display:block}

.gc-vista-rapida{
  position:absolute;left:9px;right:9px;bottom:9px;z-index:3;
  width:auto;margin:0;
  background:rgba(255,255,255,.94);
  border-color:rgba(0,0,0,.06);
  color:var(--gc-cafe-mid);
  box-shadow:0 1px 6px rgba(0,0,0,.14);
  opacity:0;transform:translateY(5px);
  transition:opacity .18s,transform .18s,background .15s;
}
.wc-block-product:hover .gc-vista-rapida,
.woocommerce ul.products li.product:hover .gc-vista-rapida,
.gc-vista-rapida:focus-visible{opacity:1;transform:none}
.gc-vista-rapida:hover{background:#fff;border-color:var(--gc-cafe-mid)}

/* En celular no hay "pasar el mouse": el botón se queda a la vista. */
@media (hover:none){
  .gc-vista-rapida{opacity:1;transform:none}
}

/* ==================================================================
   LA FICHA: DESCRIPCIÓN E INFORMACIÓN, SIN PESTAÑAS
   ==================================================================
   Dos pestañas para dos bloques de texto obligan a un clic para ver
   la mitad de lo que se sabe de la prenda — y en segunda mano esa
   mitad (material, medidas, estado) es justo lo que decide la compra.
   Se muestran las dos, una debajo de la otra. */

.woocommerce div.product .woocommerce-tabs ul.tabs{display:none !important}
.woocommerce div.product .woocommerce-tabs .panel{
  display:block !important;
  margin:0 0 34px;
}
/* El título vuelve, chico: sin pestañas hace falta para saber qué es qué. */
.woocommerce-Tabs-panel > h2:first-child{
  display:block;
  font-size:12px !important;letter-spacing:.16em;
  color:var(--gc-cafe-soft);margin:0 0 14px;
}

/* La tabla de datos de la prenda. */
.gc-datos{
  list-style:none;margin:22px 0;padding:0;
  border-top:1px solid var(--gc-linea);
  max-width:520px;
}
.gc-datos li{
  display:flex;justify-content:space-between;gap:20px;
  padding:11px 2px;border-bottom:1px solid var(--gc-linea);
}
.gc-datos span{
  font-family:var(--gc-display);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gc-tinta-2);
  padding-top:2px;flex:0 0 auto;
}
.gc-datos strong{text-align:right}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce-Tabs-panel p{max-width:70ch}

/* La etiqueta de oferta de WooCommerce dice "Producto en oferta" — cuatro
   palabras encima de la foto para decir una. Y seguía apareciendo en las
   prendas vendidas, compitiendo con el sello de VENDIDO. */
.wc-block-components-product-sale-badge,
.woocommerce span.onsale{font-size:0 !important}
.wc-block-components-product-sale-badge::after,
.woocommerce span.onsale::after{content:"Oferta";font-size:13px;letter-spacing:.16em}

.wc-block-product:has(.gc-vendido) .wc-block-components-product-sale-badge,
.woocommerce ul.products li.product:has(.gc-vendido) span.onsale{display:none}

/* ==================================================================
   LA FICHA EN DOS COLUMNAS
   ==================================================================
   La descripción y la tabla de datos van AL LADO de la prenda, no
   debajo. Abajo obligaban a bajar la pantalla completa para leer el
   material o el estado — y en segunda mano eso es lo que decide.

   El truco es `display:contents` sobre el bloque de columnas: sus dos
   hijas pasan a ser celdas de la grilla de <main>, y así la ficha
   —que en la plantilla es hermana de las columnas, no hija— puede
   caer en la segunda columna, debajo del precio.

   La galería ocupa dos filas para que el texto arranque pegado al
   precio en vez de esperar a que termine la foto. */

.single-product div.product > main{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  column-gap:46px;
  align-items:start;
  max-width:1320px;margin-inline:auto;
}
.single-product div.product > main > *{max-width:none !important;margin-inline:0 !important}
.single-product div.product > main > .wc-block-breadcrumbs,
.single-product div.product > main > .wc-block-store-notices,
.single-product div.product > main > .wp-block-woocommerce-product-collection{grid-column:1 / -1}
/* «Productos relacionados»: aire arriba y, sobre todo, aire abajo.
 *
 * La franja iba pegada por los dos lados. Arriba, colgando del último párrafo
 * de la descripción, parecía parte de la ficha en vez de otra cosa. Y abajo,
 * los botones de «Añadir al carrito» terminaban justo donde empieza el pie
 * burdeo: cortados contra el borde, como si la página se hubiera acabado a
 * la mitad. El título va en burdeo para que se lea como lo que es, el
 * encabezado de una sección nueva. */
.single-product div.product > main > .wp-block-woocommerce-product-collection{
  margin-top:60px;
  padding-bottom:72px;
}
.single-product div.product > main > .wp-block-woocommerce-product-collection > .wp-block-heading{
  color:var(--gc-tinto);
  margin:0 0 28px;
  letter-spacing:.2em;
}

/* Una sola descripción por ficha, pase lo que pase.
 *
 * En la vista previa de una prenda que todavía está en BORRADOR, WooCommerce
 * dibuja el bloque de detalles una vez por cada prenda que aparece abajo en
 * «productos relacionados»: la ficha mostraba cinco descripciones seguidas,
 * cada una de un producto distinto. En las prendas publicadas no pasa —ahí
 * sale una sola—, pero la vista previa es justo donde Elisa mira antes de
 * publicar, así que no puede verse rota. */
.single-product .wp-block-woocommerce-product-details .wc-tabs-wrapper ~ .wc-tabs-wrapper{display:none}

.single-product div.product > main > .wp-block-columns{display:contents}
.single-product div.product > main > .wp-block-columns > .wp-block-column:first-child{
  grid-column:1;grid-row:span 2;
}
.single-product div.product > main > .wp-block-columns > .wp-block-column:last-child{grid-column:2}
.single-product div.product > main > .wp-block-woocommerce-product-details{grid-column:2}

@media (max-width:900px){
  .single-product div.product > main{display:block}
  .single-product div.product > main > .wp-block-columns{display:flex}
}

/* La tabla de datos dentro de la vista rápida: más compacta que en la
   ficha, porque acá compite con la foto por el alto de la ventana. */
.gc-vr-lista{margin:20px 0 6px}
.gc-vr-lista li{padding:8px 2px;font-size:14px}
.gc-vr-lista span{font-size:9.5px}

/* ==================================================================
   DESPUÉS DE REALIZAR EL PEDIDO
   ==================================================================
   La pantalla de confirmación venía en el orden de WooCommerce: un
   "PEDIDO RECIBIDO" de 62 píxeles, después el resumen, después las
   direcciones, y los datos de la cuenta al final de todo.

   Pero lo único que la compradora tiene que hacer en los próximos 20
   minutos es transferir. Ese dato va primero. Lo demás —qué compró, a
   dónde llega— se lee después, con calma.

   Se reordena con flex en vez de mover bloques en la plantilla: así no
   hay que tocar el editor del sitio y una actualización de WooCommerce
   no lo deshace. */

.woocommerce-order-received main.wp-block-group{
  display:flex;flex-direction:column;
  max-width:1000px;margin-inline:auto;
}
/* Todos los bloques al mismo ancho y alineados a la izquierda. De fábrica
   cada uno traía el suyo —375, 713, 1139 píxeles— y la pantalla se leía
   como cinco tarjetas sueltas en vez de un solo documento. */
.woocommerce-order-received main.wp-block-group > *{
  width:100% !important;max-width:none !important;
  margin-inline:0 !important;text-align:left !important;
}
.woocommerce-order-received .wc-block-order-confirmation-status{order:1}
.woocommerce-order-received .wc-block-order-confirmation-additional-information{order:2}
.woocommerce-order-received .wc-block-order-confirmation-summary{order:3}
.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper{order:4}
.woocommerce-order-received .wc-block-order-confirmation-address-wrapper{order:5}

/* Una sola dirección: a dónde llega el paquete.
   Giraffe usa la misma para las dos —así está configurado WooCommerce— y
   mostrarla dos veces, con dos títulos distintos, hace dudar de si hay que
   corregir algo. */
.woocommerce-order-received .wc-block-order-confirmation-address-wrapper > .wp-block-column:last-child{display:none}
.woocommerce-order-received .wc-block-order-confirmation-address-wrapper > .wp-block-column:first-child{flex-basis:100% !important}

/* Los títulos, en la escala del resto del sitio. */
.woocommerce-order-received .wc-block-order-confirmation-status h1,
.woocommerce-order-received .wc-block-order-confirmation-status .wp-block-heading{
  font-size:clamp(21px,2.4vw,28px) !important;
  letter-spacing:.09em;
}
.woocommerce-order-received main h2,
.woocommerce-order-received main h3{
  font-family:var(--gc-display) !important;
  font-weight:400 !important;
  font-size:12px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:var(--gc-cafe-soft) !important;
  margin:0 0 14px !important;
}

/* Los datos de la cuenta, destacados: son la acción de esta pantalla. */
.woocommerce-order-received .wc-block-order-confirmation-additional-information{
  background:var(--gc-menta);
  border-radius:8px;
  padding:24px 26px 22px;
  margin:0 0 32px;
}
.woocommerce-order-received .wc-block-order-confirmation-additional-information h2{
  color:var(--gc-cafe-mid) !important;
}
.woocommerce-order-received .wc-block-order-confirmation-additional-information li,
.woocommerce-order-received .wc-block-order-confirmation-additional-information p{font-size:15px}
.woocommerce-order-received .wc-block-order-confirmation-additional-information ul{
  list-style:none;margin:10px 0;padding:0;
}
.woocommerce-order-received .wc-block-order-confirmation-additional-information ul li{
  padding:5px 0;border-bottom:1px solid rgba(0,0,0,.07);
}

/* ==================================================================
   HACER UNA OFERTA
   ==================================================================
   El botón va debajo del de comprar y con borde en vez de relleno:
   comprar sigue siendo lo principal. El formulario aparece recién al
   pulsarlo — desplegado de entrada empujaría la ficha hacia abajo en
   todas las prendas, incluidas las de quien nunca va a ofertar. */

.gc-of-abrir{display:block;width:100%;margin:10px 0 0;text-align:center}

.gc-of-caja{
  margin:18px 0 0;padding:22px 22px 18px;
  background:#fff;border:1px solid var(--gc-linea);border-radius:8px;
}
.gc-of-tit{
  font-family:var(--gc-display);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gc-cafe-mid);
  margin:20px 0 10px;
}
.gc-of-tit:first-of-type{margin-top:0}
.gc-of-sub{font-size:14px;color:var(--gc-tinta-2);margin:0 0 16px}
.gc-of-caja .gc-campo{margin:0 0 12px}
.gc-of-caja .gc-filas{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.gc-of-caja .gc-campo:not(.gc-mitad){grid-column:1 / -1}
.gc-of-aviso{
  background:var(--gc-menta);border-radius:6px;padding:13px 15px;
  font-size:14px;margin:16px 0;
}
.gc-of-enviar{width:100%;border:0;cursor:pointer}

.gc-of-listo{
  background:var(--gc-menta);border-radius:8px;padding:20px 22px;margin:14px 0 0;
}
.gc-of-listo p{margin:0 0 10px}
.gc-of-listo p:last-child{margin:0}
.gc-of-nota{font-size:13.5px;color:var(--gc-tinta-2)}

@media(max-width:600px){
  .gc-of-caja .gc-filas{grid-template-columns:1fr}
  .gc-of-caja .gc-campo.gc-mitad{grid-column:1 / -1}
}

/* ==================================================================
   LA COLUMNA DE LA DERECHA, EN ORDEN
   ==================================================================
   Marca, precio, cuántas quedan, y recién ahí los dos botones. En el
   orden que traía la plantilla, "Hacer una oferta" aparecía ANTES del
   "1 disponibles" y del botón de comprar: la primera acción que veía
   la clienta era regatear.

   Fuera la bajada ("Talla 1 · Como nuevo") y la categoría: la talla y
   el estado ya están en la tabla de datos, dos líneas más abajo, y la
   categoría es un enlace a un listado que nadie pidió — y en las
   prendas sin categorizar decía "Uncategorized", en inglés. */

.single-product .wp-block-columns > .wp-block-column:last-child{
  display:flex;flex-direction:column;
}
.single-product .wp-block-columns > .wp-block-column:last-child > .wp-block-post-title{order:1}
.single-product .wp-block-columns > .wp-block-column:last-child > .has-large-font-size{order:2}
.single-product .wc-block-add-to-cart-form{order:3;margin:0}
.single-product .gc-of-abrir{order:4}
.single-product #gc-oferta{order:5}
.single-product .gc-of-listo{order:5}
/* La guía de tallas, al final. Esta columna es un flex con `order` fijado a
   mano, así que todo lo que no tenga número cae en order:0 y se va ARRIBA
   DEL TODO: la guía salió publicada por encima del nombre de la prenda y del
   precio. En una columna así, un elemento nuevo sin `order` no queda donde
   lo dejó el PHP; queda primero. */
.single-product .gc-tallas{order:6}

.single-product .gc-bajada-ficha,
.single-product .wp-block-woocommerce-product-meta{display:none}

/* Los dos botones, iguales: mismo alto, mismo ancho, misma letra.
   Uno relleno y el otro con borde, porque comprar manda. */
.single-product .wc-block-add-to-cart-form .quantity{display:none}
.single-product form.cart{margin:0}
.single-product .single_add_to_cart_button,
.single-product .gc-of-abrir{
  display:block !important;
  width:100% !important;
  box-sizing:border-box;
  margin:0 0 10px !important;
  padding:16px 24px !important;
  border-radius:3px !important;
  text-align:center;
  font-family:var(--gc-display) !important;
  font-weight:400 !important;
  font-size:12px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1.2 !important;
  cursor:pointer;
}
.single-product .single_add_to_cart_button{
  background:var(--gc-ocre) !important;
  color:#fff !important;
  border:1px solid var(--gc-ocre) !important;
}
.single-product .gc-of-abrir{
  background:transparent !important;
  color:var(--gc-ocre-hondo) !important;
  border:1px solid var(--gc-ocre) !important;
}
.single-product .gc-of-abrir:hover{background:var(--gc-ocre) !important;color:#fff !important}

/* "1 disponibles", justo debajo del precio. */
.single-product p.stock{
  margin:0 0 14px;font-size:14px;color:var(--gc-tinta-2);
}

/* El título del carrito lateral se cortaba: el interlineado de los
   títulos del tema (con text-wrap:balance y versalitas) le comía la
   parte de abajo a la letra dentro de una caja de alto fijo. */
.gc-mini-tope h2{
  line-height:1.6 !important;
  padding:0;overflow:visible;white-space:nowrap;
}
.gc-mini-tope{align-items:center;min-height:56px}

/* ==================================================================
   PEDIDO CONFIRMADO — los detalles
   ================================================================== */

/* Un solo título. "PEDIDO RECIBIDO" arriba y "Gracias, tu pedido ha sido
   confirmado" justo debajo decían dos veces lo mismo. */
.woocommerce-order-received .wc-block-order-confirmation-status h1{display:none}
.woocommerce-order-received .wc-block-order-confirmation-status p{
  font-family:var(--gc-display);
  font-size:clamp(20px,2.3vw,27px);
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--gc-cafe-mid);
  margin:0 0 22px;
  text-align:left;
}

/* "Nuestros detalles bancarios" sobra: el bloque verde ya se lee como los
   datos para transferir, y el título repetía lo que dice el texto de arriba. */
.woocommerce-order-received .woocommerce-bacs-bank-details > h2{display:none}
.woocommerce-order-received .wc-bacs-bank-details-account-name{
  font-family:var(--gc-display) !important;
  font-size:11px !important;letter-spacing:.16em !important;
  text-transform:uppercase !important;color:var(--gc-cafe-soft) !important;
  margin:18px 0 8px !important;
}

/* La fila del pedido —número, fecha, total, correo, pago— al ancho del
   bloque verde y repartida pareja. Antes iba centrada y angosta, así que
   el dato más importante (el número que hay que escribir en la
   transferencia) quedaba perdido al medio de la pantalla. */
.woocommerce-order-received .wc-block-order-confirmation-summary-list{
  display:flex;flex-wrap:wrap;gap:0;
  width:100%;margin:0 0 30px;padding:18px 0;
  border-top:1px solid var(--gc-linea);
  border-bottom:1px solid var(--gc-linea);
  list-style:none;
}
.woocommerce-order-received .wc-block-order-confirmation-summary-list-item{
  flex:1 1 0;min-width:140px;padding:0 14px 0 0;border:0;
}
.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__key{
  display:block;
  font-family:var(--gc-display);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gc-tinta-2);margin:0 0 5px;
}
.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__value{
  display:block;font-size:15px;word-break:break-word;
}

/* La prenda, con su foto. */
.gc-item{display:flex;align-items:center;gap:12px}
.gc-item-foto{
  width:56px;height:56px;object-fit:contain;background:#fff;
  border:1px solid var(--gc-linea);flex:0 0 auto;
}
.gc-item-nombre{font-family:var(--gc-display);font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.woocommerce-order-received .wc-block-order-confirmation-totals table{width:100%}
.woocommerce-order-received .wc-block-order-confirmation-totals td,
.woocommerce-order-received .wc-block-order-confirmation-totals th{
  text-align:left;padding:12px 8px 12px 0;
}
.woocommerce-order-received .wc-block-order-confirmation-totals td:last-child,
.woocommerce-order-received .wc-block-order-confirmation-totals th:last-child{
  text-align:right;padding-right:0;
}

/* El formulario de contraoferta, en la página de la dueña. Vive dentro de
   la pantalla que dibuja el plugin, así que los estilos van con ella. */
.gc-contra{margin:26px 0 0;padding:20px 0 0;border-top:1px solid var(--gc-linea)}
.gc-contra-tit{font-family:var(--gc-display);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gc-cafe-soft);margin:0 0 12px}
.gc-contra-fila{display:flex;gap:8px}
.gc-contra-fila input{
  flex:1;border:1px solid var(--gc-linea);border-radius:3px;padding:13px 14px;
  font-family:var(--gc-texto);font-size:16px;
}
.gc-contra-fila button{
  border:1px solid var(--gc-cafe-mid);background:var(--gc-cafe-mid);color:#fff;
  font-family:var(--gc-display);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;padding:0 20px;border-radius:3px;cursor:pointer;
}
.gc-contra-nota{font-size:13px;color:var(--gc-tinta-2);margin:10px 0 0}

/* WooCommerce arma el formulario de compra como grilla de dos columnas
   —cantidad y botón— y aunque la cantidad esté escondida la columna sigue
   ocupando su lugar: el botón quedaba más angosto que el de ofertar. */
.single-product .wc-block-add-to-cart-form,
.single-product form.cart{display:block !important;width:100% !important;max-width:none !important}

/* La prenda y su "× 1" en la misma línea. */
.gc-item{display:inline-flex;vertical-align:middle;margin-right:8px}

/* ==================================================================
   EL CARRITO VACÍO
   ==================================================================
   WooCommerce lo resuelve con un emoji de carrito de supermercado y un
   título en la tipografía del sistema, en inglés. Un emoji no pertenece a
   ninguna marca: es el dibujo de otra persona puesto en medio de la tuya.
   Se saca el icono y el texto pasa a la letra de Giraffe. */
/* El icono se apaga DONDE SEA que aparezca. WooCommerce lo mete con la misma
   clase en el carrito y en la pantalla de pago, y en el pago sale además
   cuando el carro se vació solo —por ejemplo si la prenda se soltó mientras
   la compradora escribía sus datos—, que es el peor momento para que la
   tienda cambie de cara. */
.with-empty-cart-icon::before{ content:none !important; display:none !important; }

/* El título de "carrito vacío" que pone WooCommerce por su cuenta, tanto en
   el carrito como en el checkout, con la letra de Giraffe. */
.wc-block-cart__empty-cart__title,
.wc-block-checkout-empty-cart-block h2,
.wp-block-woocommerce-empty-cart-block h2:first-of-type{
  font-family:var(--gc-display) !important;
  font-weight:400 !important;
  font-size:clamp(24px,3.4vw,34px) !important;
  line-height:1.2 !important;
  color:var(--gc-tinto) !important;
}
.wc-block-checkout-empty-cart-block,
.wp-block-woocommerce-empty-cart-block{
  color:#5A544F;
}

.gc-carro-vacio{
  font-family:var(--gc-display) !important;
  font-weight:400 !important;
  font-size:clamp(26px,4vw,38px) !important;
  line-height:1.2 !important;
  color:var(--gc-tinto) !important;
  margin:64px 0 12px !important;
}
.gc-carro-vacio-nota{
  color:#5A544F;
  margin:0 0 56px !important;
}
.gc-carro-vacio-sub{
  font-family:var(--gc-display) !important;
  font-weight:400 !important;
  font-size:clamp(17px,2.2vw,23px) !important;
  color:var(--gc-tinto) !important;
  margin:0 0 26px !important;
}

/* ==================================================================
   LA PAGINACIÓN DE LA TIENDA
   ==================================================================
   Venía como la deja WordPress: números chicos, subrayados, pegados uno
   al otro y pegados al pie. En una tienda de 152 prendas la paginación no
   es un detalle — es el único camino para ver lo que no cabe en la primera
   pantalla — y estaba puesta como una nota al pie.

   Ahora: números en la display de Giraffe, con aire entre ellos, la página
   actual en burdeo lleno, y espacio de verdad antes del pie. */

.wp-block-query-pagination{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:10px 22px;
  margin:56px auto 84px !important;
  padding:0 20px;
}

.wp-block-query-pagination-numbers{
  display:flex;align-items:center;gap:6px;
}

/* Cada número: cuadrado, sin subrayado, con espacio para el dedo. */
.wp-block-query-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;padding:0 9px;
  border-radius:2px;
  font-family:var(--gc-display);
  font-size:15px;line-height:1;letter-spacing:.04em;
  color:var(--gc-tinto);
  text-decoration:none !important;
  transition:background-color .15s ease,color .15s ease;
}

.wp-block-query-pagination a.page-numbers:hover{
  background:var(--gc-arena);
  color:var(--gc-tinto-hondo);
}

/* En la que estás. Lleno, no subrayado: se ve de una. */
.wp-block-query-pagination .page-numbers.current{
  background:var(--gc-tinto);
  color:#fff;
}

/* Los puntos suspensivos no son un botón: no se resaltan ni se pinchan. */
.wp-block-query-pagination .page-numbers.dots{
  min-width:0;padding:0 2px;
  color:#A9A29B;
  background:none !important;
}

/* "Página siguiente" y "anterior": texto, con su flecha, separados de los
   números para que no se lean como uno más. */
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous{
  font-family:var(--gc-display);
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gc-ocre) !important;
  text-decoration:none !important;
  padding:10px 2px;
}
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover{
  color:var(--gc-ocre-hondo) !important;
}
.wp-block-query-pagination-next::after{content:" →";letter-spacing:0}
.wp-block-query-pagination-previous::before{content:"← ";letter-spacing:0}

@media (max-width:600px){
  .wp-block-query-pagination{gap:8px 14px;margin:44px auto 64px !important}
  .wp-block-query-pagination .page-numbers{min-width:34px;height:34px;font-size:14px}
  .wp-block-query-pagination-next,
  .wp-block-query-pagination-previous{font-size:12px}
}

/* ==================================================================
   LA GUÍA DE TALLAS
   ==================================================================
   Va plegada: la mayoría ya sabe su talla y no necesita ver una tabla de
   siete columnas encima del botón de comprar. Quien duda, la abre — y esa
   duda, en segunda mano, es la que decide la compra. */

.gc-tallas{
  margin:18px 0 6px;
  border-top:1px solid var(--gc-arena);
  border-bottom:1px solid var(--gc-arena);
}

.gc-tallas-abrir{
  cursor:pointer;list-style:none;
  padding:15px 2px;
  font-family:var(--gc-display);
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gc-tinto);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.gc-tallas-abrir::-webkit-details-marker{display:none}
.gc-tallas-abrir::after{
  content:"+";font-size:17px;line-height:1;color:var(--gc-ocre);
}
.gc-tallas[open] .gc-tallas-abrir::after{content:"–"}

.gc-tallas-cuerpo{padding:0 0 20px}

.gc-tallas-nota{
  margin:0 0 16px;padding:12px 14px;
  background:var(--gc-crema);
  border-left:3px solid var(--gc-ocre);
  font-size:14px;line-height:1.5;color:#4A443F;
}

/* En el teléfono la tabla no cabe: se desliza en vez de encogerse hasta
   volverse ilegible. */
.gc-tallas-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.gc-tallas-tabla{
  width:100%;border-collapse:collapse;
  font-size:13px;line-height:1.4;
  white-space:nowrap;
}
.gc-tallas-tabla th{
  background:var(--gc-tinto);color:#fff;
  font-family:var(--gc-display);font-weight:400;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 12px;text-align:left;
}
.gc-tallas-tabla td{
  padding:9px 12px;
  border-bottom:1px solid var(--gc-arena);
  color:#4A443F;
}
.gc-tallas-tabla tbody tr:last-child td{border-bottom:0}

/* La fila de ESTA prenda. Es lo único que la compradora vino a buscar. */
.gc-tallas-tabla tr.gc-tallas-suya td{
  background:var(--gc-crema);
  color:var(--gc-tinto);
  font-weight:600;
  box-shadow:inset 3px 0 0 var(--gc-ocre);
}

.gc-tallas-pie{
  margin:14px 0 0;
  font-size:12.5px;line-height:1.55;color:#6B645E;
}

@media (max-width:600px){
  .gc-tallas-tabla{font-size:12px}
  .gc-tallas-tabla th,.gc-tallas-tabla td{padding:8px 10px}
}
