/* Estilos de las páginas y plantillas específicas.
   Se carga después de main.css y usa sus mismos tokens. */

/* Hero de home */
.hero{position:relative;background:var(--verde-oscuro);color:var(--blanco);overflow:hidden}
.hero__fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.hero__txt{position:relative;padding-block:80px;display:flex;flex-direction:column;gap:20px;max-width:var(--contenedor)}
.hero__col{display:flex;flex-direction:column;gap:20px}
.hero h1{color:var(--blanco);max-width:18ch}

/* Sin foto de fondo, el hero se reparte en dos columnas para no dejar
   media pantalla vacía. Con foto vuelve a una sola columna. */
.hero--sin-foto .hero__txt{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;padding-block:68px}
.hero__datos{background:var(--blanco);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:13px;box-shadow:var(--sombra-fuerte)}
.hero__datos .eyebrow{color:var(--gris)}
.hero__datos>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--borde);padding-bottom:12px;font-size:15px;color:var(--cuerpo)}
.hero__datos>div:last-child{border-bottom:0;padding-bottom:0}
.hero__datos strong{font-weight:900;font-size:17px;color:var(--negro);white-space:nowrap}
.landing-hero--sin-foto .landing-hero__txt{padding-block:56px}
.hero__eyebrow{color:var(--dorado)}
.hero__bajada{font-size:19px;line-height:1.6;color:#e6f4f1;max-width:52ch}
.hero__botones{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px}

.seccion__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
.seccion__head span{font-size:15px;color:var(--gris)}

.promesas{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.promesa{display:flex;flex-direction:column;gap:5px;border-top:3px solid var(--verde);padding-top:16px}
.promesa strong{font-family:var(--slab);font-size:17px;color:var(--negro)}
.promesa span{font-size:15px;line-height:1.55}

.tira-corporativos{display:flex;align-items:center;justify-content:space-between;gap:36px}
.tira-corporativos p{max-width:56ch;margin-top:8px}

/* Carrusel */
.carrusel__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.carrusel__flechas{display:flex;gap:8px}
.carrusel__flechas button{width:44px;height:44px;border-radius:50%;border:1px solid var(--borde);background:var(--blanco);font-size:20px;color:var(--negro);cursor:pointer}
.carrusel__pista{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding-bottom:8px;scrollbar-width:thin}
.carrusel__pista>.card{scroll-snap-align:start}

/* Catálogo */
.cat-hero{position:relative;background:var(--verde-claro);padding-block:44px}
.cat-hero--con-foto{background:var(--verde-oscuro)}
.cat-hero__fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.cat-hero__txt{position:relative;display:flex;flex-direction:column;gap:12px}
.cat-hero--con-foto h1,.cat-hero--con-foto .crumbs{color:var(--blanco)}
.cat-hero--con-foto .cat-hero__desc{color:#e6f4f1}
.cat-hero__desc{max-width:70ch;font-size:17px}
.crumbs{font-size:13px;color:var(--gris);display:flex;gap:8px;flex-wrap:wrap}
.crumb-sep{color:var(--borde)}

.catalogo{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:start;padding-block:44px 68px}
.filtros{display:flex;flex-direction:column;gap:24px;position:sticky;top:20px}
.filtros__grupo{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--borde);padding-top:22px}
.filtros__grupo:first-child{border-top:0;padding-top:0}
.filtros__titulo{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--negro)}
.filtros__limpiar{font-size:14px;font-weight:700;border-top:1px solid var(--borde);padding-top:20px}
.catalogo__barra{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--borde);padding-bottom:16px;margin-bottom:22px}
.catalogo__orden{display:flex;align-items:center;gap:16px;margin-left:auto}
.catalogo__orden select{min-height:44px;border:1px solid var(--borde);border-radius:var(--r-control);background:var(--blanco);padding:0 14px;font-family:var(--sans);font-size:14px}
.filtros-activos{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.filtros-activos__label{font-size:14px;color:var(--gris)}
.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;padding:0;margin:36px 0 0;justify-content:center}
.woocommerce-pagination a,.woocommerce-pagination span{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--borde);border-radius:var(--r-control);background:var(--blanco);color:var(--cuerpo)}
.woocommerce-pagination .current{background:var(--verde);border-color:var(--verde);color:var(--blanco)}

.guia-tamanos{padding-block:44px;display:flex;flex-direction:column;gap:20px}
.guia-tamanos__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.guia-tamanos__item{background:var(--blanco);border-radius:var(--r-card);box-shadow:var(--sombra);padding:22px;display:flex;flex-direction:column;gap:6px}
.guia-tamanos__item strong{font-family:var(--slab);font-size:19px;color:var(--negro)}
.guia-tamanos__item span{font-size:15px}
.guia-tamanos__nota{font-size:15px;color:var(--gris)}

