/* ==========================================================================
   PROCABLES Store — hoja de estilo de marca (child de GeneratePress)
   Paleta tomada del sitio oficial: azul #26428f, azul oscuro #000c75,
   rojo #da2a28. Toda la presentación vive aquí.
   ========================================================================== */

:root{
  --brand:#26428f;        /* azul primario */
  --brand-dark:#000c75;   /* azul profundo */
  --brand-700:#1d3470;
  --accent:#da2a28;       /* rojo acento (anillo del logo) */
  --accent-dark:#b5231f;
  --ink:#1f2a37;
  --muted:#6b7684;
  --line:#e6ebf2;
  --line-soft:#eef2f8;
  --bg:#ffffff;
  --bg-soft:#f4f7fc;
  --bg-softer:#eef3f9;
  --ok:#1f9d55;
  --radius:16px;
  --radius-sm:10px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(16,38,76,.06), 0 2px 8px rgba(16,38,76,.05);
  --shadow:0 6px 24px rgba(16,38,76,.10);
  --shadow-lg:0 18px 48px rgba(16,38,76,.16);
  --container:1240px;
  --font:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --display:'Montserrat', var(--font);
}

body,
button,
input,
select,
textarea{
  font-family:var(--font);
  color:var(--ink);
}
body{ background:var(--bg); }

h1,h2,h3,h4,.pct-display{ font-family:var(--display); color:var(--ink); letter-spacing:-.01em; }

a{ color:var(--brand); }
a:hover{ color:var(--brand-dark); }

.pct-container{ max-width:var(--container); margin-inline:auto; padding-inline:16px; }

/* ----------------------------------------------------------------------
   Barra superior de marca (inyectada vía generate_before_header)
   ---------------------------------------------------------------------- */
