/*
Theme Name: Simbacamper
Theme URI: https://simbacamper.com
Description: Tema de Simbacamper — tienda de accesorios y repuestos para camperización. Estética rústica vanlife (gris pizarra, dorado, madera). Tema hijo de Twenty Twenty-Five (bloques/FSE).
Author: Simbacamper
Template: twentytwentyfive
Version: 1.0.46
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: simbacamper
*/

/* Estilos de refuerzo (lo esencial vive en theme.json). */

/* Barra superior de confianza */
.sc-trustbar { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }

/* Cabecera pegajosa con sombra sutil */
.wp-block-template-part.sc-header { position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 14px rgba(47,52,58,.06); }

/* --- Header: una fila (logo · menú · iconos), compacto y con estilo --- */
.sc-header-main { position: relative; padding-top: .35rem !important; padding-bottom: .35rem !important; }
.sc-header-main > .sc-header-row { max-width: 1360px; margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2.5rem); }
.sc-header-row { gap: 1.5rem; align-items: center; flex-wrap: nowrap; }
.sc-header-row .wp-block-site-logo { flex: 0 0 auto; }

/* Menú central */
.sc-navwrap { display:flex; align-items:center; justify-content:center; gap: clamp(1.4rem, 2.6vw, 2.6rem); flex:1 1 auto; min-width:0; flex-wrap:wrap; }
.sc-navlink, .sc-mega-toggle {
  position: relative; display:inline-flex; align-items:center; justify-content:center; gap:.45rem; line-height:1;
  min-height:2.5rem; box-sizing:border-box;
  text-transform:uppercase; letter-spacing:.045em; font-weight:600; font-size:.95rem; font-family:inherit;
  color: var(--wp--preset--color--contrast, #2F343A); text-decoration:none; white-space:nowrap;
  background:none; border:0; cursor:pointer; padding:.4rem 0;
}
.sc-mega-close { display:none; }
/* Subrayado dorado animado */
.sc-navlink::after, .sc-mega-toggle::after {
  content:""; position:absolute; left:0; right:0; bottom:.15rem; height:2px; border-radius:2px;
  background: var(--wp--preset--color--accent, #C6A15B); transform: scaleX(0); transform-origin:center; transition: transform .22s ease;
}
.sc-navlink:hover::after, .sc-mega:hover .sc-mega-toggle::after, .sc-mega[aria-expanded="true"] .sc-mega-toggle::after { transform: scaleX(1); }
.sc-navlink:hover, .sc-mega-toggle:hover, .sc-mega[aria-expanded="true"] .sc-mega-toggle { color: var(--wp--preset--color--accent, #C6A15B); }
.sc-navlink:focus:not(:focus-visible), .sc-mega-toggle:focus:not(:focus-visible),
.sc-icons button:focus:not(:focus-visible), .sc-icons a:focus:not(:focus-visible) { outline: none; }
.sc-mega-toggle .grid { opacity:.85; }
.sc-mega-toggle .chev { transition: transform .2s; }
.sc-mega[aria-expanded="true"] .sc-mega-toggle .chev { transform: rotate(180deg); }

/* Iconos duotono */
.sc-header-row .sc-icons { flex: 0 0 auto; gap: 1.35rem; align-items: center; }
.sc-icons .sc-ico {
  background:none; border:0; padding:0; cursor:pointer; color: var(--wp--preset--color--contrast, #2F343A);
  display:inline-flex; align-items:center; text-decoration:none; transition: color .2s ease, transform .2s ease;
}
.sc-icons .sc-ico:hover { color: var(--wp--preset--color--accent, #C6A15B); transform: translateY(-1px); }
.sc-icons .sc-ico svg { width:23px; height:23px; }
.sc-hamburger, .sc-nav-close { display:none; } /* solo visibles en móvil */

/* --- Trustbar con SVG --- */
.sc-trustbar { background: var(--wp--preset--color--contrast, #2F343A); color: var(--wp--preset--color--base, #f4efe4); }
.sc-trust-inner { max-width:1360px; margin:0 auto; padding:.55rem clamp(1rem,3vw,2.5rem);
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.5rem 2.2rem;
  font-size:.78rem; letter-spacing:.07em; text-transform:uppercase; }
.sc-trust-item { display:inline-flex; align-items:center; gap:.5rem; }
.sc-trust-item .sc-trust-ico { width:18px; height:18px; color: var(--wp--preset--color--accent, #C6A15B); flex:0 0 auto; }
/* Móvil: rotador (un mensaje a la vez con fundido) */
@media (max-width:600px){
  .sc-trust-inner { display:block; position:relative; min-height:1.5rem; padding:.65rem 1rem; font-size:.72rem; }
  .sc-trust-item { position:absolute; inset:0; justify-content:center; opacity:0; transition:opacity .55s ease; }
  .sc-trust-item.sc-active { opacity:1; }
}

/* Panel de búsqueda desplegable (lupa) */
.sc-search-panel { border-top: 2px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--base-2, #f4efe4); }
.sc-search-panel[hidden] { display: none; }
.sc-search-form { max-width: 760px; margin: 0 auto; display:flex; gap:.5rem; padding: 1rem clamp(1rem,3vw,2rem); }
.sc-search-form input[type=search] { flex:1; padding:.8rem 1.1rem; border:1px solid rgba(0,0,0,.18); border-radius:10px; font-size:1rem; background:#fff; }
.sc-search-form input[type=search]:focus { outline:none; border-color: var(--wp--preset--color--accent, #C6A15B); box-shadow:0 0 0 3px rgba(198,161,91,.18); }
.sc-search-form button { background: var(--wp--preset--color--accent, #C6A15B); border:0; border-radius:10px; padding:0 1.25rem; cursor:pointer; color:#2F343A; display:inline-flex; align-items:center; transition:filter .2s; }
.sc-search-form button:hover { filter:brightness(1.06); }

/* --- Megamenú de categorías --- */
.sc-mega { position: static; display:flex; align-items:center; }
.sc-mega-panel { position:absolute; left:50%; transform:translateX(-50%); top:calc(100% + 12px); z-index:200;
  width:min(1120px, 94vw); background:#fff; border:1px solid rgba(0,0,0,.07); border-top:3px solid var(--wp--preset--color--accent);
  border-radius:12px; box-shadow:0 22px 60px rgba(47,52,58,.18); padding:1.75rem 2rem;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem 2rem; }
.sc-mega-panel[hidden] { display:none; }
.sc-mega-col > a.sc-mega-head { display:block; font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.82rem;
  color:#2F343A; text-decoration:none; margin-bottom:.6rem; padding-bottom:.4rem; border-bottom:2px solid var(--wp--preset--color--accent, #C6A15B); }
.sc-mega-col ul { list-style:none; margin:0; padding:0; }
.sc-mega-col li { margin:.22rem 0; }
.sc-mega-col li a { color:#5a5f66; text-decoration:none; font-size:.88rem; transition:color .15s, padding-left .15s; }
.sc-mega-col li a:hover { color: var(--wp--preset--color--accent, #C6A15B); padding-left:4px; }

/* --- Responsivo: menú HAMBURGUESA --- */
@media (max-width: 900px) {
  .sc-header-main > .sc-header-row { max-width:none; }
  .sc-hamburger { display:inline-flex; }         /* mostrar botón ☰ */
  .sc-header-row > .sc-navwrap { display:none; } /* el menú se oculta; se abre como overlay */

  /* Panel del menú (overlay a pantalla completa) al pulsar ☰ */
  body.sc-nav-open .sc-navwrap { display:flex !important; flex-direction:column; flex-wrap:nowrap; align-items:stretch;
    position:fixed; inset:0; z-index:9999; background:#fff; margin:0; gap:0;
    padding:4.6rem clamp(1.2rem,5vw,2rem) 2.5rem; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  body.sc-nav-open { overflow:hidden; } /* bloquear scroll del fondo */

  .sc-nav-close { display:flex; align-items:center; justify-content:center; position:fixed; top:.8rem; right:.9rem; z-index:10000;
    width:2.6rem; height:2.6rem; border:0; border-radius:50%; background:var(--wp--preset--color--contrast,#2F343A); color:#fff;
    font-size:1.9rem; line-height:1; cursor:pointer; padding:0; box-shadow:0 4px 14px rgba(0,0,0,.25); }

  /* Items del menú: verticales, grandes, con separador */
  body.sc-nav-open .sc-navwrap .sc-navlink,
  body.sc-nav-open .sc-navwrap .sc-mega-toggle { display:flex; justify-content:flex-start; width:100%; font-size:1.15rem;
    min-height:auto; padding:1.05rem .2rem; letter-spacing:.02em; }
  body.sc-nav-open .sc-mega-panel:not([hidden]) { width:100%; }
  body.sc-nav-open .sc-navwrap .sc-navlink::after, body.sc-nav-open .sc-navwrap .sc-mega-toggle::after { display:none; }
  body.sc-nav-open .sc-navwrap > .sc-navlink,
  body.sc-nav-open .sc-navwrap > .sc-mega { border-bottom:1px solid rgba(0,0,0,.08); }
  body.sc-nav-open .sc-mega { display:flex !important; flex-direction:column; align-items:stretch; width:100%; }
  body.sc-nav-open .sc-mega-toggle { justify-content:space-between; }
  body.sc-nav-open .sc-mega-toggle .grid { display:none; }
  body.sc-nav-open .sc-mega-toggle .chev { margin-left:auto; }

  /* Categorías: acordeón inline dentro del panel (solo cuando está abierto) */
  body.sc-nav-open .sc-mega-panel[hidden] { display:none; }
  body.sc-nav-open .sc-mega-panel:not([hidden]) { position:static !important; inset:auto !important; transform:none !important;
    left:auto !important; right:auto !important; top:auto !important; z-index:auto; width:100% !important; max-width:100% !important; margin:0 !important;
    display:block; height:auto; max-height:none; overflow:visible;
    background:transparent; border:0; box-shadow:none; border-radius:0; padding:.3rem 0 1rem .3rem; }
  body.sc-nav-open .sc-mega-col > a.sc-mega-head { font-size:.8rem; margin-bottom:.35rem; }
  body.sc-nav-open .sc-mega-col li a { font-size:.95rem; }
  body.sc-nav-open .sc-mega-col { padding-bottom:.4rem; }
}

/* --- Cabecera de sección (kicker + título + acento dorado) --- */
.sc-sec-head { text-align:center; max-width:640px; margin:clamp(2.6rem,5vw,3.8rem) auto clamp(1.6rem,3vw,2.3rem); padding:0 1rem; }
.sc-sec-kicker { display:inline-block; font-size:.74rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--wp--preset--color--accent,#C6A15B); margin-bottom:.65rem; }
.sc-sec-title { font-size:clamp(1.8rem,4vw,2.5rem); font-weight:800; line-height:1.12; margin:0;
  color:var(--wp--preset--color--contrast,#2F343A); letter-spacing:-.01em; }
.sc-sec-title::after { content:""; display:block; width:56px; height:3px; border-radius:3px; margin:.95rem auto 0;
  background:linear-gradient(90deg,var(--wp--preset--color--accent,#C6A15B),rgba(198,161,91,.3)); }
.sc-sec-sub { margin:.9rem 0 0; color:#6a6f76; font-size:1.02rem; line-height:1.5; }

/* --- Explora por categoría: tarjetas con imagen de fondo + overlay --- */
.sc-cat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; max-width:1200px; margin:0 auto; padding:0 clamp(1rem,3vw,1.5rem); }
.sc-cat-card { position:relative; display:block; aspect-ratio:1/1; border-radius:16px; overflow:hidden; text-decoration:none; box-shadow:0 6px 22px rgba(47,52,58,.08); }
.sc-cat-img { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s ease; }
.sc-cat-card::after { content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(24,28,34,.9) 0%, rgba(24,28,34,.3) 48%, rgba(24,28,34,0) 100%); transition:background .3s; }
.sc-cat-card:hover .sc-cat-img { transform:scale(1.08); }
.sc-cat-card:hover::after { background:linear-gradient(to top, rgba(24,28,34,.93) 0%, rgba(24,28,34,.45) 58%, rgba(198,161,91,.12) 100%); }
.sc-cat-name { position:absolute; left:0; right:0; bottom:0; z-index:2; color:#fff; padding:1.05rem 1.15rem;
  font-size:1.02rem; font-weight:700; text-transform:uppercase; letter-spacing:.02em; line-height:1.25; text-shadow:0 1px 10px rgba(0,0,0,.5); }
.sc-cat-name b { display:block; margin-top:.28rem; font-size:.76rem; font-weight:600; letter-spacing:.03em; color:var(--wp--preset--color--accent,#C6A15B); }
@media (max-width:900px){
  /* Ancho completo (full-bleed): las tarjetas ocupan todo el ancho de la pantalla */
  .sc-cat-grid { box-sizing:border-box; position:relative; left:50%; transform:translateX(-50%); width:100vw; max-width:100vw;
    grid-template-columns:1fr 1fr; gap:.5rem; padding:0 .5rem; }
  .sc-cat-card { border-radius:12px; }
  .sc-cat-card::after { background:linear-gradient(to top, rgba(24,28,34,.94) 0%, rgba(24,28,34,.5) 62%, rgba(24,28,34,.12) 100%); }
}
@media (max-width:420px){ .sc-cat-name { font-size:.9rem; padding:.85rem .9rem; } }

/* --- Barra de confianza (tarjetas con SVG) --- */
.sc-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; max-width:1200px; margin:0 auto;
  padding:clamp(2rem,4vw,3.2rem) clamp(1rem,3vw,1.5rem); }
.sc-trust-card { text-align:center; padding:1.7rem 1.1rem; border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.06);
  box-shadow:0 6px 22px rgba(47,52,58,.05); transition:transform .2s ease, box-shadow .2s ease; }
.sc-trust-card:hover { transform:translateY(-5px); box-shadow:0 16px 36px rgba(47,52,58,.1); }
.sc-tc-ico { display:inline-flex; width:60px; height:60px; align-items:center; justify-content:center; border-radius:50%;
  background:rgba(198,161,91,.13); color:var(--wp--preset--color--accent,#C6A15B); margin-bottom:1rem; }
.sc-tc-ico svg { width:31px; height:31px; }
.sc-trust-card .sc-tc-title { font-size:1.06rem; font-weight:700; margin:0 0 .4rem; color:var(--wp--preset--color--contrast,#2F343A); text-transform:none; letter-spacing:0; }
.sc-trust-card p { font-size:.9rem; color:#6a6f76; margin:0; line-height:1.45; }
/* Móvil: carrusel con scroll lateral a ancho completo (full-bleed) */
@media (max-width:900px){
  .sc-trust-grid { box-sizing:border-box; position:relative; left:50%; transform:translateX(-50%); width:100vw; max-width:100vw;
    display:flex; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory;
    gap:.9rem; padding:1.6rem clamp(1rem,4vw,1.5rem); -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .sc-trust-grid::-webkit-scrollbar { display:none; }
  .sc-trust-card { flex:0 0 76%; max-width:76%; scroll-snap-align:center; }
  .sc-trust-card:last-child { margin-right:clamp(1rem,4vw,1.5rem); } /* aire al final del scroll */
}

/* Tarjetas de producto con aire vanlife */
.wc-block-grid__product,
.wp-block-woocommerce-product-template li.wc-block-product {
  transition: transform .18s ease, box-shadow .18s ease;
}
.wc-block-grid__product:hover,
.wp-block-woocommerce-product-template li.wc-block-product:hover {
  transform: translateY(-4px);
}

/* --- Loop de productos del shortcode [products] como TARJETAS (alturas iguales) --- */
.woocommerce ul.products {
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:1.5rem;
  margin:1.2rem 0 0 !important; padding:0 !important; list-style:none !important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content:none !important; } /* mata el clearfix flotante */
.woocommerce ul.products li.product {
  width:auto !important; margin:0 !important; float:none !important; padding:0 0 1.3rem !important;
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; overflow:hidden;
  box-shadow:0 6px 22px rgba(47,52,58,.05); text-align:left;
  display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover { transform:translateY(-5px); box-shadow:0 16px 36px rgba(47,52,58,.1); }
.woocommerce ul.products li.product > a img,
.woocommerce ul.products li.product img {
  width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff;
  padding:1.1rem; margin:0 0 1rem !important; box-sizing:border-box;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size:.96rem !important; font-weight:700; line-height:1.32; text-transform:none; letter-spacing:0;
  padding:0 1.15rem !important; margin:0 0 .55rem !important; color:var(--wp--preset--color--contrast,#2F343A);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.55em;
}
.woocommerce ul.products li.product .price {
  padding:0 1.15rem; margin:0 0 1rem; color:var(--wp--preset--color--contrast,#2F343A);
  font-size:1.08rem !important; font-weight:800; }
.woocommerce ul.products li.product .price del { color:#9a9ea4; font-weight:500; font-size:.9em; margin-right:.35rem; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.woocommerce ul.products li.product .button {
  margin:auto 1.15rem 0 !important; /* ancla el botón al fondo: todas las tarjetas alinean */
  display:block; text-align:center; background:var(--wp--preset--color--accent,#C6A15B); color:#2F343A;
  font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  padding:.7rem 1rem !important; border-radius:10px; border:0; transition:filter .18s ease; }
.woocommerce ul.products li.product .button:hover { filter:brightness(1.06); }
.woocommerce ul.products li.product .added_to_cart { margin:.5rem 1.15rem 0; font-size:.8rem; text-align:center; color:var(--wp--preset--color--accent,#C6A15B); }
@media (max-width:1024px){ .woocommerce ul.products { grid-template-columns:repeat(3,1fr); gap:1.1rem; } }
@media (max-width:640px){ .woocommerce ul.products { grid-template-columns:repeat(2,1fr); gap:.8rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.9rem !important; }
  .woocommerce ul.products li.product .button { font-size:.74rem; padding:.65rem .6rem !important; } }

/* --- Carrusel de productos (scroll lateral con flechas) --- */
.sc-carousel-wrap { position:relative; max-width:1200px; margin:1.2rem auto 0; padding:0 clamp(1rem,3vw,1.5rem); }
.sc-prod-carousel .woocommerce { margin:0; }
.sc-prod-carousel ul.products {
  display:flex !important; grid-template-columns:none !important; flex-wrap:nowrap; gap:1.2rem;
  overflow-x:auto; scroll-snap-type:x mandatory; margin:.4rem 0 0 !important; padding:.4rem .2rem 1.1rem;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.sc-prod-carousel ul.products::-webkit-scrollbar { display:none; }
.sc-prod-carousel ul.products li.product {
  flex:0 0 calc((100% - 3*1.2rem)/4); scroll-snap-align:start; } /* 4 visibles en escritorio */
/* Flechas */
.sc-carr-btn { position:absolute; top:calc(50% - 1.1rem); z-index:5; width:2.9rem; height:2.9rem; border-radius:50%;
  border:1px solid rgba(0,0,0,.06); background:#fff; color:var(--wp--preset--color--contrast,#2F343A);
  box-shadow:0 6px 20px rgba(47,52,58,.16); cursor:pointer; font-size:1.7rem; line-height:1; font-weight:400;
  display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s, transform .2s; }
.sc-carr-btn:hover { background:var(--wp--preset--color--accent,#C6A15B); color:#fff; transform:scale(1.07); }
.sc-carr-prev { left:-.6rem; }
.sc-carr-next { right:-.6rem; }
@media (max-width:1024px){ .sc-prod-carousel ul.products li.product { flex-basis:calc((100% - 2*1.1rem)/3); } /* 3 visibles */ }
@media (max-width:640px){
  /* Full-bleed a ancho de pantalla + táctil (sin flechas) */
  .sc-carousel-wrap { box-sizing:border-box; position:relative; left:50%; transform:translateX(-50%); width:100vw; max-width:100vw; padding:0; }
  .sc-prod-carousel ul.products { gap:.8rem; padding:.4rem clamp(1rem,4vw,1.4rem) 1rem; }
  .sc-prod-carousel ul.products li.product { flex-basis:66%; }
  .sc-prod-carousel ul.products li.product:last-child { margin-right:clamp(1rem,4vw,1.4rem) !important; }
  .sc-carr-btn { display:none; }
}

/* Títulos con carácter del logo (mayúsculas espaciadas) */
h1, h2, h3,
.wp-block-post-title,
.wc-block-components-product-name {
  letter-spacing: .01em;
}

/* --- Sección filosofía de marca ("Hecho por y para camperos") --- */
.sc-story { position:relative; left:50%; transform:translateX(-50%); width:100vw; max-width:none;
  margin-top:clamp(3rem,6vw,4.5rem); overflow:hidden; color:#F3ECE0;
  background:linear-gradient(160deg,#96795a 0%,#8a6d4f 45%,#725737 100%); }
.sc-story-bg { position:absolute; left:0; right:0; bottom:0; width:100%; height:auto; z-index:0; pointer-events:none; }
.sc-story-inner { position:relative; z-index:1; max-width:760px; margin:0 auto; text-align:center;
  padding:clamp(3.2rem,6vw,5rem) clamp(1.2rem,4vw,2rem); }
.sc-story-ico { display:inline-flex; color:var(--wp--preset--color--accent,#C6A15B); margin-bottom:1rem; }
.sc-story-ico svg { width:56px; height:56px; }
.sc-story-kicker { display:block; font-size:.76rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:#E6C88A; margin-bottom:.6rem; }
.sc-story-title { font-size:clamp(1.9rem,4.4vw,2.7rem); font-weight:800; line-height:1.1; margin:0 0 1.1rem; color:#fff; }
.sc-story-text { font-size:clamp(1rem,1.5vw,1.12rem); line-height:1.65; margin:0 auto; max-width:640px; color:#F1E7D6; }
.sc-story-values { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.5rem 1.9rem;
  margin:1.7rem 0 0; padding:0; list-style:none; font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#EBD9BC; }
.sc-story-values span { position:relative; }
.sc-story-values span:not(:last-child)::after { content:"·"; position:absolute; right:-1.1rem; color:var(--wp--preset--color--accent,#C6A15B); }
.sc-story-btn { margin-top:2rem; }
@media (max-width:600px){ .sc-story-values { gap:.4rem; flex-direction:column; }
  .sc-story-values span:not(:last-child)::after { content:none; } }

/* --- Archivo de categoría: sidebar de categorías + productos --- */
.sc-archive { display:grid; grid-template-columns:250px minmax(0,1fr); gap:2.4rem; align-items:start; max-width:1200px; margin:0 auto; }
.sc-archive > .wc-block-components-notices { grid-column:1 / -1; }   /* avisos: fila propia a todo el ancho */
.sc-archive > .wc-block-components-notices:empty { display:none; }
.sc-archive-side { grid-column:1; }
.sc-archive-main { grid-column:2; min-width:0; }
.sc-catnav { position:sticky; top:96px; }
.sc-catnav-search { display:flex; margin:0 0 1.3rem; border:1px solid rgba(0,0,0,.15); border-radius:10px; overflow:hidden; background:#fff; }
.sc-catnav-search input[type=search] { flex:1; min-width:0; border:0; padding:.62rem .8rem; font-size:.9rem; background:transparent; }
.sc-catnav-search input[type=search]:focus { outline:none; }
.sc-catnav-search button { border:0; background:var(--wp--preset--color--accent,#C6A15B); color:#2F343A; padding:0 .85rem; cursor:pointer; display:inline-flex; align-items:center; transition:filter .18s; }
.sc-catnav-search button:hover { filter:brightness(1.06); }
.sc-catnav-search button svg { width:17px; height:17px; }
.sc-catnav-title { display:block; font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#2F343A;
  margin:0 0 .8rem; padding-bottom:.5rem; border-bottom:2px solid var(--wp--preset--color--accent,#C6A15B); }
.sc-catnav-list ul { list-style:none; margin:0; padding:0; }
.sc-catnav-list > ul > li { margin:0 0 .12rem; }
.sc-catnav-list a { display:flex; justify-content:space-between; align-items:center; gap:.5rem; text-decoration:none;
  color:#4a4f56; font-size:.92rem; padding:.42rem .55rem; border-radius:8px; transition:background .15s ease, color .15s ease; }
.sc-catnav-list a span { font-size:.74rem; color:#9a9ea4; font-variant-numeric:tabular-nums; }
.sc-catnav-list a:hover { background:rgba(198,161,91,.12); color:#2F343A; }
.sc-catnav-list a.is-current { background:var(--wp--preset--color--accent,#C6A15B); color:#2F343A; font-weight:700; }
.sc-catnav-list a.is-current span { color:#4a3d1e; }
.sc-catnav-list li ul { margin:.15rem 0 .55rem .55rem; padding-left:.7rem; border-left:2px solid rgba(0,0,0,.08); }
.sc-catnav-list li ul a { font-size:.86rem; padding:.34rem .5rem; color:#6a6f76; }
.sc-catnav-list li:not(.is-open) > ul { display:none; }
.sc-catnav-select { display:none; }
.sc-catnav-select select { width:100%; padding:.72rem .8rem; border:1px solid rgba(0,0,0,.2); border-radius:10px; font-size:.95rem; background:#fff; color:#2F343A; }
@media (max-width:900px){
  .sc-archive { grid-template-columns:1fr; gap:1.3rem; }
  .sc-archive-side, .sc-archive-main { grid-column:1; }
  .sc-catnav { position:static; display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
  .sc-catnav-search { flex:1 1 100%; margin:0; }
  .sc-catnav-select { display:block; flex:1 1 100%; }
  .sc-catnav-list { display:none; }
}

/* --- Productos del bloque Product Collection como TARJETAS (categoría/tienda), igual que la home --- */
.wc-block-product-template li.wc-block-product {
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; overflow:hidden;
  box-shadow:0 6px 22px rgba(47,52,58,.05); padding:0 0 1.3rem !important; margin:0 !important;
  display:flex !important; flex-direction:column; text-align:left;
  transition:transform .2s ease, box-shadow .2s ease; }
.wc-block-product-template li.wc-block-product:hover { transform:translateY(-5px); box-shadow:0 16px 36px rgba(47,52,58,.1); }
.wc-block-product-template .wc-block-components-product-image { margin:0 0 1rem !important; }
.wc-block-product-template .wc-block-components-product-image img {
  width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff; padding:1.1rem; box-sizing:border-box; border-radius:0; }
.wc-block-product-template .wp-block-post-title {
  text-align:left !important; font-size:.96rem !important; font-weight:700; line-height:1.35 !important; text-transform:none !important; letter-spacing:0 !important;
  padding:0 1.15rem !important; margin:0 0 .5rem !important; min-height:2.7em; }
.wc-block-product-template .wp-block-post-title a {
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  color:var(--wp--preset--color--contrast,#2F343A); text-decoration:none; }
.wc-block-product-template .wp-block-woocommerce-product-price {
  text-align:left !important; padding:0 1.15rem !important; margin:0 0 1rem !important; font-size:1.06rem !important; font-weight:800;
  color:var(--wp--preset--color--contrast,#2F343A); }
.wc-block-product-template .wc-block-components-product-price__regular { color:#9a9ea4; font-weight:500; }
.wc-block-product-template .wc-block-components-product-button { margin:auto 1.15rem 0 !important; text-align:left; }
.wc-block-product-template .wc-block-components-product-button .wp-block-button__link {
  display:block; width:100%; text-align:center; background:var(--wp--preset--color--accent,#C6A15B); color:#2F343A;
  font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:.7rem 1rem; border-radius:10px; transition:filter .18s ease; }
.wc-block-product-template .wc-block-components-product-button .wp-block-button__link:hover { filter:brightness(1.06); }
/* Responsivo: 2 productos por fila */
@media (max-width:781px){
  .wc-block-product-template { grid-template-columns:repeat(2,1fr) !important; gap:.8rem !important; }
  .wc-block-product-template li.wc-block-product { padding-bottom:1rem !important; }
  .wc-block-product-template .wp-block-post-title { font-size:.88rem !important; padding:0 .8rem !important; }
  .wc-block-product-template .wp-block-woocommerce-product-price { padding:0 .8rem !important; font-size:.98rem !important; }
  .wc-block-product-template .wc-block-components-product-button { margin:auto .8rem 0 !important; }
  .wc-block-product-template .wc-block-components-product-button .wp-block-button__link { font-size:.72rem; padding:.6rem .5rem; }
  .wc-block-product-template .wc-block-components-product-image img { padding:.7rem; }
}

/* --- Ficha de producto individual --- */
.single-product h1.wp-block-post-title {
  font-size:clamp(1.7rem, 3.4vw, 2.4rem) !important; line-height:1.16 !important;
  text-transform:none !important; letter-spacing:0 !important; margin:0 0 .8rem !important;
  color:var(--wp--preset--color--contrast,#2F343A); }
.single-product .wp-block-woocommerce-product-price,
.single-product p.price { font-size:1.7rem !important; font-weight:800; color:var(--wp--preset--color--contrast,#2F343A); }

/* --- Footer --- */
.sc-footer { background:var(--wp--preset--color--contrast,#2F343A); color:#c9cdd2; }
.sc-footer-inner { max-width:1200px; margin:0 auto; padding:clamp(2.6rem,5vw,3.6rem) clamp(1.2rem,4vw,2.5rem) 0;
  display:grid; grid-template-columns:1.7fr 1fr 1fr 1.3fr; gap:2rem 2.5rem; }
.sc-foot-logo { display:block; font-size:1.5rem; font-weight:800; letter-spacing:.02em; text-transform:uppercase;
  color:var(--wp--preset--color--accent,#C6A15B); margin-bottom:.9rem; }
.sc-foot-brand p { font-size:.92rem; line-height:1.7; color:#aeb3b9; margin:0; max-width:36ch; }
.sc-foot-head { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  color:var(--wp--preset--color--accent,#C6A15B); margin:0 0 1rem; }
.sc-foot-links, .sc-foot-contact-list { list-style:none; margin:0; padding:0; }
.sc-foot-links li { margin:0 0 .6rem; }
.sc-foot-links a { color:#c9cdd2; text-decoration:none; font-size:.92rem; transition:color .15s ease, padding-left .15s ease; }
.sc-foot-links a:hover { color:var(--wp--preset--color--accent,#C6A15B); padding-left:4px; }
.sc-foot-contact-list li { display:flex; align-items:flex-start; gap:.6rem; margin:0 0 .8rem; font-size:.92rem; color:#c9cdd2; line-height:1.4; }
.sc-foot-ico { flex:0 0 auto; color:var(--wp--preset--color--accent,#C6A15B); display:inline-flex; margin-top:.05rem; }
.sc-foot-ico svg { width:17px; height:17px; }
.sc-foot-contact-list a { color:#c9cdd2; text-decoration:none; transition:color .15s ease; word-break:break-word; }
.sc-foot-contact-list a:hover { color:var(--wp--preset--color--accent,#C6A15B); }
.sc-foot-social { display:flex; gap:.6rem; margin-top:1.2rem; }
.sc-foot-social a { display:inline-flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; border-radius:50%;
  background:rgba(255,255,255,.07); color:#c9cdd2; transition:background .2s ease, color .2s ease, transform .2s ease; }
.sc-foot-social a:hover { background:var(--wp--preset--color--accent,#C6A15B); color:#2F343A; transform:translateY(-2px); }
.sc-foot-social svg { width:19px; height:19px; }
.sc-foot-sep { max-width:1200px; margin:2.2rem auto 0; border:0; border-top:1px solid rgba(255,255,255,.1); }
.sc-foot-legal { text-align:center; font-size:.8rem; letter-spacing:.02em; color:#868c93; padding:1.1rem 1.2rem 1.7rem; margin:0; }
@media (max-width:860px){ .sc-footer-inner { grid-template-columns:1fr 1fr; gap:2rem; } }
@media (max-width:520px){ .sc-footer-inner { grid-template-columns:1fr; gap:1.9rem; } }

/* --- HERO con vídeo de fondo --- */
.sc-hero { position:relative; left:50%; transform:translateX(-50%); width:100vw; max-width:none !important; margin-top:0;
  overflow:hidden; min-height:clamp(460px, 72vh, 720px); display:flex; align-items:center; }
.sc-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; transition:object-position 1s ease; }
/* En pantallas estrechas, al final mostramos el vídeo completo (contain) para que se lean sus letras enteras */
@media (max-width:820px){ .sc-hero.is-ending .sc-hero-video { object-fit:contain; object-position:center; background:#1c2026; } }
.sc-hero-overlay { position:absolute; inset:0; z-index:1; transition:opacity .9s ease;
  background:
    linear-gradient(100deg, rgba(28,32,38,.86) 0%, rgba(28,32,38,.62) 42%, rgba(28,32,38,.30) 100%),
    linear-gradient(0deg, rgba(28,32,38,.45) 0%, rgba(28,32,38,0) 40%); }
.sc-hero-content { position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto;
  padding:clamp(2.5rem,7vh,5rem) clamp(1.5rem,5vw,4rem); transition:opacity .9s ease, transform .9s ease; }
/* Sincronía con el vídeo: al final se desvanece el texto y se aclara el overlay para ver las letras del vídeo */
.sc-hero.is-ending .sc-hero-content { opacity:0; transform:translateY(-8px); pointer-events:none; }
.sc-hero.is-ending .sc-hero-overlay { opacity:.18; }
.sc-hero-eyebrow { color:#C6A15B; font-size:.9rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin:0 0 1rem; }
.sc-hero-title { color:#fff; font-size:clamp(2.3rem,4.8vw,4rem); line-height:1.05; margin:0 0 1.2rem; max-width:17ch;
  text-shadow:0 2px 20px rgba(0,0,0,.3); }
.sc-hero-text { color:#E9E4D8; font-size:clamp(1rem,1.4vw,1.18rem); line-height:1.6; max-width:54ch; margin:0 0 2rem;
  text-shadow:0 1px 12px rgba(0,0,0,.25); }
.sc-hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }
.sc-btn { display:inline-flex; align-items:center; padding:.85rem 1.7rem; border-radius:9px; font-weight:700;
  text-transform:uppercase; letter-spacing:.045em; font-size:.9rem; text-decoration:none; transition:transform .18s ease, filter .18s ease, background .18s, color .18s; }
.sc-btn-primary { background:#C6A15B; color:#2F343A; box-shadow:0 8px 24px rgba(198,161,91,.3); }
.sc-btn-primary:hover { filter:brightness(1.07); transform:translateY(-2px); }
.sc-btn-outline { border:2px solid #C6A15B; color:#fff; }
.sc-btn-outline:hover { background:#C6A15B; color:#2F343A; transform:translateY(-2px); }
@media (max-width:600px){ .sc-hero{ min-height:440px; } }

/* Botón "añadir al carrito" coherente */
.wc-block-components-product-button .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
}

/* Ficha de producto: bloque SKU / Categoría / Etiquetas.
   El markup es un wp-block-group flex "is-nowrap" que en móvil comprime
   el SKU (slug largo) a una columna de 1 carácter. En móvil se apila. */
.wp-block-woocommerce-product-sku,
.wp-block-woocommerce-product-sku .sku,
.wp-block-post-terms { overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 781px) {
  .wp-block-woocommerce-product-meta .wp-block-group.is-layout-flex {
    flex-direction: column !important;
    align-items: flex-start !important;
    row-gap: .4rem;
  }
}