/* Ficha */
.ficha{padding-block:24px 68px;display:flex;flex-direction:column;gap:20px}
.ficha__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.ficha__galeria img{border-radius:var(--r-card)}
.ficha__compra{display:flex;flex-direction:column;gap:16px}
.ficha__titulo{font-size:clamp(28px,3.4vw,40px)}
.ficha__precio{font-weight:900;font-size:32px;color:var(--negro)}
.ficha__precio del{font-size:18px;font-weight:400;color:var(--gris);margin-right:8px}
.ficha__resumen{font-size:17px;line-height:1.65}
.ficha__datos{list-style:none;margin:0;padding:0;border-top:1px solid var(--borde)}
.ficha__datos li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid var(--borde);font-size:15px}
.ficha__datos strong{color:var(--negro);font-weight:700}
.ficha__envios{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--verde-claro);border-radius:var(--r-card);padding:20px}
.ficha__envios>div{display:flex;flex-direction:column;gap:2px;font-size:14px}
.ficha__envios strong{color:var(--negro);font-size:15px}
.ficha__detalle{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;padding-block:44px;border-top:1px solid var(--borde)}
.ficha__conservacion ul{margin:12px 0 0;padding-left:20px;line-height:1.8}
.variations{width:100%;margin-bottom:14px}
.variations td{padding-bottom:12px}
.variations label{font-size:13px;font-weight:700;color:var(--negro)}
form.cart{display:flex;flex-direction:column;gap:14px}
form.cart .quantity input{width:88px;min-height:48px;border:1px solid var(--borde);border-radius:var(--r-control);text-align:center;font-size:16px}
form.cart .single_add_to_cart_button{background:var(--dorado);color:var(--negro);min-height:52px;border-radius:var(--r-control);border:0;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.woocommerce form.cart button.single_add_to_cart_button.button{background:var(--dorado)!important;color:var(--negro)!important}
.woocommerce form.cart button.single_add_to_cart_button.button:hover{background:#e9c34f!important}
.woocommerce form.cart button.single_add_to_cart_button.button.disabled,
.woocommerce form.cart button.single_add_to_cart_button.button:disabled{background:var(--borde)!important;color:var(--gris)!important;cursor:not-allowed!important}

/* Gracias */
.gracias__hero{background:var(--verde);color:var(--blanco);padding-block:56px;text-align:center}
.gracias__hero h1{color:var(--blanco);margin-bottom:12px}
.gracias__hero p{font-size:19px;color:#e6f4f1;max-width:56ch;margin:0 auto}
.gracias__tilde{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--dorado);color:var(--negro);font-size:30px;font-weight:900;margin-bottom:14px}
.gracias{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;padding-block:48px}
.gracias--error{grid-template-columns:1fr}
.gracias__pasos{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:28px}
.gracias__pasos ol{list-style:none;margin:22px 0 0;padding:0;counter-reset:paso}
.gracias__pasos li{counter-increment:paso;display:flex;flex-direction:column;gap:3px;padding:0 0 20px 50px;position:relative}
.gracias__pasos li::before{content:counter(paso);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;border:2px solid var(--borde);color:#a8a49c;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.gracias__pasos li.hecho::before{background:var(--verde);border-color:var(--verde);color:var(--blanco)}
.gracias__pasos li.actual::before{background:var(--dorado);border-color:var(--dorado);color:var(--negro)}
.gracias__pasos strong{font-size:16px;color:var(--negro)}
.gracias__social{background:var(--verde-claro);border-radius:var(--r-card);padding:28px;display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:28px}
.resumen-card,.resumen-wa{border-radius:var(--r-card);padding:26px}
.resumen-card{background:var(--blanco);border:1px solid var(--borde);display:flex;flex-direction:column;gap:18px}
.resumen-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.estado-pill{background:var(--verde);color:var(--blanco);border-radius:var(--r-control);padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.resumen-item{display:flex;gap:12px;align-items:center}
.resumen-item img{width:50px;height:50px;object-fit:cover;border-radius:var(--r-control)}
.resumen-item>div{flex:1;display:flex;flex-direction:column;gap:1px}
.resumen-item strong{font-size:14px;color:var(--negro)}
.resumen-item span{font-size:12px;color:var(--gris)}
.resumen-item__dedic{font-size:12px;color:var(--verde);font-style:italic}
.resumen-item__precio{font-size:14px;font-weight:700;color:var(--negro)}
.resumen-totales{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--borde);padding-top:16px}
.resumen-totales>div{display:flex;justify-content:space-between;font-size:14px}
.resumen-bloque{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--borde);padding-top:16px;font-size:15px}
.resumen-wa{background:var(--whatsapp);color:var(--blanco);display:flex;flex-direction:column;gap:10px;margin-top:18px}
.resumen-wa p{font-size:14px;line-height:1.55;opacity:.95}
.vacio__acciones{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}

/* Acceso y Mi Cuenta */
.acceso{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;padding-block:52px 68px}
.acceso__col{display:flex;flex-direction:column;gap:20px}
.acceso__card{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:36px;display:flex;flex-direction:column;gap:16px}
.acceso__card--claro{background:var(--verde-claro);border:0}
.acceso__fila{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px}
.acceso__check{display:flex;gap:10px;align-items:center}
.acceso__ventajas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.acceso__ventajas li::before{content:"·";color:var(--verde);font-weight:900;font-size:19px;margin-right:10px}
.acceso__sincuenta{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:28px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.acceso__sincuenta strong{display:block;font-family:var(--slab);font-size:18px;color:var(--negro)}
.acceso__sincuenta span{font-size:15px}
.acceso__wa{background:var(--whatsapp);border-radius:var(--r-card);padding:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--blanco)}
.acceso__wa strong{display:block;font-size:16px}
.acceso__wa span{font-size:14px;opacity:.95}

.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;max-width:var(--contenedor);margin:0 auto;padding:44px var(--pad) 68px}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
.cuenta-nav{display:flex;flex-direction:column;gap:20px}
.cuenta-nav__hola{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:4px}
.cuenta-nav__hola strong{font-family:var(--slab);font-size:22px;color:var(--negro)}
.cuenta-nav__mail{font-size:14px;color:var(--gris)}
.cuenta-nav__lista{list-style:none;margin:0;padding:0;background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);overflow:hidden}
.cuenta-nav__lista li+li{border-top:1px solid var(--borde)}
.cuenta-nav__lista a{display:block;padding:16px 22px;font-size:15px;color:var(--cuerpo);min-height:44px}
.cuenta-nav__lista .is-active a{background:var(--verde);color:var(--blanco);font-weight:700}
.cuenta-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.cuenta-head p{font-size:15px;color:var(--gris);margin-top:6px}