.pct-topbar{
  background:linear-gradient(90deg,var(--brand-dark),var(--brand));
  color:#eaf0fb;
  font-size:13.5px;
  font-weight:500;
}
.pct-topbar__in{
  max-width:var(--container); margin-inline:auto; padding:8px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.pct-topbar a{ color:#fff; text-decoration:none; }
.pct-topbar__items{ display:flex; gap:22px; flex-wrap:wrap; }
.pct-topbar__items span{ display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.pct-topbar svg{ width:15px; height:15px; opacity:.9; }
@media (max-width:640px){
  .pct-topbar__items span:not(:first-child){ display:none; }
  .pct-topbar__in{ justify-content:center; }
}

/* ----------------------------------------------------------------------
   Header / navegación (GeneratePress)
   ---------------------------------------------------------------------- */
.site-header{ background:var(--bg); box-shadow:var(--shadow-sm); }
.inside-header{ padding-top:14px; padding-bottom:14px; }
/* Logo: conserva proporción cuadrada (evita el estirado horizontal de GP). */
.site-header .site-logo img,
.site-header img.custom-logo,
.header-image{
  height:66px !important; width:auto !important; max-width:none !important; object-fit:contain;
}
.main-navigation{ background:transparent; }
.main-navigation .main-nav ul li a{
  font-family:var(--display); font-weight:600; font-size:15px; color:var(--ink);
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a{
  color:var(--brand);
}
.main-navigation .main-nav ul li.current-menu-item > a{ box-shadow:inset 0 -3px 0 var(--accent); }

/* Botón carrito del menú (si existe) y buscador */
.site-header .search-item a{ color:var(--brand); }

/* ----------------------------------------------------------------------
   Botones (gana especificidad sobre WooCommerce)
   ---------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.pct-btn{
  background:var(--brand); color:#fff; border:0; border-radius:999px;
  font-family:var(--display); font-weight:700; font-size:14.5px; letter-spacing:.2px;
  padding:.72em 1.4em; line-height:1.1; text-transform:none; cursor:pointer;
  transition:transform .12s ease, background .18s ease, box-shadow .18s ease;
  box-shadow:0 6px 16px rgba(38,66,143,.22);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.pct-btn:hover{
  background:var(--brand-dark); color:#fff; transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,12,117,.26);
}
.pct-btn--accent,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.checkout,
.woocommerce .checkout-button.button.alt{
  background:var(--accent); box-shadow:0 6px 16px rgba(218,42,40,.26);
}
.pct-btn--accent:hover,
.woocommerce a.button.checkout:hover,
.woocommerce .checkout-button.button.alt:hover{ background:var(--accent-dark); }
.pct-btn--ghost{
  background:#fff; color:var(--brand); border:2px solid var(--brand); box-shadow:none;
}
.pct-btn--ghost:hover{ background:var(--brand); color:#fff; }
.woocommerce a.added_to_cart{
  display:inline-block; margin-top:6px; font-weight:600; color:var(--brand); text-decoration:underline;
}

/* ----------------------------------------------------------------------
   Placeholder de producto (SVG de marca)
   ---------------------------------------------------------------------- */
.pct-ph-wrap{
  display:block; width:100%; aspect-ratio:1/1; overflow:hidden;
  border-radius:var(--radius-sm); background:var(--bg-softer);
}
.pct-ph-wrap svg, .pct-ph{ display:block; width:100%; height:100%; }

/* ----------------------------------------------------------------------
   Catálogo / archivo de productos
   ---------------------------------------------------------------------- */
.pct-archive-hero{
  position:relative; overflow:hidden; border-radius:var(--radius-lg);
  background:linear-gradient(120deg,var(--brand-dark),var(--brand) 60%,#2f56b4);
  color:#fff; padding:40px 36px; margin:22px 0 28px;
  box-shadow:var(--shadow);
}
.pct-archive-hero:after{
  content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px;
  border:46px solid rgba(255,255,255,.08); border-radius:50%;
}
.pct-archive-hero__eyebrow{ font-family:var(--display); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:12.5px; opacity:.85; }
.pct-archive-hero h1{ color:#fff; font-size:clamp(26px,4vw,40px); margin:.2em 0 .25em; }
.pct-archive-hero p{ max-width:60ch; margin:0; color:#dbe4fb; font-size:15.5px; }
.pct-archive-hero .term-description{ color:#dbe4fb; }
.pct-archive-hero .count{ margin-top:14px; display:inline-block; background:rgba(255,255,255,.14); padding:6px 14px; border-radius:999px; font-weight:600; font-size:13.5px; }

.woocommerce .woocommerce-result-count{ color:var(--muted); font-size:14px; }
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--line); border-radius:999px; padding:9px 16px; font-size:14px; background:#fff; color:var(--ink);
}

/* Grid */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px; margin:0; padding:0; list-style:none;
}
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category{
  width:auto !important; margin:0 !important; padding:0 !important; float:none !important;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); overflow:hidden; display:flex; flex-direction:column;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:#d4ddee;
}
.woocommerce ul.products li.product a.pct-card__media,
.woocommerce ul.products li.product .pct-ph-wrap{ position:relative; }
.woocommerce ul.products li.product .pct-ph-wrap{ border-radius:0; }
.woocommerce ul.products li.product .pct-card__body{
  display:flex; flex-direction:column; gap:8px; padding:16px 16px 18px; flex:1 1 auto;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-family:var(--display); font-weight:600; font-size:15.5px; line-height:1.3;
  color:var(--ink); padding:0; margin:0; min-height:2.6em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.woocommerce ul.products li.product .pct-cat-label{
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brand);
}
.woocommerce ul.products li.product .price{
  color:var(--ink); font-family:var(--display); font-weight:800; font-size:19px; margin-top:auto;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol{ font-weight:600; font-size:14px; color:var(--muted); }
.woocommerce ul.products li.product .price del{ color:var(--muted); font-weight:500; font-size:15px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .pct-price-ask{ color:var(--brand); font-weight:700; font-size:16px; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{ width:100%; text-align:center; margin-top:4px; }
.woocommerce ul.products li.product .pct-stock{
  font-size:12.5px; font-weight:600; display:inline-flex; align-items:center; gap:6px;
}
.pct-stock--in{ color:var(--ok); }
.pct-stock--out{ color:var(--accent); }
.pct-stock .dot{ width:8px; height:8px; border-radius:50%; background:currentColor; display:inline-block; }

/* Insignia de presentación (tamaño por SKU) */
.pct-badge{
  position:absolute; top:10px; left:10px; z-index:2;
  background:#fff; color:var(--brand-dark); font-family:var(--display); font-weight:700;
  font-size:11.5px; letter-spacing:.04em; padding:5px 10px; border-radius:999px;
  box-shadow:var(--shadow-sm);
}

/* Paginación */
.woocommerce nav.woocommerce-pagination ul{ border:0; gap:8px; display:flex; justify-content:center; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--line); border-radius:10px; min-width:42px; height:42px; line-height:42px;
  color:var(--ink); font-weight:600; background:#fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--brand); color:#fff; border-color:var(--brand); }
.woocommerce nav.woocommerce-pagination ul li a:hover{ background:var(--bg-soft); color:var(--brand); }

/* ----------------------------------------------------------------------
   Ficha de producto (single)
   ---------------------------------------------------------------------- */
.single-product div.product{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:44px;
  align-items:start;
}
.single-product div.product .woocommerce-product-gallery{
  width:100% !important; float:none !important; margin:0 !important; opacity:1 !important;
  position:sticky; top:96px;
}
.single-product div.product .woocommerce-product-gallery__wrapper{ margin:0; transform:none !important; }
.single-product .pct-ph-wrap--single{
  border-radius:var(--radius-lg); border:1px solid var(--line); box-shadow:var(--shadow-sm); background:#fff;
}
.single-product div.product .summary.entry-summary{
  width:100% !important; float:none !important; margin:0 !important; padding:0;
}
.single-product div.product .product_title{
  font-size:clamp(24px,3.4vw,34px); line-height:1.15; margin:0 0 .35em;
}
.single-product div.product .woocommerce-product-rating{ margin-bottom:12px; }
.single-product div.product p.price,
.single-product div.product span.price{
  color:var(--brand-dark); font-family:var(--display); font-weight:800; font-size:30px; margin:6px 0 18px;
}
.single-product div.product p.price del{ color:var(--muted); font-size:20px; font-weight:500; }
.single-product .pct-sku-line{
  display:flex; flex-wrap:wrap; gap:10px 18px; margin:0 0 18px; padding:14px 16px;
  background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius-sm); font-size:14px;
}
.single-product .pct-sku-line b{ color:var(--ink); }
.single-product .pct-sku-line span{ color:var(--muted); }
.single-product div.product form.cart{ margin:4px 0 20px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.single-product div.product form.cart .quantity input.qty{
  width:78px; height:50px; border:1px solid var(--line); border-radius:12px; text-align:center; font-weight:600; font-size:16px;
}
.single-product div.product form.cart .single_add_to_cart_button{ height:50px; padding-inline:30px; font-size:16px; }
.single-product div.product .woocommerce-product-details__short-description{
  color:#44505f; font-size:15.5px; line-height:1.7; margin-top:6px;
}
.single-product .product_meta{ font-size:13.5px; color:var(--muted); border-top:1px solid var(--line); padding-top:14px; margin-top:16px; }
.single-product .product_meta a{ color:var(--brand); }

/* Tira de confianza bajo el precio */
.pct-assurance{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }
.pct-assurance li{ list-style:none; display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:#44505f; }
.pct-assurance svg{ width:22px; height:22px; color:var(--brand); flex:0 0 auto; }
.pct-assurance b{ display:block; color:var(--ink); font-size:14px; }

/* Pestañas */
.woocommerce-tabs{ grid-column:1 / -1; margin-top:40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; display:flex; gap:6px; flex-wrap:wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs:before{ border-color:var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:0; padding:0; margin:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--display); font-weight:700; color:var(--muted); padding:12px 18px; display:block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:var(--brand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ box-shadow:inset 0 -3px 0 var(--brand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after{ display:none; }
.woocommerce div.product .woocommerce-Tabs-panel{ padding-top:22px; color:#44505f; line-height:1.75; font-size:15.5px; }
.woocommerce div.product .woocommerce-Tabs-panel h2{ font-size:22px; margin-bottom:.5em; }

/* Bloques de descripción enriquecida */
.pct-desc-intro{ font-size:16px; color:var(--ink); }
.pct-desc-spec{ background:var(--bg-soft); border:1px solid var(--line); border-left:4px solid var(--brand); border-radius:10px; padding:12px 16px; font-size:14.5px; }
.pct-desc-spec strong{ color:var(--ink); }
ul.pct-desc-benefits{ list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
ul.pct-desc-benefits li{ position:relative; padding-left:28px; font-size:14.5px; color:#44505f; }
ul.pct-desc-benefits li:before{
  content:""; position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%;
  background:var(--ok); mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;
}
.woocommerce-product-details__short-description ul.pct-desc-benefits{ display:none; } /* en el resumen breve solo intro */
.woocommerce-product-details__short-description .pct-desc-spec{ display:none; }
@media (max-width:520px){ ul.pct-desc-benefits{ grid-template-columns:1fr; } }

/* Relacionados / upsells: fila completa */
.single-product .related.products,
.single-product .upsells.products{ grid-column:1 / -1; margin-top:48px; }
.single-product .related.products > h2,
.single-product .upsells.products > h2{
  font-size:24px; margin-bottom:20px; position:relative; padding-left:16px;
}
.single-product .related.products > h2:before,
.single-product .upsells.products > h2:before{
  content:""; position:absolute; left:0; top:4px; bottom:4px; width:5px; border-radius:3px; background:var(--accent);
}

/* ----------------------------------------------------------------------
   Carrito y checkout clásicos
   ---------------------------------------------------------------------- */
.woocommerce table.shop_table{
  border:1px solid var(--line); border-radius:var(--radius); border-collapse:separate; overflow:hidden;
  background:#fff; box-shadow:var(--shadow-sm);
}
.woocommerce table.shop_table thead th{
  background:var(--bg-soft); font-family:var(--display); font-weight:700; color:var(--ink);
  border:0; padding:16px; font-size:13.5px; text-transform:uppercase; letter-spacing:.04em;
}
.woocommerce table.shop_table td{ border-top:1px solid var(--line-soft); padding:16px; vertical-align:middle; }
.woocommerce table.shop_table .product-thumbnail .pct-ph-wrap,
.woocommerce table.shop_table img{ width:72px; height:72px; border-radius:10px; }
.woocommerce .cart .product-name a{ font-weight:600; color:var(--ink); }
.woocommerce .cart .product-name a:hover{ color:var(--brand); }
.woocommerce a.remove{ color:var(--accent) !important; border:1px solid var(--line); border-radius:50%; }
.woocommerce a.remove:hover{ background:var(--accent) !important; color:#fff !important; }
.woocommerce .cart_totals,
.woocommerce .cart-collaterals .cart_totals{ float:none; width:100%; }
.woocommerce .cart_totals h2{ font-size:22px; margin-bottom:14px; }
.woocommerce-cart .cart-collaterals .cart_totals table{ border-radius:var(--radius); overflow:hidden; }
.woocommerce .cart-collaterals{ display:grid; grid-template-columns:1fr; gap:22px; }
.woocommerce #coupon_code{ height:48px; border:1px solid var(--line); border-radius:12px; padding-inline:14px; }

/* Checkout */
.woocommerce-checkout #customer_details{ gap:30px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  border:1px solid var(--line) !important; border-radius:12px !important; min-height:48px;
  padding:12px 14px; font-size:15px; background:#fff; color:var(--ink);
}
.woocommerce form .form-row label{ font-weight:600; color:var(--ink); font-size:14px; }
.woocommerce #payment, .woocommerce-checkout #payment{ background:var(--bg-soft); border-radius:var(--radius); }
.woocommerce #payment ul.payment_methods{ border-color:var(--line); }
.woocommerce #payment div.payment_box{ background:#fff; border-radius:12px; }
.woocommerce #payment div.payment_box:before{ border-bottom-color:#fff; }
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table{ box-shadow:none; }
h3#order_review_heading{ font-family:var(--display); font-size:22px; margin-bottom:14px; }

/* Mensajes */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews{
  border-top:0; border-radius:12px; background:var(--bg-soft); box-shadow:var(--shadow-sm);
  padding:16px 18px 16px 44px; color:var(--ink);
}
.woocommerce-message:before{ color:var(--ok); left:16px; }
.woocommerce-info:before{ color:var(--brand); left:16px; }
.woocommerce-error:before{ left:16px; }
.woocommerce-message .button, .woocommerce-info .button{ box-shadow:none; }

/* ----------------------------------------------------------------------
   Home (front-page.php)
   ---------------------------------------------------------------------- */
.pct-home section{ margin:0; }
.pct-hero{
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(1200px 600px at 80% -20%, #2f56b4 0%, transparent 60%),
             linear-gradient(120deg,var(--brand-dark) 0%, var(--brand) 55%, #1b56c4 100%);
}
.pct-hero__in{
  max-width:var(--container); margin-inline:auto; padding:72px 16px 80px;
  display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center;
}
.pct-hero__eyebrow{
  display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12);
  padding:7px 14px; border-radius:999px; font-weight:600; font-size:13px; letter-spacing:.02em;
}
.pct-hero h1{
  color:#fff; font-size:clamp(30px,5vw,52px); line-height:1.06; margin:18px 0 16px; letter-spacing:-.02em;
}
.pct-hero h1 .hl{ color:#ffd4d3; }
.pct-hero p.lead{ color:#d7e1fb; font-size:18px; line-height:1.6; max-width:52ch; margin:0 0 26px; }
.pct-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; }
.pct-hero__search{ margin-top:22px; max-width:520px; }
.pct-hero__search form{ display:flex; background:#fff; border-radius:999px; padding:6px; box-shadow:var(--shadow-lg); }
.pct-hero__search input[type=search], .pct-hero__search input[type=text]{
  flex:1; border:0; outline:0; padding:12px 18px; font-size:15px; border-radius:999px; color:var(--ink); background:transparent;
}
.pct-hero__search button{ border:0; background:var(--accent); color:#fff; border-radius:999px; padding:0 22px; font-weight:700; font-family:var(--display); cursor:pointer; }
.pct-hero__search button:hover{ background:var(--accent-dark); }
.pct-hero__art{ position:relative; display:flex; justify-content:center; }
.pct-hero__badge{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(4px);
  border-radius:var(--radius-lg); padding:26px; display:grid; grid-template-columns:1fr 1fr; gap:18px; width:100%;
}
.pct-hero__stat b{ display:block; font-family:var(--display); font-weight:800; font-size:30px; color:#fff; }
.pct-hero__stat span{ color:#cdd9f6; font-size:13.5px; }
.pct-hero:after{
  content:""; position:absolute; left:50%; bottom:-1px; width:120%; height:60px; transform:translateX(-50%);
  background:var(--bg); border-radius:50% 50% 0 0;
}
@media (max-width:900px){
  .pct-hero__in{ grid-template-columns:1fr; padding:56px 16px 64px; }
  .pct-hero__art{ order:-1; }
  .pct-hero__badge{ max-width:460px; }
}

/* Franja de confianza */
.pct-trust{ background:var(--bg); }
.pct-trust__in{
  max-width:var(--container); margin-inline:auto; padding:34px 16px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.pct-trust .item{ display:flex; gap:12px; align-items:center; }
.pct-trust svg{ width:34px; height:34px; color:var(--brand); flex:0 0 auto; }
.pct-trust b{ display:block; font-family:var(--display); font-size:15px; color:var(--ink); }
.pct-trust span{ font-size:13px; color:var(--muted); }
@media (max-width:900px){ .pct-trust__in{ grid-template-columns:1fr 1fr; } }

/* Secciones genéricas */
.pct-section{ padding:56px 0; }
.pct-section--soft{ background:var(--bg-soft); }
.pct-section__head{ text-align:center; max-width:720px; margin:0 auto 34px; }
.pct-section__eyebrow{ font-family:var(--display); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-size:12.5px; }
.pct-section h2{ font-size:clamp(24px,3.4vw,36px); margin:.25em 0 .3em; }
.pct-section__head p{ color:var(--muted); font-size:16px; margin:0; }

/* Vitrina de categorías */
.pct-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.pct-cat-card{
  display:flex; flex-direction:column; gap:12px; padding:24px; border-radius:var(--radius);
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease; color:var(--ink);
}
.pct-cat-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); color:var(--ink); }
.pct-cat-card .ico{
  width:56px; height:56px; border-radius:14px; display:grid; place-items:center;
  background:var(--bg-softer); color:var(--brand);
}
.pct-cat-card .ico svg{ width:30px; height:30px; }
.pct-cat-card b{ font-family:var(--display); font-size:17px; }
.pct-cat-card span{ color:var(--muted); font-size:13.5px; }
.pct-cat-card .go{ margin-top:auto; color:var(--brand); font-weight:700; font-size:13.5px; }
@media (max-width:900px){ .pct-cats{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .pct-cats{ grid-template-columns:1fr; } }

/* Bloque "solución sin fotos" (gancho de venta del demo) */
.pct-pitch{
  display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
  background:linear-gradient(120deg,var(--brand-dark),var(--brand)); color:#fff;
  border-radius:var(--radius-lg); padding:44px; box-shadow:var(--shadow);
}
.pct-pitch h2{ color:#fff; }
.pct-pitch p{ color:#d7e1fb; font-size:16px; line-height:1.7; }
.pct-pitch__demo{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pct-pitch__demo .pct-ph-wrap{ border-radius:14px; box-shadow:var(--shadow); }
@media (max-width:900px){ .pct-pitch{ grid-template-columns:1fr; padding:30px; } }

/* CTA final */
.pct-cta{ text-align:center; padding:60px 16px; }
.pct-cta h2{ font-size:clamp(24px,3.6vw,38px); }
.pct-cta p{ color:var(--muted); font-size:17px; max-width:620px; margin:.4em auto 24px; }

/* ----------------------------------------------------------------------
   Footer
   ---------------------------------------------------------------------- */
.site-footer, .site-info{ background:var(--brand-dark); color:#cdd9f6; }
.site-info{ padding:22px 16px; text-align:center; font-size:13.5px; }
.site-info a{ color:#fff; }

/* ----------------------------------------------------------------------
   WooCommerce galería: revelar siempre (gotcha JS opacity:0)
   ---------------------------------------------------------------------- */
.woocommerce-product-gallery{ opacity:1 !important; }

/* ----------------------------------------------------------------------
   Aviso de tienda demo: convertir el amarillo chillón en barra de marca.
   ---------------------------------------------------------------------- */
.woocommerce-store-notice,
p.demo_store,
.woocommerce-store-notice.demo_store{
  background:var(--brand-dark) !important; color:#dbe4fb !important;
  font-size:13px !important; font-weight:500; text-align:center; padding:9px 44px 9px 16px !important;
  box-shadow:none !important; border:0 !important; letter-spacing:.01em;
}
.woocommerce-store-notice a, p.demo_store a{ color:#fff !important; text-decoration:underline; }
.woocommerce-store-notice__dismiss,
.woocommerce-store-notice a.woocommerce-store-notice__dismiss-link{ color:#fff !important; }

/* ----------------------------------------------------------------------
   Responsive catálogo
   ---------------------------------------------------------------------- */
@media (max-width:1024px){
  .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:repeat(2,1fr); }
  .single-product div.product{ grid-template-columns:1fr; gap:26px; }
  .single-product div.product .woocommerce-product-gallery{ position:static; max-width:460px; }
}
@media (max-width:520px){
  .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:1fr 1fr; gap:14px; }
  .woocommerce ul.products li.product .pct-card__body{ padding:12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:14px; }
  .pct-assurance{ grid-template-columns:1fr; }
}
