/* ==========================================================================
   PIXORA · estilos del tema
   Los colores, tipografías y espacios se definen en theme.json.
   Aquí solo van los componentes que los bloques no resuelven por sí solos.
   ========================================================================== */

:root{
  --px-azul:      var(--wp--preset--color--tinta, #18213F);
  --px-turquesa:  var(--wp--preset--color--turquesa, #00C6D9);
  --px-coral:     var(--wp--preset--color--coral, #FF4F72);
  --px-amarillo:  var(--wp--preset--color--amarillo, #FFC928);
  --px-morado:    var(--wp--preset--color--morado, #6A4DFF);

  --px-morado-txt:   var(--wp--preset--color--morado-texto, #5637E8);
  --px-turquesa-txt: var(--wp--preset--color--turquesa-texto, #00707E);
  --px-coral-txt:    var(--wp--preset--color--coral-texto, #C7203F);
  --px-amarillo-txt: var(--wp--preset--color--amarillo-texto, #8A6200);

  --px-fondo:      var(--wp--preset--color--fondo, #F7F6FA);
  --px-superficie: var(--wp--preset--color--superficie, #EFEDF6);
  --px-base:       var(--wp--preset--color--base, #FFFFFF);
  --px-linea:      var(--wp--preset--color--linea, #E4E2EF);
  --px-linea-2:    #CFCBE2;
  --px-oscuro:     var(--wp--preset--color--oscuro, #101735);

  --px-tinta:    var(--wp--preset--color--tinta, #18213F);
  --px-tinta-2:  var(--wp--preset--color--tinta-suave, #474E70);
  --px-tinta-3:  var(--wp--preset--color--tinta-tenue, #5F6584);
  --px-sobre-oscuro:   #F2F3FB;
  --px-sobre-oscuro-2: #A9B0D4;

  --px-r-s:10px; --px-r-m:16px; --px-r-l:24px; --px-r-xl:34px; --px-r-pill:100px;
  --px-sh-1:0 1px 2px rgba(24,33,63,.05), 0 4px 14px rgba(24,33,63,.06);
  --px-sh-2:0 2px 6px rgba(24,33,63,.06), 0 18px 44px rgba(24,33,63,.11);

  --px-display: var(--wp--preset--font-family--pixora-display, Poppins, sans-serif);
  --px-body:    var(--wp--preset--font-family--pixora-body, Manrope, sans-serif);
}

/* --------------------------------------------------------------- base --- */
body{ -webkit-font-smoothing:antialiased; }
img{ max-width:100%; height:auto; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible{
  outline:3px solid var(--px-morado);
  outline-offset:2px;
  border-radius:6px;
}

.pixora-skip{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--px-azul); color:#fff; padding:12px 20px;
  border-radius:0 0 var(--px-r-s) 0; font-weight:700; text-decoration:none;
}
.pixora-skip:focus{ left:0; }

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ------------------------------------------------------------ anuncio --- */
.pixora-anuncio{
  background:var(--wp--preset--gradient--pixora-energia, linear-gradient(90deg,#6A4DFF,#FF4F72));
  color:#fff; text-align:center; padding:9px 20px;
  font-size:.84rem; font-weight:700; letter-spacing:.01em;
}
.pixora-anuncio a{ color:#fff; text-decoration:underline; }

/* --------------------------------------------------------- encabezado --- */
.pixora-header{
  background:var(--px-base);
  border-bottom:1px solid var(--px-linea);
  position:relative; z-index:60;
}
.pixora-header .wp-block-site-logo img,
.pixora-header .pixora-logo img{ height:38px; width:auto; }

.pixora-nav a{
  color:var(--px-tinta-2); font-weight:600; font-size:.92rem;
  padding:8px 12px; border-radius:9px; text-decoration:none;
}
.pixora-nav a:hover,
.pixora-nav .current-menu-item > a{ background:var(--px-superficie); color:var(--px-tinta); }
.pixora-nav .current-menu-item > a{ color:var(--px-morado-txt); background:#EEE9FF; }
.pixora-nav .wp-block-navigation__submenu-container{
  border-radius:var(--px-r-m); border-color:var(--px-linea); box-shadow:var(--px-sh-2); padding:6px;
}

.pixora-herramientas{ display:flex; align-items:center; gap:6px; }
.pixora-boton-icono{
  width:40px; height:40px; border-radius:11px;
  border:1px solid var(--px-linea); background:var(--px-base);
  display:grid; place-items:center; color:var(--px-tinta-2);
  position:relative; cursor:pointer; text-decoration:none;
}
.pixora-boton-icono:hover{ background:var(--px-superficie); border-color:var(--px-linea-2); }
.pixora-boton-icono .pixora-contador{
  position:absolute; top:-5px; right:-5px;
  min-width:19px; height:19px; padding:0 5px; border-radius:var(--px-r-pill);
  background:var(--px-coral); color:#fff;
  font-size:.68rem; font-weight:800; display:grid; place-items:center;
  font-family:var(--px-body);
}
.pixora-boton-icono[data-tipo="favoritos"] .pixora-contador{ background:var(--px-morado); }
.pixora-boton-icono .pixora-contador[hidden]{ display:none; }

.pixora-buscador{
  display:flex; align-items:center; gap:9px;
  background:var(--px-superficie); border:1px solid transparent;
  border-radius:11px; padding:9px 13px; color:var(--px-tinta-3);
  font-size:.88rem; max-width:300px; width:100%; text-decoration:none;
}
.pixora-buscador:hover{ border-color:var(--px-linea-2); }

@media (max-width:900px){
  .pixora-buscador{ display:none; }
}

/* -------------------------------------------------------------- botón --- */
.wp-block-button.is-style-pixora-fantasma .wp-block-button__link{
  background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.35);
}
.wp-block-button.is-style-pixora-fantasma .wp-block-button__link:hover{
  border-color:#fff; background:rgba(255,255,255,.08);
}
.wp-block-button__link{
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.wp-block-button__link:hover{ transform:translateY(-2px); }

/* --------------------------------------------------------------- hero --- */
.pixora-hero{
  background:var(--px-oscuro); color:var(--px-sobre-oscuro);
  position:relative; overflow:hidden;
}
.pixora-hero::before{
  content:""; position:absolute; inset:-30% -10% auto -20%; height:120%;
  background:
    radial-gradient(48% 60% at 22% 32%, rgba(106,77,255,.55), transparent 70%),
    radial-gradient(42% 55% at 78% 22%, rgba(0,198,217,.34), transparent 70%),
    radial-gradient(40% 50% at 62% 92%, rgba(255,79,114,.30), transparent 72%);
  filter:blur(6px); pointer-events:none;
}
.pixora-hero > *{ position:relative; }
.pixora-hero :where(h1,h2,h3,p,li){ color:inherit; }
.pixora-hero p{ color:var(--px-sobre-oscuro-2); }

.pixora-etiqueta{
  display:inline-flex; align-items:center; gap:9px;
  font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:#8FF3FF; background:rgba(0,198,217,.13);
  border:1px solid rgba(0,198,217,.34); padding:6px 14px; border-radius:var(--px-r-pill);
}

.wp-block-heading.is-style-pixora-degradado,
.pixora-degradado{
  background:linear-gradient(96deg, var(--px-turquesa), #9E86FF 46%, var(--px-coral));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.pixora-cifras{ display:flex; gap:26px; flex-wrap:wrap; }
.pixora-cifras > div{ font-size:.82rem; color:var(--px-sobre-oscuro-2); }
.pixora-cifras strong{
  display:block; font-family:var(--px-display); font-size:1.25rem; color:#fff; font-weight:600;
}

.pixora-arte{ position:relative; display:grid; place-items:center; }
.pixora-arte::before{
  content:""; position:absolute; width:80%; aspect-ratio:1; border-radius:50%;
  background:conic-gradient(from 210deg, rgba(106,77,255,.55), rgba(0,198,217,.5), rgba(255,201,40,.45), rgba(255,79,114,.5), rgba(106,77,255,.55));
  filter:blur(30px); opacity:.6; pointer-events:none;
}
.pixora-arte img{ position:relative; filter:drop-shadow(0 26px 40px rgba(0,0,0,.5)); }

/* ------------------------------------------------------------- grupos --- */
.wp-block-group.is-style-pixora-tarjeta{
  background:var(--px-base); border:1px solid var(--px-linea);
  border-radius:var(--px-r-l); padding:20px; box-shadow:var(--px-sh-1);
}
.wp-block-group.is-style-pixora-panel-oscuro{
  background:var(--wp--preset--gradient--pixora-noche, #101735);
  color:var(--px-sobre-oscuro);
  border-radius:var(--px-r-xl); padding:clamp(26px,4vw,52px);
  position:relative; overflow:hidden;
}
.wp-block-group.is-style-pixora-panel-oscuro::before{
  content:""; position:absolute; inset:-40% -30% auto auto; width:60%; aspect-ratio:1;
  background:radial-gradient(circle, rgba(0,198,217,.30), transparent 65%); pointer-events:none;
}
.wp-block-group.is-style-pixora-panel-oscuro > *{ position:relative; }
.wp-block-group.is-style-pixora-panel-oscuro :where(h1,h2,h3,h4){ color:#fff; }
.wp-block-group.is-style-pixora-panel-oscuro p{ color:var(--px-sobre-oscuro-2); }

.wp-block-list.is-style-pixora-chulos{ list-style:none; padding-left:0; }
.wp-block-list.is-style-pixora-chulos li{
  position:relative; padding-left:30px; margin-bottom:.6em;
}
.wp-block-list.is-style-pixora-chulos li::before{
  content:""; position:absolute; left:0; top:.35em; width:18px; height:18px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236A4DFF' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m4 12 5 5L20 6'/%3E%3C/svg%3E");
}

/* ----------------------------------------------------------- campañas --- */
.pixora-campana{
  background:var(--wp--preset--gradient--pixora-suave, linear-gradient(100deg,#FFF1D6,#E6E0FF));
  border:1px solid rgba(24,33,63,.07);
  border-radius:var(--px-r-xl); padding:clamp(22px,3.5vw,38px);
}
.pixora-editable{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--px-amarillo-txt); background:rgba(255,201,40,.28);
  padding:4px 10px; border-radius:var(--px-r-pill);
}

/* ------------------------------------------------------------- pasos --- */
.pixora-pasos{ counter-reset:pixora-paso; }
.pixora-pasos > .wp-block-column{
  background:var(--px-base); border:1px solid var(--px-linea);
  border-radius:var(--px-r-l); padding:24px 20px 20px;
  position:relative; counter-increment:pixora-paso;
}
.pixora-pasos > .wp-block-column::before{
  content:counter(pixora-paso);
  position:absolute; top:-14px; left:20px;
  width:34px; height:34px; border-radius:11px; display:grid; place-items:center;
  font-family:var(--px-display); font-weight:700; font-size:.94rem; color:#fff;
  background:var(--px-morado);
}
.pixora-pasos > .wp-block-column:nth-child(2)::before{ background:var(--px-turquesa); color:#00323A; }
.pixora-pasos > .wp-block-column:nth-child(3)::before{ background:var(--px-coral); }
.pixora-pasos > .wp-block-column:nth-child(4)::before{ background:var(--px-amarillo); color:#4A3400; }
.pixora-pasos .pixora-paso-tiempo{
  font-size:.79rem; font-weight:700; color:var(--px-tinta-3); margin-top:.7rem;
}

/* --------------------------------------------------- tarjetas simples --- */
.pixora-tarjetas .wp-block-column{
  background:var(--px-base); border:1px solid var(--px-linea);
  border-radius:var(--px-r-l); padding:20px;
}
.pixora-icono{
  width:42px; height:42px; border-radius:13px; display:grid; place-items:center; margin-bottom:12px;
}

/* ============================== WOOCOMMERCE ============================== */

/* ---- migas ---- */
.pixora-crumbs, .woocommerce-breadcrumb{
  font-size:.84rem; color:var(--px-tinta-3); padding:14px 0 0;
}
.pixora-crumbs a, .woocommerce-breadcrumb a{ color:var(--px-tinta-3); font-weight:500; }
.pixora-crumbs a:hover{ color:var(--px-morado-txt); }
.pixora-crumb-sep{ margin:0 .45em; }

/* ---- rejilla de productos ---- */
.woocommerce ul.products,
ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(232px, 1fr));
  gap:18px; margin:0; padding:0; list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ display:none !important; }

.woocommerce ul.products li.product,
ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important;
  background:var(--px-base); border:1px solid var(--px-linea);
  border-radius:var(--px-r-l); overflow:hidden;
  display:flex; flex-direction:column; position:relative;
  transition:transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); box-shadow:var(--px-sh-2); }

.woocommerce ul.products li.product a img{
  margin:0; aspect-ratio:4/3; object-fit:cover; width:100%; display:block;
  background:var(--px-superficie);
}
.woocommerce ul.products li.product .woocommerce-loop-product__link{
  display:block; text-decoration:none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--px-display); font-size:.98rem; font-weight:600;
  color:var(--px-tinta); padding:14px 16px 0; margin:0; line-height:1.3;
}
.woocommerce ul.products li.product .pixora-loop-cat{
  display:block; padding:14px 16px 0;
  font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--px-tinta-3);
}
.woocommerce ul.products li.product .pixora-loop-cat + .woocommerce-loop-product__link .woocommerce-loop-product__title{ padding-top:6px; }
.woocommerce ul.products li.product .price{
  font-family:var(--px-display); font-size:1.18rem; font-weight:600;
  color:var(--px-tinta); padding:8px 16px 0; margin:0; display:block;
}
.woocommerce ul.products li.product .price del{ color:var(--px-tinta-3); font-size:.82em; font-weight:400; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .pixora-loop-plazo{
  display:block; padding:2px 16px 0; font-size:.78rem; color:var(--px-tinta-3); font-weight:600;
}
.woocommerce ul.products li.product .star-rating{
  margin:8px 16px 0; font-size:.8em; color:var(--px-amarillo-txt);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:14px 16px 16px; margin-top:auto;
  display:block; text-align:center; text-decoration:none;
  background:var(--px-azul); color:#fff;
  font-family:var(--px-display); font-weight:600; font-size:.88rem;
  padding:11px 16px; border-radius:var(--px-r-pill); border:0;
  transition:background-color .16s ease;
}
.woocommerce ul.products li.product .button:hover{ background:var(--px-morado-txt); color:#fff; }
.woocommerce ul.products li.product .added_to_cart{ margin-top:0; background:var(--px-superficie); color:var(--px-tinta); }

/* ---- distintivos ---- */
.pixora-distintivos{
  position:absolute; top:11px; left:11px; z-index:2;
  display:flex; flex-direction:column; gap:6px; align-items:flex-start; pointer-events:none;
}
.pixora-distintivo{
  font-size:.66rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:4px 9px; border-radius:var(--px-r-pill);
  background:var(--px-azul); color:#fff;
}
.pixora-distintivo--nuevo{ background:var(--px-turquesa); color:#00323A; }
.pixora-distintivo--personalizable{ background:var(--px-coral); color:#fff; }
.pixora-distintivo--pedido{ background:#fff; color:var(--px-tinta-2); border:1px solid var(--px-linea-2); }
.pixora-distintivo--oferta{ background:var(--px-amarillo); color:#4A3400; }
.woocommerce span.onsale{
  position:absolute; top:11px; left:11px; margin:0; z-index:2;
  background:var(--px-amarillo); color:#4A3400;
  font-size:.66rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  min-height:0; min-width:0; line-height:1; padding:5px 10px; border-radius:var(--px-r-pill);
}

/* ---- favoritos ---- */
.pixora-favorito{
  position:absolute; top:11px; right:11px; z-index:3;
  width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.92); border:1px solid var(--px-linea);
  display:grid; place-items:center; color:var(--px-tinta-3);
  cursor:pointer; padding:0; transition:color .16s ease, background-color .16s ease;
}
.pixora-favorito:hover{ color:var(--px-coral-txt); border-color:var(--px-coral); }
.pixora-favorito[aria-pressed="true"]{ background:var(--px-coral); border-color:var(--px-coral); color:#fff; }
.pixora-favorito svg{ width:17px; height:17px; }
.pixora-favorito .pixora-corazon-lleno{ display:none; }
.pixora-favorito[aria-pressed="true"] .pixora-corazon-lleno{ display:block; }
.pixora-favorito[aria-pressed="true"] .pixora-corazon-linea{ display:none; }

.pixora-favoritos-vacio{
  text-align:center; padding:48px 20px;
  background:var(--px-base); border:1px solid var(--px-linea); border-radius:var(--px-r-l);
}
.pixora-favoritos-vacio img{ width:120px; margin:0 auto 16px; }
.pixora-aviso-sesion{
  font-size:.84rem; color:var(--px-tinta-3); margin-top:10px;
}

/* ---- ficha de producto ---- */
.woocommerce div.product{ margin-top:24px; }
.woocommerce div.product .product_title{
  font-family:var(--px-display); font-weight:600;
  font-size:clamp(1.6rem, 3.4vw, 2.4rem); letter-spacing:-.025em; margin:.2em 0;
}
.pixora-sku-marca{
  font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--px-tinta-3); display:block;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--px-display); font-size:1.9rem; font-weight:600;
  letter-spacing:-.025em; color:var(--px-tinta); margin:.4em 0;
}
.woocommerce div.product p.price del{ font-size:.55em; color:var(--px-tinta-3); font-weight:400; }
.woocommerce div.product p.price ins{ text-decoration:none; }
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--px-tinta-2); max-width:52ch;
}
.woocommerce div.product form.cart{ margin-top:1.4rem; }
.woocommerce div.product form.cart .button{
  background:var(--px-morado); color:#fff;
  font-family:var(--px-display); font-weight:600; font-size:.98rem;
  padding:16px 30px; border-radius:var(--px-r-pill); border:0;
  box-shadow:0 8px 26px rgba(106,77,255,.35);
}
.woocommerce div.product form.cart .button:hover{ background:var(--px-morado-txt); color:#fff; }
.woocommerce .quantity .qty{
  border:1.5px solid var(--px-linea-2); border-radius:var(--px-r-pill);
  padding:13px 10px; text-align:center; background:var(--px-base); color:var(--px-tinta);
  font-weight:700; font-variant-numeric:tabular-nums;
}
.woocommerce div.product .stock{ color:var(--px-turquesa-txt); font-weight:700; }
.woocommerce div.product .out-of-stock{ color:var(--px-coral-txt); }

.pixora-plazo{
  display:flex; align-items:center; gap:9px; margin-top:.6rem;
  font-size:.92rem; color:var(--px-tinta-2);
}
.pixora-plazo svg{ flex:none; color:var(--px-tinta-3); }

.pixora-cta-cotizar{
  display:block; width:100%; margin-top:11px; padding:14px 20px;
  border-radius:var(--px-r-pill); background:transparent;
  border:1.5px solid var(--px-morado); color:var(--px-morado-txt);
  font-family:var(--px-display); font-weight:600; font-size:.94rem;
  text-align:center; text-decoration:none;
}
.pixora-cta-cotizar:hover{ background:#F1EDFF; color:var(--px-morado-txt); }

/* ---- tabla de precio por volumen ---- */
.pixora-volumen{
  margin-top:1.4rem; border:1px solid var(--px-linea);
  border-radius:var(--px-r-m); overflow:hidden; background:var(--px-base);
}
.pixora-volumen__titulo{
  background:var(--px-superficie); padding:10px 16px;
  font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:var(--px-tinta-3);
}
.pixora-volumen table{ width:100%; border-collapse:collapse; font-size:.9rem; margin:0; }
.pixora-volumen td{
  padding:9px 16px; border-top:1px solid var(--px-linea);
  font-variant-numeric:tabular-nums; color:var(--px-tinta-2);
}
.pixora-volumen td:last-child{ text-align:right; font-weight:700; color:var(--px-tinta); }
.pixora-volumen tr.is-activo td{ background:#F1EDFF; color:var(--px-morado-txt); }

/* ---- garantías de la ficha ---- */
.pixora-garantias{ display:grid; gap:10px; margin-top:1.3rem; }
.pixora-garantias > div{
  display:flex; gap:11px; align-items:flex-start;
  font-size:.9rem; color:var(--px-tinta-2);
}
.pixora-garantias svg{ flex:none; margin-top:2px; }
.pixora-garantias strong{ color:var(--px-tinta); }

/* ---- acordeón de ficha técnica ---- */
.pixora-acordeon{ margin-top:clamp(28px,4vw,48px); border-top:1px solid var(--px-linea); }
.pixora-acordeon details{ border-bottom:1px solid var(--px-linea); }
.pixora-acordeon summary{
  list-style:none; cursor:pointer; padding:17px 4px;
  font-family:var(--px-display); font-weight:600; font-size:1.02rem; color:var(--px-tinta);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.pixora-acordeon summary::-webkit-details-marker{ display:none; }
.pixora-acordeon summary::after{ content:"+"; font-size:1.35rem; color:var(--px-tinta-3); font-weight:400; }
.pixora-acordeon details[open] summary::after{ content:"–"; }
.pixora-acordeon__cuerpo{ padding:0 4px 22px; }
.pixora-acordeon__cuerpo p{ color:var(--px-tinta-2); max-width:70ch; }

.pixora-especificaciones{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(268px, 1fr));
  gap:0 34px; margin:0;
}
.pixora-especificaciones > div{
  display:flex; justify-content:space-between; gap:14px;
  padding:9px 0; border-bottom:1px dashed var(--px-linea); font-size:.9rem;
}
.pixora-especificaciones dt{ color:var(--px-tinta-3); margin:0; }
.pixora-especificaciones dd{ margin:0; font-weight:700; text-align:right; color:var(--px-tinta); }

.pixora-nota-proceso{
  margin-top:14px; padding:14px 18px;
  border-left:3px solid var(--px-amarillo); background:rgba(255,201,40,.16);
  border-radius:0 var(--px-r-s) var(--px-r-s) 0;
  font-size:.9rem; color:var(--px-tinta-2);
}

/* ---- visor 3D bajo demanda ---- */
.pixora-visor3d{ margin-top:12px; }
.pixora-visor3d__boton{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--px-base); border:1px solid var(--px-linea-2);
  border-radius:var(--px-r-pill); padding:9px 16px;
  font-size:.84rem; font-weight:700; color:var(--px-tinta); cursor:pointer;
}
.pixora-visor3d__lienzo{ margin-top:12px; border-radius:var(--px-r-l); overflow:hidden; }

/* ---- carrito y checkout ---- */
.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce-checkout-review-order-table{
  border:1px solid var(--px-linea); border-radius:var(--px-r-l);
  overflow:hidden; background:var(--px-base); border-collapse:separate; border-spacing:0;
}
.wc-block-components-button,
.wc-block-cart__submit-button{
  border-radius:var(--px-r-pill) !important;
  font-family:var(--px-display) !important; font-weight:600 !important;
}
.wc-block-components-totals-item__label{ color:var(--px-tinta-2); }

.pixora-aviso-flete{
  margin-top:12px; padding:14px 18px;
  border-left:3px solid var(--px-turquesa); background:rgba(0,198,217,.12);
  border-radius:0 var(--px-r-s) var(--px-r-s) 0;
  font-size:.9rem; color:var(--px-tinta-2);
}
.pixora-aviso-flete strong{ color:var(--px-tinta); }

/* ---- mi cuenta ---- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none; padding:0; margin:0; display:grid; gap:2px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block; padding:10px 14px; border-radius:var(--px-r-s);
  color:var(--px-tinta-2); font-weight:600; text-decoration:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{ background:var(--px-superficie); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:#EEE9FF; color:var(--px-morado-txt);
}

/* --------------------------------------------------------------- pie --- */
.pixora-footer{ background:var(--px-oscuro); color:var(--px-sobre-oscuro-2); }
.pixora-footer :where(h1,h2,h3,h4){ color:#fff; font-size:.88rem; letter-spacing:.08em; text-transform:uppercase; }
.pixora-footer a{ color:var(--px-sobre-oscuro-2); font-weight:500; text-decoration:none; }
.pixora-footer a:hover{ color:#fff; text-decoration:underline; }
.pixora-footer p{ color:var(--px-sobre-oscuro-2); }
.pixora-footer img{ height:40px; width:auto; }
.pixora-redes{ display:flex; gap:9px; }
.pixora-redes a{
  width:36px; height:36px; border-radius:11px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.13);
  display:grid; place-items:center; color:#fff;
}
.pixora-footer__legal{
  border-top:1px solid rgba(255,255,255,.1);
  font-size:.8rem; padding-top:16px;
}

/* -------------------------------------------------------- whatsapp --- */
.pixora-whatsapp{
  position:fixed; right:18px; bottom:18px; z-index:90;
  display:inline-flex; align-items:center; gap:10px;
  background:#25D366; color:#04331A; text-decoration:none;
  border-radius:var(--px-r-pill); padding:12px 20px 12px 15px;
  font-family:var(--px-display); font-weight:700; font-size:.9rem;
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}
.pixora-whatsapp:hover{ transform:translateY(-2px); color:#04331A; }

/* ------------------------------------------------------------- 404 --- */
.pixora-404 .pixora-arte img{ max-width:220px; }

/* --------------------------------------------------------- responsive --- */
@media (max-width:781px){
  .woocommerce ul.products,
  ul.products{ grid-template-columns:repeat(auto-fill, minmax(158px, 1fr)); gap:12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:.9rem; }
  .pixora-whatsapp span{ display:none; }
  .pixora-whatsapp{ padding:14px; border-radius:50%; }
}