.direcciones{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.direccion{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:26px;display:flex;flex-direction:column;gap:14px}
.direccion--default{border:2px solid var(--verde)}
.direccion__head{display:flex;justify-content:space-between;align-items:start;gap:16px}
.direccion__head h3{font-size:18px;margin-top:8px}
.direccion address{font-style:normal;font-size:15px;line-height:1.6}
.direccion__envio{background:var(--verde-claro);border-radius:var(--r-control);padding:13px 16px;display:flex;justify-content:space-between;align-items:center;font-size:14px}
.direccion--nueva{border:2px dashed #d8d2c8;align-items:center;justify-content:center;text-align:center;gap:9px;min-height:200px;color:var(--cuerpo)}
.direccion--nueva__mas{width:44px;height:44px;border-radius:var(--r-control);background:var(--verde-claro);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--verde)}
.direccion--nueva strong{font-family:var(--slab);font-size:17px;color:var(--negro)}
.direccion--nueva span{font-size:14px;color:var(--gris)}

.pedidos{display:flex;flex-direction:column;gap:20px}
.pedido{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:26px;display:flex;flex-direction:column;gap:18px}
.pedido__head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pedido__head strong{display:block;font-family:var(--slab);font-size:18px;color:var(--negro)}
.pedido__head span{font-size:14px;color:var(--gris)}
.pedido__items{display:flex;gap:14px;flex-wrap:wrap}
.pedido__item{display:flex;gap:10px;align-items:center;font-size:14px}
.pedido__item img{width:44px;height:44px;object-fit:cover;border-radius:var(--r-control)}
.pedido__pie{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--borde);padding-top:18px}
.pedido__fecha{display:block;font-size:14px;color:var(--gris);margin-bottom:2px}
.pedido__acciones{display:flex;gap:10px;flex-wrap:wrap}
.estado-pill--entregado{background:var(--negro)}
.estado-pill--processing{background:var(--dorado);color:var(--negro)}

/* Buscador y 404 */
.buscador__grupo{display:flex;flex-direction:column;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--borde);margin-bottom:20px}
.buscador__grupo:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.buscador__label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.buscador__todos{font-size:14px;font-weight:700}
.error404{padding-block:68px;background:var(--negro);color:var(--blanco);min-height:60vh}
.error404 .wrap{display:flex;flex-direction:column;gap:22px;max-width:720px;margin-inline:auto}
.error404 h1{color:var(--blanco)}
.error404 p{color:#c9c5bd;max-width:48ch}
.error404__num{font-family:var(--slab);font-weight:800;font-size:76px;line-height:1;letter-spacing:-.04em;color:var(--dorado)}
.error404__chips .chip{background:transparent;border-color:#3d3d3d;color:var(--blanco)}
.error404__botones{display:flex;gap:12px;flex-wrap:wrap}

/* Blog */
.blog-head{display:flex;flex-direction:column;gap:10px;max-width:70ch}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:68px}
.nota{background:var(--blanco);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.nota--destacada{grid-column:span 3;display:grid;grid-template-columns:1.3fr 1fr;align-items:stretch}
.nota--destacada .nota__foto img{height:100%;aspect-ratio:auto;object-fit:cover}
.nota__foto img{width:100%;aspect-ratio:3/2;object-fit:cover}
.nota__body{padding:22px;display:flex;flex-direction:column;gap:9px;justify-content:center}
.nota__titulo{font-family:var(--slab);font-weight:700;font-size:20px;line-height:1.25}
.nota__titulo a{color:var(--negro)}
.nota-single{max-width:760px;padding-block:44px 68px;display:flex;flex-direction:column;gap:24px}
.nota-single__head{display:flex;flex-direction:column;gap:10px}
.nota-single__foto img{border-radius:var(--r-card)}
.nota-single__cuerpo{font-size:17px;line-height:1.8;display:flex;flex-direction:column;gap:18px}

/* Páginas */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.contacto__intro{display:flex;flex-direction:column;gap:22px}
.contacto__wa{background:var(--whatsapp);border-radius:var(--r-card);padding:22px;display:flex;flex-direction:column;gap:3px;color:var(--blanco)}
.contacto__wa span{font-size:13px;opacity:.9}
.contacto__wa strong{font-size:22px}
.contacto__wa:hover{color:var(--blanco)}
.contacto__datos{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:26px;display:flex;flex-direction:column;gap:20px}
.contacto__datos>div{display:flex;flex-direction:column;gap:6px}
.contacto__datos>div+div{border-top:1px solid var(--borde);padding-top:18px}
.contacto__datos strong{color:var(--negro);font-size:16px}
.contacto__fila{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.catering-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.catering-hero>div{display:flex;flex-direction:column;gap:18px}
.catering-hero__foto{border-radius:var(--r-card)}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:26px}
.paso{display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--verde);padding-top:16px}
.paso strong{font-family:var(--slab);font-size:17px;color:var(--negro)}
.paso span{font-size:15px;line-height:1.55}
.market-hero,.corp-hero{position:relative;background:var(--verde-oscuro);color:var(--blanco);overflow:hidden}
.market-hero__fondo,.corp-hero__fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.market-hero__txt{position:relative;padding-block:68px;display:flex;flex-direction:column;gap:16px;max-width:60ch}
.market-hero h1,.corp-hero h1{color:var(--blanco)}
.market-hero p{color:#e6f4f1;font-size:18px}
.cat-card--pronto{opacity:.85}
.corp-hero__grid{position:relative;padding-block:72px;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.corp-hero__grid>div:first-child{display:flex;flex-direction:column;gap:18px}
.corp-hero p{color:#e6f4f1;font-size:18px;max-width:50ch}
.corp-objeciones{background:var(--blanco);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:13px;box-shadow:var(--sombra-fuerte)}
.corp-objeciones>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--borde);padding-bottom:12px;font-size:15px;color:var(--cuerpo)}
.corp-objeciones>div:last-child{border-bottom:0;padding-bottom:0}
.corp-objeciones strong{font-weight:900;font-size:19px;color:var(--negro)}
.pagina__cuerpo{max-width:75ch;display:flex;flex-direction:column;gap:18px;font-size:17px;line-height:1.8;margin-top:20px}

/* Checkout */
.checkout-entrega{display:flex;flex-direction:column;gap:14px;margin-block:24px}
.checkout-entrega h3{font-size:20px}
.checkout-entrega__nota{font-size:14px;color:var(--gris)}
.cart-envio-nota{font-size:14px;color:var(--gris);margin:0}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.woocommerce-checkout #order_review{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:26px}

@media(max-width:1100px){
  .catalogo,.ficha__grid,.ficha__detalle,.gracias,.acceso,.contacto,.catering-hero,.corp-hero__grid,.woocommerce-account .woocommerce,.woocommerce-checkout .col2-set{grid-template-columns:1fr}
  .filtros{position:static}
  .promesas,.pasos,.guia-tamanos__grid{grid-template-columns:1fr 1fr}
  .blog-grid{grid-template-columns:1fr 1fr}
  .nota--destacada{grid-column:span 2;grid-template-columns:1fr}
}
@media(max-width:1100px){
  .hero--sin-foto .hero__txt{grid-template-columns:1fr;gap:28px}
}
@media(max-width:860px){
  .hero__txt,.hero--sin-foto .hero__txt{padding-block:36px}
  .hero__datos{padding:22px}
  .tira-corporativos,.gracias__social,.acceso__sincuenta,.acceso__wa,.contacto__wa{flex-direction:column;align-items:flex-start}
  .direcciones{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .nota--destacada{grid-column:span 1}
  .promesas,.pasos,.guia-tamanos__grid{grid-template-columns:1fr}
  .pedido__pie{flex-direction:column;align-items:stretch}
  .pedido__acciones .btn{flex:1}
}

/* ── Carrito ── */
.carrito{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;padding-block:44px 68px;max-width:var(--contenedor);margin-inline:auto;padding-inline:var(--pad)}
.carrito-item{display:grid;grid-template-columns:88px 1fr auto auto;gap:18px;align-items:center;background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:18px;margin-bottom:14px}
.carrito-item__foto img{width:88px;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-control)}
.carrito-item__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.carrito-item__nombre{font-family:var(--slab);font-weight:700;font-size:17px;color:var(--negro)}
.carrito-item__extras{font-size:13px;color:var(--gris)}
.carrito-item__extras p{margin:0}
.carrito-item__prep{font-size:12px;font-weight:700;color:var(--verde)}
.carrito-item__cantidad input{width:80px;min-height:44px;border:1px solid var(--borde);border-radius:var(--r-control);text-align:center;font-size:16px;font-family:var(--sans)}
.carrito-item__total{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-weight:900;font-size:18px;color:var(--negro)}
.carrito-item__quitar{font-size:13px;font-weight:500;color:var(--gris)}
.carrito-item__quitar:hover{color:var(--error)}
.carrito__acciones{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}
.carrito__cupon{display:flex;gap:10px;flex:1;min-width:280px}
.carrito__cupon input{flex:1;min-height:48px;border:1px solid var(--borde);border-radius:var(--r-control);background:var(--blanco);padding:0 15px;font-family:var(--sans);font-size:15px}
.carrito__actualizar{background:none;border:0;font-size:14px;font-weight:700;color:var(--verde);cursor:pointer;min-height:44px}
.carrito__resumen{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:26px;display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}
.carrito__resumen table{width:100%;border-collapse:collapse;font-size:15px}
.carrito__resumen th{text-align:left;font-weight:400;color:var(--cuerpo);padding:10px 0}
.carrito__resumen td{text-align:right;padding:10px 0;color:var(--negro)}
.carrito__resumen .order-total th,.carrito__resumen .order-total td{border-top:1px solid var(--borde);padding-top:16px;font-weight:900;font-size:19px;color:var(--negro)}
.carrito__resumen .woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right;display:flex;flex-direction:column;gap:8px}
.carrito__resumen .shipping-calculator-button{font-size:13px}
.carrito__seguir{text-align:center;font-size:14px;font-weight:700}
.carrito__envios{display:flex;flex-direction:column;gap:9px;background:var(--verde-claro);border-radius:var(--r-control);padding:16px;font-size:14px}
.carrito__envios>div{display:flex;justify-content:space-between;gap:12px}
.carrito__envios strong{color:var(--negro)}

/* ── Checkout ── */
.checkout{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start;padding-block:44px 68px}
.checkout__datos{display:flex;flex-direction:column;gap:24px;min-width:0}
.checkout__bloque{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:28px}
.checkout__bloque h3{font-size:20px;margin-bottom:18px}
.checkout__resumen{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:28px;position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}
.checkout__resumen h3{font-size:20px}
.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout #order_review{background:transparent;border:0;border-radius:0;padding:0}
.woocommerce-checkout table.shop_table{width:100%;border-collapse:collapse;font-size:15px}
.woocommerce-checkout table.shop_table th{text-align:left;font-weight:400;padding:10px 0;color:var(--cuerpo)}
.woocommerce-checkout table.shop_table td{text-align:right;padding:10px 0;color:var(--negro)}
.woocommerce-checkout table.shop_table tfoot .order-total th,.woocommerce-checkout table.shop_table tfoot .order-total td{border-top:1px solid var(--borde);padding-top:16px;font-weight:900;font-size:19px}
.woocommerce-checkout .cart_item td.product-name{text-align:left}
.wc_payment_methods{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.wc_payment_method label{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--negro);min-height:44px}
.wc_payment_method .payment_box{background:var(--crema);border-radius:var(--r-control);padding:14px;font-size:14px;line-height:1.55}
#place_order{background:var(--dorado);color:var(--negro);border:0;border-radius:var(--r-control);min-height:52px;width:100%;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;margin-top:16px}
.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--gris);margin-top:12px}
.woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start}
.form-row{margin-bottom:16px}
.form-row label{display:block;font-size:13px;font-weight:700;color:var(--negro);margin-bottom:7px}
.form-row .required{color:var(--error);text-decoration:none}
.woocommerce-input-wrapper{display:block}
.select2-container .select2-selection--single{min-height:48px;border:1px solid var(--borde);border-radius:var(--r-control);background:var(--crema)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:48px;padding-left:15px;color:var(--cuerpo)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px}

/* ── Avisos de WooCommerce con el tono del sitio ── */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:var(--r-card);padding:18px 20px;margin-bottom:20px;list-style:none;font-size:15px;line-height:1.55}
.woocommerce-message{background:var(--verde-claro);color:var(--cuerpo)}
.woocommerce-info{background:var(--dorado);color:var(--negro)}
.woocommerce-error{background:var(--error-fondo);color:var(--cuerpo)}
.woocommerce-message .button,.woocommerce-info .button{float:right;background:var(--negro);color:var(--blanco);border-radius:var(--r-control);padding:9px 16px;font-size:13px;font-weight:700}
.woocommerce-notices-wrapper{max-width:var(--contenedor);margin:20px auto 0;padding-inline:var(--pad)}

/* ── Datos de la cuenta ── */
.cuenta-form{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:32px;display:flex;flex-direction:column;gap:20px}
.cuenta-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cuenta-form__pass{border:0;border-top:1px solid var(--borde);padding:24px 0 0;margin:4px 0 0;display:flex;flex-direction:column;gap:16px}
.cuenta-form__pass legend{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);padding:0}
.cuenta-form__nota{font-size:14px;color:var(--gris)}
.cuenta-form__pie{border-top:1px solid var(--borde);padding-top:24px;display:flex;justify-content:flex-end}
.header__nombre{font-family:var(--slab);font-weight:800;font-size:20px;color:var(--blanco)}

@media(max-width:1100px){
  .carrito,.checkout{grid-template-columns:1fr}
  .carrito__resumen,.checkout__resumen{position:static}
}
@media(max-width:860px){
  .carrito-item{grid-template-columns:64px 1fr;gap:14px}
  .carrito-item__foto img{width:64px}
  .carrito-item__cantidad,.carrito-item__total{grid-column:2}
  .carrito-item__total{align-items:flex-start;flex-direction:row;gap:14px;align-items:baseline}
  .cuenta-form__grid{grid-template-columns:1fr}
  .carrito__cupon{min-width:0}
}

/* ══ Contenido cargado en el editor de WordPress ══
   La plantilla estructura, pero el texto es el que escribieron ellos.
   Estos estilos hacen que se vea bien sin tener que tocarlo. */
.contenido-wp{display:flex;flex-direction:column;gap:20px;font-size:17px;line-height:1.75;max-width:75ch}
.contenido-wp--ancho{max-width:none}
.contenido-wp--relato{max-width:68ch;margin-inline:auto;font-size:18px}
.contenido-wp>*{margin:0}
.contenido-wp h2{font-size:clamp(24px,2.6vw,32px);margin-top:16px}
.contenido-wp h3{font-size:clamp(19px,2vw,22px);margin-top:10px}
.contenido-wp h4{font-family:var(--slab);font-size:18px;font-weight:700;color:var(--negro)}
.contenido-wp p{text-wrap:pretty}
.contenido-wp strong{color:var(--negro);font-weight:700}
.contenido-wp a{text-decoration:underline;text-underline-offset:3px}
.contenido-wp ul,.contenido-wp ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.contenido-wp li::marker{color:var(--verde)}
.contenido-wp img,.contenido-wp .wp-block-image img{border-radius:var(--r-card);height:auto}
.contenido-wp figure{margin:0}
.contenido-wp figcaption{font-size:14px;color:var(--gris);margin-top:8px}
.contenido-wp blockquote{border-left:3px solid var(--verde);padding:4px 0 4px 22px;font-size:19px;line-height:1.6;color:var(--negro)}
.contenido-wp blockquote p{margin:0}
.contenido-wp hr{border:0;border-top:1px solid var(--borde);margin:8px 0}
.contenido-wp table{width:100%;border-collapse:collapse;font-size:15px}
.contenido-wp th,.contenido-wp td{text-align:left;padding:12px;border-bottom:1px solid var(--borde)}
.contenido-wp th{font-weight:700;color:var(--negro);background:var(--verde-claro)}
.contenido-wp .wp-block-buttons{display:flex;gap:10px;flex-wrap:wrap}
.contenido-wp .wp-block-button__link{display:inline-flex;align-items:center;min-height:44px;padding:14px 26px;border-radius:var(--r-control);background:var(--dorado);color:var(--negro);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.contenido-wp .wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.contenido-wp .wp-block-group{display:flex;flex-direction:column;gap:16px}
.contenido-wp .wp-block-separator{border-top:1px solid var(--borde)}
.contenido-wp .alignleft{float:left;margin:0 24px 16px 0;max-width:45%}
.contenido-wp .alignright{float:right;margin:0 0 16px 24px;max-width:45%}
.contenido-wp .aligncenter{margin-inline:auto}

/* ══ Hero de landing ══ */
.landing-hero{position:relative;background:var(--verde-oscuro);color:var(--blanco);overflow:hidden}
.landing-hero__fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.landing-hero__txt{position:relative;padding-block:72px;display:flex;flex-direction:column;gap:18px;max-width:var(--contenedor)}
.landing-hero h1{color:var(--blanco);max-width:20ch}
.landing-hero .eyebrow{color:var(--dorado)}
.landing-hero__bajada{font-size:19px;line-height:1.6;color:#e6f4f1;max-width:56ch}
.landing-hero--claro{background:var(--verde-claro);color:var(--cuerpo)}
.landing-hero--claro h1{color:var(--negro)}
.landing-hero--claro .eyebrow{color:var(--verde)}
.landing-hero--claro .landing-hero__bajada{color:var(--cuerpo)}
.btn--linea-claro{border-color:var(--blanco);color:var(--blanco)}
.btn--linea-claro:hover{color:var(--blanco)}

/* ══ Bloque CTA ══ */
.bloque-cta{background:var(--verde-claro);border-radius:var(--r-card);padding:36px;display:flex;justify-content:space-between;align-items:center;gap:36px}
.bloque-cta p{margin-top:10px;max-width:60ch}
.bloque-cta__botones{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.bloque-cta--wa{background:var(--negro);color:var(--blanco)}
.bloque-cta--wa h2{color:var(--blanco)}
.bloque-cta--wa p{color:#c9c5bd}

/* ══ Chips grandes (ocasiones) ══ */
.chips--grandes .chip{min-height:48px;padding:13px 22px;font-size:15px}

/* ══ Página Pedir ══ */
.accesos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.acceso{background:var(--blanco);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column;color:var(--cuerpo)}
.acceso:hover{color:var(--cuerpo)}
.acceso__foto{display:block;background:var(--verde-claro)}
.acceso__foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
.acceso__txt{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1}
.acceso__txt h2{font-size:24px}
.acceso__bajada{font-size:16px;line-height:1.6;flex:1}
.acceso__flecha{font-weight:700;color:var(--verde);font-size:15px}

/* ══ Páginas con formulario ══ */
.form-pagina{display:grid;grid-template-columns:1fr 460px;gap:44px;align-items:start}
.form-pagina__texto{display:flex;flex-direction:column;gap:28px;min-width:0}
.form-pagina__form{position:sticky;top:20px}
.form-card{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:32px;display:flex;flex-direction:column;gap:18px}
.form-card h2{font-size:24px}
.form-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-card .req{color:var(--error)}
.form-card input[type=file]{padding:12px;background:var(--crema);border:1px dashed var(--borde);border-radius:var(--r-control);font-size:14px;width:100%}
.form-card .popup__legal{text-align:left}

.perfil__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.perfil__lista li{display:flex;flex-direction:column;gap:5px;border-top:3px solid var(--verde);padding-top:14px}
.perfil__lista strong{font-family:var(--slab);font-size:17px;color:var(--negro)}
.perfil__lista span{font-size:15px;line-height:1.55}

.datos-contacto{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.datos-contacto p{margin:0}
.datos-contacto strong{color:var(--negro)}

/* ══ Botón de Arrepentimiento ══ */
.legal-hero{background:var(--negro);color:var(--blanco);padding-block:56px}
.legal-hero .wrap{display:flex;flex-direction:column;gap:14px}
.legal-hero h1{color:var(--blanco)}
.legal-hero .eyebrow{color:var(--dorado)}
.legal-hero__bajada{font-size:18px;line-height:1.65;color:#c9c5bd;max-width:64ch}
.legal-marco{display:flex;flex-direction:column;gap:20px}
.legal-pasos{list-style:none;margin:0;padding:0;counter-reset:lp;display:flex;flex-direction:column;gap:18px}
.legal-pasos li{counter-increment:lp;display:flex;flex-direction:column;gap:4px;padding-left:48px;position:relative}
.legal-pasos li::before{content:counter(lp);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--verde);color:var(--blanco);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.legal-pasos strong{font-size:16px;color:var(--negro)}
.legal-pasos span{font-size:15px;line-height:1.6}
.legal-nota{background:var(--dorado);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:9px}
.legal-nota h3{font-size:18px}
.legal-nota p{font-size:15px;line-height:1.65;color:var(--negro)}
.legal-fuente{font-size:13px;color:var(--gris);line-height:1.6}

/* ══ Quiénes Somos ══ */
.historia{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.historia__hito{display:flex;flex-direction:column;gap:10px;border-top:3px solid var(--verde);padding-top:18px}
.historia__anio{font-family:var(--slab);font-weight:800;font-size:32px;color:var(--verde);line-height:1}
.historia__hito p{font-size:17px;line-height:1.6}

@media(max-width:1100px){
  .form-pagina{grid-template-columns:1fr}
  .form-pagina__form{position:static}
  .accesos{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .landing-hero__txt{padding-block:40px}
  .accesos,.historia,.perfil__lista,.form-card__grid{grid-template-columns:1fr}
  .bloque-cta{flex-direction:column;align-items:flex-start;padding:26px}
  .bloque-cta__botones{width:100%}
  .bloque-cta__botones .btn{flex:1}
  .contenido-wp .alignleft,.contenido-wp .alignright{float:none;margin:0;max-width:none}
  .form-card{padding:24px}
}

/* ══ Corporativos ══ */
.corp-servicios{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.corp-servicio{background:var(--blanco);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.corp-servicio__foto{background:var(--verde-claro);aspect-ratio:16/10}
.corp-servicio__foto img{width:100%;height:100%;object-fit:cover}
.corp-servicio__body{padding:22px;display:flex;flex-direction:column;gap:11px;flex:1}
.corp-servicio__body h3{font-size:20px}
.corp-servicio__body p{font-size:15px;line-height:1.6;flex:1}
.corp-servicio__desde{font-weight:900;font-size:17px;color:var(--verde)}

.corp-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start}
.faq{display:flex;flex-direction:column}
.faq details{border-top:1px solid var(--borde);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--borde)}
.faq summary{font-family:var(--slab);font-weight:700;font-size:18px;color:var(--negro);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:32px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-weight:400;font-size:24px;color:var(--verde);line-height:1;flex-shrink:0}
.faq details[open] summary::after{content:"−"}
.faq details p{font-size:15px;line-height:1.65;margin-top:10px;max-width:70ch}

.corp-form{background:var(--negro);color:var(--blanco);padding-block:60px}
.corp-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.corp-form__texto{display:flex;flex-direction:column;gap:16px}
.corp-form__texto h2{color:var(--blanco)}
.corp-form__texto p{color:#c9c5bd;font-size:17px;line-height:1.65;max-width:52ch}
.corp-form__wa{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:8px}
.corp-form__wa span{font-size:15px;color:#a09c94}
.corp-form__dato{font-size:15px;color:#a09c94;line-height:1.7;margin-top:8px}

/* Chips con input real: se usan como checkbox y radio en los formularios. */
.chips--form{gap:8px}
.chip--check{cursor:pointer;position:relative;padding:0}
.chip--check input{position:absolute;opacity:0;width:0;height:0}
.chip--check span{display:flex;align-items:center;min-height:44px;padding:11px 18px;border-radius:var(--r-control);border:1px solid var(--borde);background:var(--blanco);font-size:14px;color:var(--cuerpo);transition:background .12s ease,color .12s ease}
.chip--check input:checked+span{background:var(--verde);border-color:var(--verde);color:var(--blanco);font-weight:700}
.chip--check input:focus-visible+span{outline:2px solid var(--verde);outline-offset:2px}
.campo__label{font-size:13px;font-weight:700;color:var(--negro)}

.contacto__quienes{display:flex;flex-direction:column;gap:14px;max-width:70ch}
.contacto__quienes p{font-size:17px;line-height:1.7}
.contacto__quienes .btn{align-self:flex-start;margin-top:6px}

@media(max-width:1100px){
  .corp-servicios{grid-template-columns:1fr 1fr}
  .corp-faq,.corp-form__grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:860px){
  .corp-servicios{grid-template-columns:1fr}
  .corp-form{padding-block:36px}
  .faq summary{font-size:17px}
}

/* ════════════════════════════════════════════════════
   Correcciones sobre la implementación real
   ════════════════════════════════════════════════════ */

/* Carrito, Checkout y Mi Cuenta: ancho completo.
   Antes heredaban el max-width de lectura de page.php y salían aplastados. */
.woo-pagina{max-width:var(--contenedor);margin:0 auto;padding:8px var(--pad) 68px}
.woo-pagina>.woocommerce{max-width:none}
.woo-pagina .carrito,.woo-pagina .checkout{padding-inline:0;max-width:none}

/* El encabezado de las pantallas de WooCommerce, con el mismo peso que el resto. */
.woo-pagina .entry-title,
.woocommerce-account .woocommerce h1,
.woo-pagina>h1{font-size:clamp(28px,3.4vw,40px);text-transform:none;margin-bottom:24px}

/* Mi Cuenta: la grilla de dos columnas solo cuando existe la navegación.
   Sin sesión iniciada la página es el formulario de acceso y ocupa todo el ancho. */
.woocommerce-account .woocommerce{display:block;max-width:none;margin:0;padding:0}
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start}
.woocommerce-account .acceso{padding-block:0 24px}
.woocommerce-MyAccount-content{min-width:0}

/* Cards de categoría sin foto: fondo sólido de marca en vez de degradado
   sobre blanco, que dejaba el título ilegible. */
.cat-card{background:var(--verde-oscuro)}
.cat-card:has(img){background:var(--negro)}
.cat-card__velo{background:linear-gradient(to top,rgba(17,17,17,.92) 0%,rgba(17,17,17,.15) 70%,rgba(17,17,17,0) 100%)}
.cat-card__txt .eyebrow{color:var(--dorado)}
.cat-card__n{color:#e8e4de;font-size:14px;line-height:1.5;max-width:44ch}
.cat-card--pronto{opacity:1}
.cat-card--pronto .cat-card__velo{background:linear-gradient(to top,rgba(10,96,84,.95) 0%,rgba(10,96,84,.65) 100%)}

/* Los eyebrow sobre fondo verde oscuro tienen que ser dorados: en verde no se leían. */
.corp-hero .eyebrow,.market-hero .eyebrow,.landing-hero .eyebrow,.hero__eyebrow{color:var(--dorado)}

/* Market: el hero se centraba porque el max-width chocaba con el centrado de .wrap. */
.market-hero__txt{max-width:var(--contenedor)}
.market-hero__col{display:flex;flex-direction:column;gap:16px;max-width:60ch}
.market-hero__col .btn{align-self:flex-start}

/* Cards de producto: el precio y el botón siempre a la misma altura,
   sin el hueco que dejaban los títulos de una línea. */
.card__body{gap:7px}
.card__titulo{flex:0 0 auto;min-height:2.5em;display:flex;align-items:flex-start}
.card__meta{flex:1 0 auto;align-content:start}
.card .precio{margin-top:4px}

/* Carrusel: la última card quedaba cortada contra el borde. */
.carrusel{position:relative}
.carrusel__pista{scroll-padding-inline:0;padding-inline:2px;margin-inline:-2px}
.carrusel__pista::after{content:"";display:block;width:2px}
.carrusel__flechas button:hover{background:var(--verde);border-color:var(--verde);color:var(--blanco)}

/* Carrito: el nombre del producto se cortaba contra el input de cantidad. */
.carrito-item{grid-template-columns:88px minmax(0,1fr) auto auto}
.carrito-item__nombre{overflow-wrap:anywhere}
.carrito-item__cantidad input{width:72px}

/* Checkout: los campos de WooCommerce con el ancho de la columna. */
.checkout__bloque .col2-set,.checkout__bloque .col-1,.checkout__bloque .col-2{width:100%;float:none;display:block}
.checkout__bloque h3{font-size:20px;margin-bottom:18px}
#ship-to-different-address{font-size:20px}
#ship-to-different-address label{display:inline-flex;gap:10px;align-items:center;font-family:var(--slab);font-size:18px}

/* El aviso de cupón de WooCommerce, con el lenguaje del sistema. */
.woocommerce-form-coupon-toggle .woocommerce-info{background:var(--verde-claro);color:var(--cuerpo);border:0}

/* Corporativos: las cards de servicio sin foto quedaban en verde plano vacío. */
.corp-servicio__foto{background:var(--verde-oscuro);position:relative}
.corp-servicio__foto:empty::after,
.corp-servicio__foto:not(:has(img))::after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px)
}

/* Menos aire muerto entre secciones consecutivas del mismo color. */
.seccion+.seccion{padding-top:0}
.seccion--claro+.seccion--claro{padding-top:0;margin-top:-68px;padding-bottom:68px}
.seccion:last-of-type{padding-bottom:68px}

@media(max-width:860px){
  .woo-pagina{padding-inline:var(--pad-mobile)}
  .seccion+.seccion{padding-top:0}
  .seccion--claro+.seccion--claro{margin-top:-32px}
}

/* ════════════════════════════════════════════════════
   Ficha de producto — correcciones v2.2
   ════════════════════════════════════════════════════ */

/* La galería salía a un tercio de su ancho: WooCommerce le pone un ancho
   propio al contenedor y hay que devolverle el de la columna. */
.ficha__galeria .woocommerce-product-gallery{width:100%!important;margin:0;float:none;position:relative}
.ficha__galeria .woocommerce-product-gallery__wrapper{margin:0;width:100%}
.ficha__galeria .woocommerce-product-gallery__image,
.ficha__galeria .woocommerce-product-gallery__image a{display:block;width:100%}
.ficha__galeria img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-card)}
.ficha__galeria .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;list-style:none;margin:12px 0 0;padding:0}
.ficha__galeria .flex-control-thumbs img{aspect-ratio:1/1;border-radius:var(--r-control);cursor:pointer;opacity:.55}
.ficha__galeria .flex-control-thumbs img.flex-active,
.ficha__galeria .flex-control-thumbs img:hover{opacity:1}
.ficha__galeria .woocommerce-product-gallery__trigger{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;border-radius:50%;background:var(--blanco);box-shadow:var(--sombra);display:flex;align-items:center;justify-content:center;font-size:0}
.ficha__galeria .woocommerce-product-gallery__trigger::after{content:"⌕";font-size:24px;color:var(--negro)}
.ficha__galeria .woocommerce-product-gallery__trigger img{display:none}

/* El precio se veía en peso normal: WooCommerce lo envuelve en spans propios. */
.ficha__precio,.ficha__precio .price,.ficha__precio .woocommerce-Price-amount,.ficha__precio bdi{font-weight:900;color:var(--negro)}
.ficha__precio .price{margin:0;font-size:inherit;display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.ficha__precio del,.ficha__precio del *{font-weight:400;font-size:18px;color:var(--gris)}
.ficha__precio ins{text-decoration:none}

/* Selector de variación: era un <select> nativo del navegador. */
.ficha__compra table.variations{display:block;width:100%;margin:0 0 4px;border:0}
.ficha__compra table.variations tbody,
.ficha__compra table.variations tr{display:block;width:100%}
.ficha__compra table.variations td{display:block;width:100%;padding:0;border:0}
.ficha__compra table.variations td.label{margin-bottom:7px}
.ficha__compra table.variations td.label label{font-size:13px;font-weight:700;color:var(--negro);margin:0}
.ficha__compra table.variations td.value{margin-bottom:16px}
.ficha__compra .variations select{
  width:100%;min-height:52px;border:1px solid var(--borde);border-radius:var(--r-control);
  background:var(--crema);padding:0 44px 0 15px;font-family:var(--sans);font-size:16px;color:var(--cuerpo);
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--verde) 50%),linear-gradient(135deg,var(--verde) 50%,transparent 50%);
  background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat
}
.ficha__compra .variations select:focus{outline:0;border:2px solid var(--verde);background-color:var(--blanco)}
.ficha__compra .reset_variations{font-size:13px;font-weight:700;display:inline-block;margin-top:6px}
.woocommerce-variation-price{margin-bottom:14px}
.woocommerce-variation-price .price,.woocommerce-variation-price .woocommerce-Price-amount{font-weight:900;font-size:26px;color:var(--negro)}
.woocommerce-variation-availability p{font-size:14px;color:var(--verde);margin:0 0 10px}

/* Cantidad y botón: una sola fila, el botón manda. */
form.cart{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:stretch}
form.cart.variations_form{grid-template-columns:1fr}
form.cart .variations,form.cart .woocommerce-variation{grid-column:1/-1}
form.cart .single_variation_wrap{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:stretch}
form.cart .quantity{display:flex}
form.cart .quantity input{width:88px;min-height:52px;border:1px solid var(--borde);border-radius:var(--r-control);background:var(--crema);text-align:center;font-family:var(--sans);font-size:17px;font-weight:700;color:var(--negro)}
form.cart .single_add_to_cart_button{min-height:52px;padding-inline:28px}
form.cart .single_add_to_cart_button.disabled,
form.cart .single_add_to_cart_button:disabled{background:var(--borde);color:var(--gris);cursor:not-allowed}
form.cart .single_add_to_cart_button.disabled::before{content:""}

/* Atributos del producto, donde antes estaba la pestaña "Información adicional". */
.ficha__attrs{display:grid;grid-template-columns:auto 1fr;gap:0 20px;margin:20px 0 0;font-size:15px}
.ficha__attrs dt{font-weight:700;color:var(--negro);padding:11px 0;border-top:1px solid var(--borde)}
.ficha__attrs dd{margin:0;padding:11px 0;border-top:1px solid var(--borde);text-align:right}

/* El bloque de envíos: los datos tenían menos peso que las etiquetas. */
.ficha__envios{gap:16px;padding:22px}
.ficha__envios>div span{font-size:13px;color:var(--gris)}
.ficha__envios>div strong{font-size:16px;font-weight:700;color:var(--negro)}

/* La columna de compra no debe quedar más corta que la galería. */
.ficha__grid{gap:52px}
.ficha__compra{gap:18px;position:sticky;top:20px}
.ficha__resumen p{margin:0}
.ficha__resumen p+p{margin-top:12px}
.ficha__detalle{gap:52px;margin-top:8px}
.ficha__detalle h2{margin-bottom:14px}
.ficha__conservacion ul{display:flex;flex-direction:column;gap:10px;line-height:1.6}
.ficha__conservacion li::marker{color:var(--verde)}

/* Aviso de stock y notas de WooCommerce dentro de la ficha. */
.ficha__compra .stock{font-size:14px;font-weight:700;margin:0}
.ficha__compra .stock.in-stock{color:var(--verde)}
.ficha__compra .stock.out-of-stock{color:var(--error)}

@media(max-width:1100px){
  .ficha__compra{position:static}
}
@media(max-width:860px){
  .ficha__grid{gap:28px}
  .ficha__galeria .flex-control-thumbs{grid-template-columns:repeat(4,1fr)}
  form.cart,form.cart .single_variation_wrap{grid-template-columns:1fr}
  form.cart .quantity input{width:100%}
  .ficha__envios{grid-template-columns:1fr}
}
