/*
Theme Name: Oryndia
Theme URI: https://oryndia.com
Description: Tema hijo de Storefront para Oryndia (Whispering Pines S.L.). Estetica editorial cobalto: bordes 1.5px tinta, sin border-radius, sombra dura cobalto en hover, tipografias Bricolage Grotesque / Inter / JetBrains Mono.
Author: Whispering Pines S.L.
Author URI: https://whispines.es
Template: storefront
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oryndia
Tags: e-commerce, fashion, editorial
*/

/* =====================================================================
   ORYNDIA — TOKENS DE MARCA
   ===================================================================== */
:root{
  --ory-ink:#0e0e0c;
  --ory-ink-2:#1a1a17;
  --ory-ink-3:#2a2a26;
  --ory-paper:#f4f3ee;
  --ory-paper-2:#eae8df;
  --ory-paper-3:#dad6c8;
  --ory-white:#fbfaf6;
  --ory-cobalt:#1a3aff;
  --ory-cobalt-d:#0a25cc;
  --ory-cobalt-l:#5a78ff;
  --ory-mint:#b8ecd0;
  --ory-mint-d:#0d6b45;
  --ory-pink:#ff5fa3;
  --ory-line:rgba(14,14,12,.1);
  --ory-line-l:rgba(14,14,12,.06);
  --ory-display:'Bricolage Grotesque', sans-serif;
  --ory-body:'Inter', sans-serif;
  --ory-mono:'JetBrains Mono', monospace;
}

/* =====================================================================
   ANCHO DE CONTENEDOR — look tienda (menos margen lateral muerto).
   El contenedor por defecto (~1064px) dejaba ~146px de aire a cada lado
   en pantallas anchas; el logo y el contenido se pegan ahora al borde con
   un canalón limpio de 40px. Logo y rejilla siguen alineados.
   ===================================================================== */
.col-full{ max-width:1460px !important; }
@media(min-width:768px){
  .col-full{ padding-left:40px !important; padding-right:40px !important; }
}

/* =====================================================================
   GLOBAL
   ===================================================================== */
body,
body.woocommerce,
body.woocommerce-page{
  background:var(--ory-paper);
  color:var(--ory-ink);
  font-family:var(--ory-body);
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

::selection{background:var(--ory-cobalt);color:var(--ory-white);}
::-moz-selection{background:var(--ory-cobalt);color:var(--ory-white);}

h1,h2,h3,h4,
.site-title,
.entry-title,
.product_title,
.woocommerce-products-header__title,
.page-title,
.cart_totals h2,
.cross-sells > h2,
.related > h2,
.upsells > h2{
  font-family:var(--ory-display);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.02;
  color:var(--ory-ink);
}

a{
  color:var(--ory-cobalt);
  text-decoration:none;
  transition:color .15s ease;
}
a:hover,
a:focus{color:var(--ory-cobalt-d);}

p,li,dd,dt,td,th,label,input,select,textarea{font-family:var(--ory-body);}

/* utility classes mirrored from brandbook */
.ory-display{font-family:var(--ory-display);font-weight:700;letter-spacing:-.025em;}
.ory-mono{font-family:var(--ory-mono);letter-spacing:.02em;}

/* =====================================================================
   HEADER / NAV
   ===================================================================== */
.site-header,
.storefront-primary-navigation{
  background:var(--ory-paper);
  border-bottom:2px solid var(--ory-ink);
}
.site-header{padding-top:18px;padding-bottom:18px;}

.site-branding .site-title,
.site-branding .site-title a,
.site-title a{
  font-family:var(--ory-display);
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--ory-ink);
  text-transform:lowercase;
}
/* ::first-letter requiere bloque o inline-block; <a> es inline por defecto. */
.site-title a{ display:inline-block; }
.ory-foot__logo{ display:inline-block; }

/* =====================================================================
   ÁREA DE CLIENTE (Mi Cuenta) — login / registro / dashboard / pedidos
   ===================================================================== */
/* Layout 2 columnas: nav izquierda, contenido derecha (flexbox robusto) */
.woocommerce-account .woocommerce{ display:flex; gap:36px; align-items:flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation{
  flex:0 0 240px; width:240px; margin:0; padding:0;
}
.woocommerce-account .woocommerce-MyAccount-content{ flex:1 1 auto; min-width:0; margin:0 !important; }
@media(max-width:760px){
  .woocommerce-account .woocommerce{ flex-direction:column; }
  .woocommerce-account .woocommerce-MyAccount-navigation{ flex:0 0 auto; width:100%; }
}
/* Sidebar como tarjeta (.ory-mn) con perfil de usuario + iconos + badges */
.ory-mn{
  background: var(--ory-paper);
  border: 1.5px solid var(--ory-ink);
  padding: 0;
  overflow: hidden;
}
.ory-mn__user{
  display: flex; align-items: center; gap: 12px;
  padding: 18px;
  border-bottom: 1.5px solid var(--ory-ink);
}
.ory-mn__avatar{
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--ory-cobalt); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ory-display); font-weight: 800; font-size: 16px;
  flex: 0 0 auto; letter-spacing: -.02em;
}
.ory-mn__info{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ory-mn__name{ font-family: var(--ory-display); font-weight: 700; font-size: 15px; line-height: 1.1; color: var(--ory-ink); }
.ory-mn__meta{ font-family: var(--ory-mono); font-size: 10px; opacity: .55; text-transform: uppercase; letter-spacing: .05em; }

.ory-mn ul{ list-style: none; margin: 0; padding: 0; }
.ory-mn ul li{ margin: 0; padding: 0; border-bottom: 1px solid var(--ory-line); }
.ory-mn ul li:last-child{ border-bottom: none; }
.ory-mn ul li a{
  display: flex !important; align-items: center; gap: 12px;
  padding: 13px 18px !important;
  font-family: var(--ory-mono); font-size: 11px;
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--ory-ink); text-decoration: none;
  opacity: .82; transition: all .15s ease;
  background: transparent;
}
/* Eliminar los dashicons que Storefront mete por defecto via ::before */
.ory-mn ul li a::before,
.ory-mn ul li a::after{ content: none !important; display: none !important; }
.ory-mn ul li a:hover{ opacity: 1; color: var(--ory-cobalt); padding-left: 22px !important; }
.ory-mn ul li.is-active{ border-left: 3px solid var(--ory-cobalt); background: rgba(26,58,255,.04); }
.ory-mn ul li.is-active a{ color: var(--ory-cobalt); opacity: 1; font-weight: 700; padding-left: 15px !important; }
.ory-mn__ic{ flex: 0 0 18px; display: inline-flex; align-items: center; justify-content: center; color: currentColor; opacity: .65; }
.ory-mn ul li.is-active .ory-mn__ic{ opacity: 1; }
.ory-mn__lbl{ flex: 1 1 auto; }
.ory-mn__badge{
  background: var(--ory-cobalt); color: #fff;
  font-size: 10px; font-weight: 700;
  padding: 2px 7px; border-radius: 999px;
  font-family: var(--ory-mono); line-height: 1.4;
}
.ory-mn__help{
  padding: 16px 18px;
  background: var(--ory-ink);
  color: var(--ory-paper);
  border-top: 1.5px solid var(--ory-ink);
}
.ory-mn__help-k{
  display: block; opacity: .55; font-family: var(--ory-mono);
  font-size: 9px; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 4px;
}
.ory-mn__help a{
  color: var(--ory-cobalt-l) !important; text-decoration: none;
  font-family: var(--ory-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .05em;
}
.ory-mn__help a:hover{ color: #fff !important; }

/* === Listado de pedidos como cards (override del template) === */
.ory-orders{ display: flex; flex-direction: column; gap: 18px; }
.ory-orders__card{
  background: #fff;
  border: 1.5px solid var(--ory-ink);
  padding: 22px 24px;
  display: flex; flex-direction: column; gap: 14px;
}
.ory-orders__head{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.ory-orders__id strong{ font-family: var(--ory-display); font-size: 17px; }
.ory-orders__meta{ display: flex; gap: 16px; align-items: center; font-size: 13.5px; opacity: .8; flex-wrap: wrap; }
.ory-orders__meta strong{ color: var(--ory-ink); opacity: 1; }
.ory-orders__tracking{
  padding: 12px 16px;
  background: var(--ory-paper);
  border-left: 3px solid var(--ory-cobalt);
  font-size: 13.5px;
}
.ory-orders__tracking .ory-mc__kicker{ margin-bottom: 4px; }
.ory-orders__tracking a{ color: var(--ory-cobalt); text-decoration: none; font-weight: 600; }
.ory-orders__tracking a:hover{ color: var(--ory-ink); }
.ory-orders__actions{ display: flex; gap: 10px; flex-wrap: wrap; }
.ory-orders__empty{
  background: var(--ory-paper);
  border: 1.5px solid var(--ory-ink);
  padding: 30px 32px;
}
.ory-orders__empty p{ font-size: 15px; line-height: 1.6; margin: 0 0 18px; opacity: .85; max-width: 640px; }
/* Título "Mi cuenta" más pequeño y alineado (no compite con la nav) */
.woocommerce-account .entry-header .entry-title{ font-size:clamp(26px,3vw,32px); text-align:left; margin:0 0 22px; }

/* Dashboard intro */
.woocommerce-MyAccount-content > p:first-of-type{ font-size:17px; margin:0 0 14px; }
.woocommerce-MyAccount-content > p{ font-size:15px; line-height:1.65; }
.woocommerce-MyAccount-content a{ color:var(--ory-cobalt); }

/* === MI CUENTA v2 — Dashboard editorial Oryndia =================== */
.ory-mc{ display:flex; flex-direction:column; gap:28px; }
.ory-mc__kicker{ font-family:var(--ory-mono); font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--ory-cobalt); display:block; margin-bottom:4px; }
.ory-mc__h{ font-family:var(--ory-display); font-weight:700; font-size:clamp(20px,2vw,24px); letter-spacing:-.01em; margin:0 0 16px; line-height:1.1; }

/* Hero card */
.ory-mc__hero{
  display:flex; align-items:center; gap:24px;
  background:var(--ory-paper); border:1.5px solid var(--ory-ink);
  padding:26px 30px; flex-wrap:wrap;
}
.ory-mc__avatar{
  width:72px; height:72px; border-radius:50%;
  background:var(--ory-cobalt); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ory-display); font-weight:800; font-size:28px;
  flex:0 0 auto; letter-spacing:-.02em;
}
.ory-mc__welcome{ flex:1 1 auto; min-width:200px; }
.ory-mc__name{ font-family:var(--ory-display); font-weight:800; font-size:clamp(24px,2.4vw,30px); line-height:1; margin:0 0 6px; letter-spacing:-.02em; }
.ory-mc__since{ font-size:13px; opacity:.65; margin:0; }
.ory-mc__hero-actions{ display:flex; gap:10px; flex-wrap:wrap; flex:0 0 auto; }
.ory-mc__btn{
  background:var(--ory-ink); color:#fff !important;
  font-family:var(--ory-body); font-weight:700; font-size:13px;
  padding:11px 20px; text-decoration:none !important;
  border:1.5px solid var(--ory-ink); border-radius:0;
  display:inline-block; transition:all .12s ease;
}
.ory-mc__btn:hover{ background:var(--ory-cobalt); border-color:var(--ory-cobalt); transform:translateY(-1px); }
.ory-mc__btn--ghost{ background:transparent; color:var(--ory-ink) !important; }
.ory-mc__btn--ghost:hover{ background:var(--ory-ink); color:#fff !important; }
.ory-mc__btn--cobalt{ background:var(--ory-cobalt); border-color:var(--ory-cobalt); }

/* Stats grid */
.ory-mc__stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ory-mc__stat{
  background:#fff; border:1.5px solid var(--ory-ink);
  padding:22px 18px; display:flex; flex-direction:column; gap:8px;
  text-decoration:none !important; color:var(--ory-ink);
  transition:transform .15s ease, border-color .15s ease;
}
a.ory-mc__stat:hover{ transform:translateY(-3px); border-color:var(--ory-cobalt); }
.ory-mc__stat-n{
  font-family:var(--ory-display); font-weight:800;
  font-size:clamp(22px,3vw,30px); line-height:1; letter-spacing:-.02em;
  color:var(--ory-ink);
}
.ory-mc__stat-n .woocommerce-Price-amount{ color:var(--ory-ink); font-size:inherit; }
.ory-mc__stat-l{
  font-family:var(--ory-mono); font-size:10px;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--ory-cobalt);
}
@media(max-width:760px){ .ory-mc__stats{ grid-template-columns:repeat(2,1fr); } }

/* Panel (empty state / último pedido) */
.ory-mc__panel{
  background:var(--ory-paper); border:1.5px solid var(--ory-ink);
  padding:28px 32px;
}
.ory-mc__panel--empty p{ font-size:15px; line-height:1.6; margin:0 0 18px; opacity:.85; max-width:640px; }

.ory-mc__order{ display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; }
.ory-mc__order-id strong{ font-family:var(--ory-display); font-size:18px; font-weight:700; }
.ory-mc__order-status{
  display:inline-block; margin-left:10px;
  font-family:var(--ory-mono); font-size:10px; text-transform:uppercase;
  letter-spacing:.06em; padding:3px 8px; background:var(--ory-cobalt); color:#fff;
}
.ory-mc__order-status--completed{ background:var(--ory-mint-d); }
.ory-mc__order-status--processing{ background:var(--ory-cobalt); }
.ory-mc__order-status--on-hold{ background:#c69b45; }
.ory-mc__order-status--cancelled,.ory-mc__order-status--refunded,.ory-mc__order-status--failed{ background:#888; }
.ory-mc__order-meta{ display:flex; gap:18px; align-items:center; font-size:13.5px; opacity:.8; }
.ory-mc__order-meta strong{ color:var(--ory-ink); opacity:1; }
@media(max-width:680px){ .ory-mc__order{ grid-template-columns:1fr; gap:10px; } }

/* Recomendaciones — reusa la rejilla de productos */
.ory-mc__recs ul.products{ margin:0 !important; }

/* Bloque de ayuda */
.ory-mc__help{
  background:var(--ory-ink); color:var(--ory-paper);
  padding:28px 32px;
}
.ory-mc__help .ory-mc__h{ color:#fff; }
.ory-mc__help-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
}
.ory-mc__help-grid a{
  color:var(--ory-paper) !important; opacity:.88; text-decoration:none !important;
  padding:14px 16px; border:1px solid rgba(255,255,255,.18);
  font-family:var(--ory-mono); font-size:11px;
  text-transform:uppercase; letter-spacing:.06em;
  transition:all .12s ease;
}
.ory-mc__help-grid a:hover{ opacity:1; border-color:var(--ory-cobalt-l); color:var(--ory-cobalt-l) !important; }
@media(max-width:680px){ .ory-mc__help-grid{ grid-template-columns:repeat(2,1fr); } }

/* Formularios (login/register/edit-account/edit-address/checkout coupon) */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce-EditAccountForm,
.woocommerce form.woocommerce-address-fields,
.woocommerce form.checkout_coupon{
  border:1.5px solid var(--ory-ink); padding:28px 28px 22px; background:var(--ory-paper); border-radius:0;
}
.woocommerce form .form-row{ margin-bottom:16px; }
.woocommerce form .form-row label{
  font-family:var(--ory-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ory-cobalt); margin-bottom:6px; display:block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1.5px solid var(--ory-ink); border-radius:0;
  padding:12px 14px; font-family:var(--ory-body); font-size:14px; background:#fff; color:var(--ory-ink); width:100%;
}
/* Toggle "mostrar contraseña": icono pequeño dentro del campo, no es un input */
.woocommerce form .password-input{ position:relative; display:block; }
.woocommerce form .show-password-input{
  position:absolute; top:50%; right:14px; transform:translateY(-50%);
  background:transparent; border:0; padding:0; color:var(--ory-ink);
  opacity:.55; cursor:pointer; width:auto; font-size:14px;
}
.woocommerce form .show-password-input:hover{ opacity:.9; color:var(--ory-cobalt); }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{ outline:none; border-color:var(--ory-cobalt); }
.woocommerce form .button[type=submit],
.woocommerce form button[type=submit],
.woocommerce .woocommerce-Button[type=submit],
.woocommerce-MyAccount-content .button{
  background:var(--ory-ink); color:#fff; padding:13px 28px;
  border:1.5px solid var(--ory-ink); border-radius:0;
  font-family:var(--ory-body); font-weight:700; font-size:14px;
  transition:transform .12s ease, background .12s ease;
}
.woocommerce form .button[type=submit]:hover,
.woocommerce form button[type=submit]:hover{ background:var(--ory-cobalt); border-color:var(--ory-cobalt); transform:translateY(-1px); }

/* Login + Register dos columnas con aire */
.woocommerce .u-columns.col2-set .u-column1,
.woocommerce .u-columns.col2-set .u-column2{ width:48%; }
@media(max-width:760px){
  .woocommerce .u-columns.col2-set .u-column1,
  .woocommerce .u-columns.col2-set .u-column2{ width:100%; margin-bottom:18px; }
}

/* Tablas (orders, downloads, addresses) */
.woocommerce-MyAccount-content table.shop_table{
  border:1.5px solid var(--ory-ink); border-radius:0; border-collapse:collapse;
}
.woocommerce-MyAccount-content table.shop_table th{
  background:var(--ory-ink); color:var(--ory-paper);
  font-family:var(--ory-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  padding:14px 14px; border:none;
}
.woocommerce-MyAccount-content table.shop_table td{
  padding:14px 14px; border-top:1px solid var(--ory-line); font-size:14px;
}

/* Avisos / notices */
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-info{
  background:var(--ory-paper); border:1.5px solid var(--ory-ink);
  border-left:6px solid var(--ory-cobalt);
  padding:18px 22px; color:var(--ory-ink); border-radius:0;
  font-size:14.5px;
}
.woocommerce-account .woocommerce-info a.button{
  background:var(--ory-ink); color:#fff; padding:8px 16px; margin-left:14px;
  font-size:12px; border-radius:0;
}

/* Direcciones (cards) */
.woocommerce-Addresses{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media(max-width:760px){ .woocommerce-Addresses{ grid-template-columns:1fr; } }
.woocommerce-Addresses .woocommerce-Address{
  border:1.5px solid var(--ory-ink); padding:22px 22px 18px; background:#fff;
}
.woocommerce-Addresses .woocommerce-Address-title h3{
  font-family:var(--ory-display); font-weight:700; font-size:18px; margin:0 0 12px;
}
.woocommerce-Addresses .woocommerce-Address-title .edit{
  font-family:var(--ory-mono); font-size:11px; text-transform:uppercase; color:var(--ory-cobalt);
}

/* =====================================================================
   HOME · CABECERA + HERO TROPICAL  (handoff de Claude Design, hi-fi)
   - Cabecera crema con logo "Oryndia." + nav (MODA · PERFUMERÍA · HOGAR ·
     OUTLET dorado) + buscador pill + clúster cuenta (precio | bolsa | mi cuenta).
   - Banner hero full-bleed justo debajo (verano tropical, hasta -70%).
   Tokens locales del handoff: cream, ink, blue, gold, gold-d, muted, line.
   ===================================================================== */
body.home .site-header{
  background: #f4f1ea;
  min-height: 0;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid rgba(23,22,20,.06);
  box-shadow: none;
}
body.home .site-header > .col-full{
  padding: 0 !important;
  min-height: inherit;
  max-width: none;
  width: 100%;
}
.ory-hh{
  --hh-cream:#f4f1ea;
  --hh-ink:#171614;
  --hh-blue:#2347f5;
  --hh-gold:#c6a052;
  --hh-gold-d:#b68f3e;
  --hh-muted:#9a9488;
  --hh-line:rgba(23,22,20,.18);
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--hh-cream);
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.6vw, 28px);
  padding: 22px clamp(20px, 3vw, 56px);
}
.ory-hh *{ box-sizing: border-box; }

/* ---- Logo Oryndia (SVG existente del tema) ---- */
.ory-hh__logo{
  display: inline-block;
  line-height: 0;
  flex-shrink: 0;
  text-decoration: none;
}
.ory-hh__logo svg{
  display: block;
  width: clamp(150px, 14vw, 210px);
  height: auto;
}

/* ---- Nav central ---- */
.ory-hh__nav{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 1.8vw, 32px);
  min-width: 0;
}
.ory-hh__nav a{
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: .04em;
  color: var(--hh-ink);
  text-decoration: none;
  text-transform: uppercase;
  transition: color .18s, background .18s;
}
.ory-hh__nav a:hover{ color: var(--hh-blue); }
.ory-hh__nav a.ory-hh__outlet{
  background: var(--hh-gold);
  color: #fff;
  padding: 8px 16px;
  border-radius: 9px;
  letter-spacing: .06em;
  white-space: nowrap;
}
.ory-hh__nav a.ory-hh__outlet:hover{ background: var(--hh-gold-d); color: #fff; }

/* ---- Bloque derecho: search + account ---- */
.ory-hh__right{
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.4vw, 22px);
  flex-shrink: 0;
}
.ory-hh__search{
  width: clamp(180px, 16vw, 280px);
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: 1.5px solid var(--hh-ink);
  border-radius: 999px;
  padding: 10px 18px;
  margin: 0;
}
.ory-hh__search svg{ flex-shrink: 0; stroke: var(--hh-ink); fill: none; }
.ory-hh__search input[type="search"]{
  border: 0;
  background: transparent;
  outline: none;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  color: var(--hh-ink);
  width: 100%;
  padding: 0;
  height: auto;
  min-height: 0;
}
.ory-hh__search input[type="search"]::placeholder{
  color: var(--hh-muted);
  font-weight: 400;
}

.ory-hh__account{
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.2vw, 18px);
  padding-right: 0;
  flex-shrink: 0;
}
.ory-hh__price{
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 16px;
  color: var(--hh-ink);
  letter-spacing: .02em;
  white-space: nowrap;
}
.ory-hh__price .woocommerce-Price-currencySymbol{ font-family: inherit; }
.ory-hh__divider{
  width: 1px; height: 24px;
  background: var(--hh-line);
}
.ory-hh__item{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--hh-ink);
  text-decoration: none;
  cursor: pointer;
}
.ory-hh__item:hover{ color: var(--hh-blue); }
.ory-hh__item svg{ stroke: var(--hh-ink); fill: none; }
.ory-hh__item:hover svg{ stroke: var(--hh-blue); }
.ory-hh__label{
  font-family: 'JetBrains Mono', monospace;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ory-hh__bag{ position: relative; display: flex; align-items: center; }
.ory-hh__count{
  position: absolute;
  top: -7px; right: -9px;
  background: var(--hh-ink);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 11px;
  width: 19px; height: 19px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

/* ---- Responsive ---- */
@media (max-width: 1200px){
  .ory-hh{ flex-wrap: wrap; gap: 16px 28px; }
  .ory-hh__logo{ order: 1; }
  .ory-hh__nav{ order: 2; flex: 0 0 auto; margin-left: auto; justify-content: flex-end; gap: 24px; }
  .ory-hh__right{ order: 3; flex-basis: 100%; justify-content: space-between; }
  .ory-hh__search{ flex: 1; width: auto; max-width: 420px; }
}
@media (max-width: 560px){
  .ory-hh{ padding: 18px 22px; }
  .ory-hh__logo svg{ width: clamp(140px, 42vw, 180px); }
  .ory-hh__nav{ gap: 16px; }
  .ory-hh__nav a{ font-size: 13px; }
  .ory-hh__nav a.ory-hh__outlet{ padding: 7px 14px; }
  .ory-hh__right{ flex-wrap: wrap; gap: 14px; }
  .ory-hh__search{ flex-basis: 100%; max-width: none; }
  .ory-hh__account{ gap: 14px; }
  .ory-hh__label{ display: none; }
}

/* ---- Banner hero tropical (full-bleed bajo cabecera) ---- */
.ory-hero-tropical{
  display: block;
  width: 100%;
  line-height: 0;
  background: #f4f1ea;
}
.ory-hero-tropical img{
  display: block;
  width: 100%;
  height: auto;
}

/* === Banners editoriales (home + tienda) ====================================
   Imágenes 16:9 con copy embed; recortamos altura con object-fit para que no
   se coman la pantalla y queden proporcionadas con el resto del contenido. */
.ory-banner{ display:block; line-height:0; margin:0 0 36px; border:1.5px solid var(--ory-ink); overflow:hidden; transition:transform .18s ease; height:clamp(220px, 26vw, 340px); }
.ory-banner img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.ory-banner:hover{ transform:translateY(-3px); }
.ory-banner--shop{ margin:0 0 22px; height:clamp(200px, 22vw, 300px); }
.ory-banner--mid{ height:clamp(180px, 20vw, 260px); margin:0 0 28px; }

/* === Hero principal (imagen + CTA overlay) — reemplaza al hero negro === */
.ory-hero-img{ position:relative; display:block; line-height:0; overflow:hidden; border:1.5px solid var(--ory-ink); margin:0 0 46px; height:clamp(280px, 36vw, 520px); transition:transform .18s ease; }
.ory-hero-img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.ory-hero-img:hover{ transform:translateY(-3px); }
.ory-hero-img__cta{
  position:absolute; left:clamp(20px, 5%, 60px); bottom:clamp(20px, 6%, 60px);
  background:var(--ory-cobalt); color:#fff;
  font-family:var(--ory-body); font-weight:700; font-size:15px;
  padding:14px 26px; border:1.5px solid var(--ory-cobalt);
  display:inline-block; line-height:1; letter-spacing:.01em;
  box-shadow:0 4px 18px rgba(14,14,12,.18);
}
.ory-hero-img:hover .ory-hero-img__cta{ background:var(--ory-ink); border-color:var(--ory-ink); }

/* === Acceso a Mi cuenta + Favoritos en la cabecera (iconos + texto) === */
.ory-account,
.ory-wishlist{ float:right; margin:24px 14px 0 0; }
.ory-account a,
.ory-wishlist a{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--ory-ink); text-decoration:none;
  font-family:var(--ory-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  padding:6px 4px;
}
.ory-account a:hover,
.ory-wishlist a:hover{ color:var(--ory-cobalt); }
.ory-account svg,
.ory-wishlist svg{ display:block; }
@media(max-width:680px){
  .ory-account__t,
  .ory-wishlist__t{ display:none; }
  .ory-account,
  .ory-wishlist{ margin-top:18px; }
}

/* === LOGO SVG INYECTADO (assets/logo.svg) — sustituye al texto =================== */
.ory-logo{ display:inline-block; line-height:0; }
.ory-logo svg{ display:block; width:100%; height:auto; }
/* Cabecera: tamaño contenido */
.site-branding .ory-logo svg{ max-width:300px; }
/* Footer: algo más pequeño */
.ory-foot__brand .ory-logo svg{ max-width:240px; margin-bottom:14px; }
/* La tagline ya viene en el SVG → ocultar la descripción duplicada del header */
.site-description{ display:none !important; }
.site-branding .site-title a:hover{color:var(--ory-ink);}
/* "O" inicial grande tipo monograma — es la marca diferencial */
.site-title a::first-letter{
  font-size:1.75em;
  font-weight:900;
  letter-spacing:-.08em;
  text-transform:uppercase;
  line-height:.8;
  display:inline-block;
  vertical-align:-3px;
}
/* punto final cobalto de la marca: oryndia. */
.site-title a::after{ content:"."; color:var(--ory-cobalt); }
.site-header .site-branding{ float:left; text-align:left; margin:0; }
.site-description{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  opacity:.6;
}

/* main navigation links — JetBrains Mono uppercase */
.main-navigation ul li a,
.secondary-navigation ul.menu li a{
  font-family:var(--ory-mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ory-ink);
  font-weight:500;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.secondary-navigation ul.menu li a:hover{color:var(--ory-cobalt);}

.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul.children{
  background:var(--ory-white);
  border:1.5px solid var(--ory-ink);
}
.main-navigation ul.menu ul li a,
.main-navigation ul.nav-menu ul li a{border-bottom:1px solid var(--ory-line);}

/* search + cart icons in header */
.site-header-cart .cart-contents,
.site-search .widget_product_search input[type="search"]{
  font-family:var(--ory-mono);
}
.site-header-cart .cart-contents{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ory-ink);
}
.site-header-cart .cart-contents .count{
  background:var(--ory-cobalt);
  color:var(--ory-white);
  border-radius:0;
}
.site-search .widget_product_search input[type="search"]{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  border-radius:0;
}

/* announcement bar via storefront notice / demo store */
.woocommerce-store-notice,
p.demo_store{
  background:var(--ory-ink);
  color:var(--ory-paper);
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  border-radius:0;
  text-align:center;
}
.woocommerce-store-notice a,
p.demo_store a{color:var(--ory-cobalt-l);}

/* =====================================================================
   BUTTONS — fondo tinta, texto papel, sin radio, hover sombra cobalto
   ===================================================================== */
.button,
a.button,
button,
input[type="button"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.single_add_to_cart_button,
.wc-block-components-button{
  font-family:var(--ory-body) !important;
  font-weight:600 !important;
  letter-spacing:0;
  font-size:13.5px;
  padding:14px 22px;
  border:1.5px solid var(--ory-ink) !important;
  background:var(--ory-ink) !important;
  color:var(--ory-paper) !important;
  cursor:pointer;
  border-radius:0 !important;
  text-transform:none;
  text-shadow:none;
  transition:transform .15s ease, box-shadow .15s ease;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.button:hover,
a.button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.single_add_to_cart_button:hover,
.wc-block-components-button:hover{
  transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 var(--ory-cobalt);
  background:var(--ory-ink) !important;
  color:var(--ory-paper) !important;
}

/* primary / alt / checkout buttons — cobalt fill, ink shadow */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.checkout-button,
.wc-proceed-to-checkout .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-components-button.contained{
  background:var(--ory-cobalt) !important;
  border-color:var(--ory-cobalt) !important;
  color:var(--ory-white) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.wc-proceed-to-checkout .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--ory-cobalt) !important;
  color:var(--ory-white) !important;
  box-shadow:4px 4px 0 var(--ory-ink);
}

/* ghost / secondary look for added-to-cart */
.woocommerce a.added_to_cart{
  display:inline-flex;
  align-items:center;
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  border:1.5px solid var(--ory-cobalt);
  color:var(--ory-cobalt) !important;
  background:transparent;
  padding:8px 14px;
  margin-top:6px;
  border-radius:0;
}
.woocommerce a.added_to_cart:hover{
  background:var(--ory-cobalt);
  color:var(--ory-white) !important;
}

/* quantity stepper */
.quantity input.qty{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  font-family:var(--ory-mono);
  border-radius:0;
  padding:10px 8px;
}

/* =====================================================================
   PRODUCT GRID (shop / PLP) — tarjetas .pcard del mockup
   ===================================================================== */
/* FIX huecos del grid: Storefront mete ::before/::after con display:table
   para clearfix de floats; con CSS Grid se convierten en celdas-fantasma
   que roban la 1ª y la última. Los anulamos + quitamos el clear:both. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{ display:none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{ clear:none !important; }
.woocommerce ul.products,
.woocommerce-page ul.products{
  margin:0 0 1.5em;
  display:grid;
  gap:18px;
  background:transparent;
}
.woocommerce ul.products.columns-1{grid-template-columns:1fr;}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr);}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr);}
.woocommerce ul.products.columns-4,
.woocommerce ul.products{grid-template-columns:repeat(4,1fr);}
.woocommerce ul.products.columns-5{grid-template-columns:repeat(5,1fr);}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:var(--ory-white);
  position:relative;
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  border:1.5px solid var(--ory-ink);
  transition:transform .15s ease, box-shadow .15s ease, z-index 0s;
}
.woocommerce ul.products li.product:hover{
  transform:translate(-3px,-3px);
  box-shadow:6px 6px 0 var(--ory-cobalt);
  z-index:2;
}

/* product image area (the .ph block) */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{
  margin:0;
  border-radius:0;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;        /* muestra la prenda completa, sin zoom ni recorte */
  background:#fff;
  padding:10px;
  border-bottom:1.5px solid var(--ory-ink);
}

/* card text block */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  font-family:var(--ory-body);
  font-size:12.5px;
  font-weight:400;
  line-height:1.4;
  color:var(--ory-ink-3);
  opacity:.78;
  padding:0 14px;
  margin:3px 0 10px;
  min-height:34px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding-top:0;}

/* brand line injected by functions.php hook */
.woocommerce ul.products li.product .ory-card-brand{
  font-family:var(--ory-display);
  font-weight:700;
  font-size:16px;
  letter-spacing:-.015em;
  color:var(--ory-ink);
  padding:14px 14px 0;
  display:block;
}

/* price */
.woocommerce ul.products li.product .price{
  font-family:var(--ory-mono);
  color:var(--ory-ink);
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:0 14px 16px;
  margin:0;
  flex-wrap:wrap;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount{
  font-family:var(--ory-display);
  font-weight:800;
  font-size:22px;
  letter-spacing:-.025em;
}
.woocommerce ul.products li.product .price del{
  opacity:1;
}
.woocommerce ul.products li.product .price del .woocommerce-Price-amount{
  font-family:var(--ory-mono);
  font-weight:400;
  font-size:12px;
  text-decoration:line-through;
  color:#9a9486;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
}
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount{
  font-family:var(--ory-display);
  font-weight:800;
  font-size:22px;
}

/* loop add-to-cart button sits inside card padding */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:0 14px 16px;
  font-size:11.5px;
  padding:10px 16px;
}

/* =====================================================================
   PRICES GLOBAL (mono) + ON SALE BADGE
   ===================================================================== */
.woocommerce .price,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol{
  font-family:var(--ory-mono);
}
.woocommerce del{color:#9a9486;opacity:1;}
.woocommerce ins{font-weight:700;background:transparent;}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  font-family:var(--ory-mono);
  font-size:10px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:var(--ory-cobalt);
  color:var(--ory-white);
  border:none;
  border-radius:0;
  min-height:0;
  min-width:0;
  line-height:1;
  padding:6px 9px;
  top:10px;
  left:10px;
  right:auto;
  margin:0;
  position:absolute;
}

/* mini "Original" badge injected by hook */
.ory-badge-original{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  font-family:var(--ory-mono);
  font-size:9.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ory-ink);
  background:var(--ory-paper);
  padding:5px 10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--ory-line);
}
.ory-badge-original::before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--ory-mint-d);
}

/* =====================================================================
   PLP HEADER / RESULT COUNT / ORDERING
   ===================================================================== */
.woocommerce-products-header{
  padding:14px 0 16px;
  border-bottom:1.5px solid var(--ory-ink);
  margin-bottom:0;
}
.woocommerce-products-header__title,
.woocommerce-products-header .page-title{
  font-family:var(--ory-display);
  font-weight:700;
  font-size:clamp(34px,5vw,48px);
  letter-spacing:-.03em;
  line-height:1;
}
.term-description,
.woocommerce-products-header .term-description{
  font-size:14px;
  opacity:.7;
  max-width:640px;
  margin-top:8px;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  opacity:.6;
  color:var(--ory-ink);
}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select,
.woocommerce-ordering .orderby{
  font-family:var(--ory-mono);
  font-size:12px;
  border:1.5px solid var(--ory-ink);
  background:var(--ory-paper);
  border-radius:0;
  padding:9px 14px;
  color:var(--ory-ink);
}

/* =====================================================================
   FILTER BAR HOOKS (preparados para el plugin de filtros)
   replican el look del mockup: .oryndia-filter-bar / .fdrop / .filter-panel / .applied-row
   ===================================================================== */
.oryndia-filter-bar,
.filter-bar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:12px 0;
  border-top:1.5px solid var(--ory-ink);
  border-bottom:1px solid var(--ory-line);
  align-items:center;
  clear:both;          /* fila propia: no la pisan los flotantes contador/orden */
  width:100%;
  margin:0 0 14px;
}
/* Contador + orden: fila limpia DEBAJO de la barra (contador a la izq, orden a la dcha). */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count{ float:left; margin:0; line-height:38px; }
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering{ float:right; margin:0 0 14px; }
/* La rejilla arranca por debajo de esa fila flotante. */
.woocommerce ul.products,
.woocommerce-page ul.products{ clear:both; }
.fdrop{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--ory-body);
  font-weight:600;
  font-size:12.5px;
  border:1.5px solid var(--ory-ink);
  background:var(--ory-paper);
  padding:9px 15px;
  cursor:pointer;
  border-radius:0;
  transition:transform .12s ease;
}
.fdrop:hover{transform:translateY(-1px);}
.fdrop .car{font-family:var(--ory-mono);opacity:.55;font-size:11px;}
.fdrop.on{background:var(--ory-cobalt);color:var(--ory-white);border-color:var(--ory-cobalt);}
.fdrop.on .car{opacity:.9;}

.filter-panel{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr 1fr;
  gap:26px;
  padding:22px 0;
  border-bottom:1.5px solid var(--ory-ink);
  background:var(--ory-white);
}
.filter-panel h4{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ory-cobalt);
  margin-bottom:12px;
}
.filter-panel .row{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  padding:4px 0;
  cursor:pointer;
}
.filter-panel .bx{
  width:15px;height:15px;
  border:1.5px solid var(--ory-ink);
  flex-shrink:0;
  position:relative;
}
.filter-panel .bx.on{background:var(--ory-cobalt);border-color:var(--ory-cobalt);}
.filter-panel .bx.on::after{content:"\2713";color:#fff;font-size:10px;position:absolute;left:2px;top:-3px;}
.filter-panel .ct{margin-left:auto;font-family:var(--ory-mono);font-size:11px;opacity:.45;}
.filter-panel .szs{display:flex;flex-wrap:wrap;gap:6px;}
.filter-panel .szs .s{
  min-width:34px;height:32px;padding:0 8px;
  border:1.5px solid var(--ory-ink);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ory-mono);font-size:12px;cursor:pointer;
}
.filter-panel .szs .s.on{background:var(--ory-ink);color:var(--ory-paper);}
.filter-panel .cols{display:flex;flex-wrap:wrap;gap:10px;}
.filter-panel .cols .co{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ory-ink);cursor:pointer;}
.filter-panel .cols .co.on{box-shadow:0 0 0 2px var(--ory-white),0 0 0 4px var(--ory-cobalt);}

.applied-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:12px 0;
  border-bottom:1.5px solid var(--ory-ink);
}
.applied-row .lbl{
  font-family:var(--ory-mono);
  font-size:10px;
  text-transform:uppercase;
  opacity:.5;
  letter-spacing:.06em;
}
.applied-row .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  background:var(--ory-white);
  border:1.5px solid var(--ory-ink);
  padding:6px 12px;
  font-family:var(--ory-body);
  font-weight:500;
}
.applied-row .pill .x{font-family:var(--ory-mono);color:var(--ory-cobalt);font-weight:700;font-size:11px;cursor:pointer;}
.applied-row .clear{margin-left:auto;font-family:var(--ory-mono);font-size:11px;color:var(--ory-cobalt);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;}

/* =====================================================================
   SINGLE PRODUCT (PDP)
   ===================================================================== */
.single-product div.product{
  background:var(--ory-paper);
}
.single-product div.product .summary{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.single-product div.product .product_title,
.single-product .summary .product_title{
  font-family:var(--ory-display);
  font-weight:700;
  font-size:clamp(28px,4vw,40px);
  letter-spacing:-.03em;
  line-height:1.02;
  margin-bottom:0;
}

/* price row — large, with top/bottom ink rules */
.single-product div.product p.price,
.single-product div.product .summary .price{
  font-family:var(--ory-mono);
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 0;
  border-top:1.5px solid var(--ory-ink);
  border-bottom:1.5px solid var(--ory-ink);
  margin:4px 0;
  color:var(--ory-ink);
}
.single-product div.product p.price .woocommerce-Price-amount,
.single-product div.product .summary .price ins .woocommerce-Price-amount{
  font-family:var(--ory-display);
  font-weight:800;
  font-size:clamp(36px,5vw,54px);
  letter-spacing:-.04em;
  line-height:1;
}
.single-product div.product p.price del .woocommerce-Price-amount{
  font-family:var(--ory-mono);
  font-weight:400;
  font-size:14px;
  text-decoration:line-through;
  opacity:.5;
}
.single-product div.product p.price ins{text-decoration:none;}

/* gallery */
.single-product div.product .woocommerce-product-gallery{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img{
  border:1.5px solid transparent;
  border-radius:0;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover{
  border-color:var(--ory-cobalt);
  opacity:1;
}
.single-product .woocommerce-product-gallery__trigger{border-radius:0;}

/* short description / labels */
.single-product div.product .woocommerce-product-details__short-description{
  font-family:var(--ory-body);
  font-size:15px;
  line-height:1.5;
  opacity:.85;
}

/* variations / sizes as chips */
.woocommerce div.product form.cart .variations{
  border:none;
  margin-bottom:14px;
}
.woocommerce div.product form.cart .variations th.label{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ory-cobalt);
  font-weight:500;
  vertical-align:middle;
}
.woocommerce div.product form.cart .variations td.value select,
.woocommerce div.product form.cart .variations select{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-paper);
  font-family:var(--ory-mono);
  font-size:13px;
  border-radius:0;
  padding:11px 13px;
  min-width:140px;
  color:var(--ory-ink);
}
.woocommerce div.product form.cart .reset_variations{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  color:var(--ory-cobalt);
}

/* full-width add to cart on PDP */
.single-product div.product form.cart{margin-bottom:18px;}
.single-product div.product form.cart .single_add_to_cart_button{
  width:100%;
  justify-content:center;
  padding:18px 30px;
  font-size:15px;
}

/* tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{
  border-bottom:1.5px solid var(--ory-ink);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;
  border:none;
  border-radius:0;
  margin:0 4px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ory-ink);
  font-weight:500;
  padding:.9em 1.1em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--ory-ink);
  border:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ory-paper);}
.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{
  border:1.5px solid var(--ory-ink);
  border-top:none;
  background:var(--ory-white);
  padding:24px;
}

/* attribute table inside PDP (technical sheet look) */
.woocommerce table.shop_attributes{
  border:none;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  font-family:var(--ory-mono);
  font-size:12.5px;
  border-bottom:1px solid var(--ory-line);
  padding:11px 8px;
}
.woocommerce table.shop_attributes th{
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  opacity:.55;
  font-weight:500;
}

/* stock / sku badges */
.woocommerce div.product .stock{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ory-mint-d);
}
.woocommerce div.product .stock.out-of-stock{color:var(--ory-pink);}
.woocommerce div.product .product_meta{
  font-family:var(--ory-mono);
  font-size:11px;
  border-top:1.5px solid var(--ory-ink);
  padding-top:12px;
}
.woocommerce div.product .product_meta .sku{font-family:var(--ory-mono);}

/* =====================================================================
   CART
   ===================================================================== */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table{
  border:1.5px solid var(--ory-ink);
  border-radius:0;
  border-collapse:collapse;
}
.woocommerce table.shop_table th{
  font-family:var(--ory-mono);
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  opacity:.65;
  border-bottom:1.5px solid var(--ory-ink);
  padding:12px 10px;
}
.woocommerce table.shop_table td{
  border-top:1px solid var(--ory-line);
  padding:14px 10px;
}
.woocommerce table.shop_table .product-name a{color:var(--ory-ink);font-weight:600;}
.woocommerce a.remove{
  color:var(--ory-cobalt) !important;
  border-radius:0;
  font-weight:700;
}
.woocommerce a.remove:hover{background:var(--ory-cobalt);color:var(--ory-white) !important;}

/* coupon + update */
.woocommerce .cart input.input-text,
.woocommerce-page .cart input.input-text{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  border-radius:0;
  padding:12px 13px;
}

/* cart totals */
.cart_totals,
.woocommerce .cart_totals{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  padding:22px;
}
.cart_totals h2,
.woocommerce .cart_totals h2{
  font-family:var(--ory-display);
  font-weight:700;
  font-size:22px;
  margin-bottom:14px;
}
.cart_totals table tr.order-total td,
.cart_totals table tr.order-total th{
  font-family:var(--ory-display);
  font-weight:800;
  font-size:20px;
  border-top:1.5px solid var(--ory-ink);
}
.cart_totals table tr.order-total .woocommerce-Price-amount{
  font-family:var(--ory-display);
  font-weight:800;
}

/* =====================================================================
   CHECKOUT
   ===================================================================== */
.woocommerce form .form-row,
.woocommerce-page form .form-row{margin-bottom:14px;}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce-checkout label{
  font-family:var(--ory-mono);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ory-cobalt);
  font-weight:500;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce form .form-row select,
.woocommerce-input-wrapper input,
input.input-text,
textarea.input-text{
  border:1.5px solid var(--ory-ink) !important;
  background:var(--ory-white) !important;
  border-radius:0 !important;
  padding:13px 14px;
  font-family:var(--ory-body);
  font-size:14px;
  color:var(--ory-ink);
  box-shadow:none;
  transition:box-shadow .15s ease, transform .15s ease;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
input.input-text:focus,
textarea.input-text:focus,
.woocommerce-input-wrapper input:focus{
  box-shadow:3px 3px 0 var(--ory-cobalt);
  transform:translate(-1px,-1px);
  outline:none;
}
.woocommerce form .form-row input.input-text::placeholder{color:#9c9a8e;}

#order_review,
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order-table{
  border:1.5px solid var(--ory-ink);
}
.woocommerce-checkout #payment,
.woocommerce-checkout-payment{
  background:var(--ory-white);
  border:1.5px solid var(--ory-ink);
  border-radius:0;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--ory-line);
}
#add_payment_method #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box{
  background:var(--ory-paper);
  border-radius:0;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:var(--ory-paper);
}
#place_order,
.woocommerce #payment #place_order{
  width:100%;
  justify-content:center;
}

/* =====================================================================
   NOTICES / MESSAGES
   ===================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-notice{
  border-radius:0;
  border-top:none;
  border-left:5px solid var(--ory-cobalt);
  background:var(--ory-white);
  font-family:var(--ory-body);
  color:var(--ory-ink);
}
.woocommerce-message{border-left-color:var(--ory-mint-d);}
.woocommerce-message::before{color:var(--ory-mint-d);}
.woocommerce-error{border-left-color:var(--ory-pink);}
.woocommerce-error::before{color:var(--ory-pink);}
.woocommerce-info::before{color:var(--ory-cobalt);}

/* =====================================================================
   MY ACCOUNT
   ===================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation{
  border-right:1.5px solid var(--ory-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  border:none;
  list-style:none;
  margin:0;
  padding:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{
  border:none;
  margin:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:block;
  padding:11px 18px;
  font-size:13.5px;
  color:var(--ory-ink);
  border-left:3px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
  border-left-color:var(--ory-cobalt);
  background:var(--ory-white);
  font-weight:600;
  color:var(--ory-cobalt);
}
.woocommerce-account .woocommerce-MyAccount-content{
  padding-left:6px;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  font-family:var(--ory-display);
  font-weight:700;
}

/* login / register boxes */
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns > .col-1,
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns > .col-2,
.woocommerce .col2-set .col-1 form.login,
.woocommerce .col2-set .col-2 form.register,
.woocommerce form.login,
.woocommerce form.register{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  border-radius:0;
  padding:22px;
}

/* =====================================================================
   GENERIC TABLES / ORDERS / DOWNLOADS
   ===================================================================== */
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table{
  border:1.5px solid var(--ory-ink);
}
.woocommerce table.my_account_orders .order-number a{
  font-family:var(--ory-mono);
  color:var(--ory-cobalt);
}
.woocommerce .woocommerce-order-overview,
.woocommerce ul.order_details{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
}
.woocommerce ul.order_details li{
  border-right:1px solid var(--ory-line);
}
.woocommerce ul.order_details li strong{
  font-family:var(--ory-display);
  font-weight:800;
}

/* =====================================================================
   WIDGETS (sidebar) — price filter, ratings, categories
   ===================================================================== */
.widget-area .widget,
.widget{
  font-family:var(--ory-body);
}
.widget-area .widget h2.widget-title,
.widget .widget-title{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ory-cobalt);
  font-weight:500;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .price_slider_amount .button{
  background:var(--ory-cobalt);
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{
  background:var(--ory-ink);
  border-radius:50%;
}
.widget_product_search input[type="search"],
.widget_search input[type="search"]{
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  border-radius:0;
  padding:11px 13px;
  font-family:var(--ory-body);
}

/* =====================================================================
   FOOTER — oscuro (tinta) con texto papel
   ===================================================================== */
.site-footer,
.storefront-footer,
footer.site-footer{
  background:var(--ory-ink);
  color:var(--ory-paper);
  border-top:3px solid var(--ory-cobalt);
}
.site-footer a{color:var(--ory-cobalt-l);}
.site-footer a:hover{color:var(--ory-white);}
.site-footer .widget-title,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4{
  color:var(--ory-paper);
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.site-footer .site-info{
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.04em;
  opacity:.55;
  border-top:1px solid rgba(244,243,238,.13);
}
.site-footer input[type="text"],
.site-footer input[type="email"]{
  border:1.5px solid var(--ory-paper);
  background:transparent;
  color:var(--ory-paper);
  border-radius:0;
}

/* =====================================================================
   BADGES / CHIPS (reusables marca)
   ===================================================================== */
.ory-badge{
  font-family:var(--ory-mono);
  font-size:10px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:5px 10px;
  background:var(--ory-ink);
  color:var(--ory-paper);
  display:inline-block;
}
.ory-badge.cobalt{background:var(--ory-cobalt);}
.ory-badge.mint{background:var(--ory-mint);color:var(--ory-mint-d);}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:768px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5{
    grid-template-columns:repeat(2,1fr);
  }
  .filter-panel{grid-template-columns:1fr 1fr;gap:18px;}
  .single-product div.product p.price .woocommerce-Price-amount{font-size:36px;}
  .woocommerce-products-header__title,
  .woocommerce-products-header .page-title{font-size:32px;}
  .oryndia-filter-bar,.filter-bar{overflow-x:auto;flex-wrap:nowrap;}
}
@media (max-width:480px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:1fr;}
  .filter-panel{grid-template-columns:1fr;}
}

/* === Oryndia: tienda a ancho completo (sin sidebar) + hero portada === */
.woocommerce-page #secondary, .storefront-sidebar, #secondary { display:none !important; }
.woocommerce-page #primary, .woocommerce-page.right-sidebar #primary, .woocommerce-page.left-sidebar #primary { width:100% !important; margin:0 !important; float:none !important; }
.woocommerce ul.products.columns-3 { grid-template-columns:repeat(4,1fr); }
@media(max-width:980px){ .woocommerce ul.products, .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns:repeat(2,1fr) !important; } }

.oryndia-hero{ background:var(--ory-ink); color:var(--ory-paper); padding:72px 40px; }
.oryndia-hero .eyebrow{ font-family:var(--ory-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#5a78ff; }
.oryndia-hero h1{ font-family:var(--ory-display); font-weight:800; font-size:clamp(38px,6vw,76px); line-height:.95; letter-spacing:-.03em; margin:14px 0 18px; color:var(--ory-paper); }
.oryndia-hero h1 em{ font-style:normal; color:#5a78ff; }
.oryndia-hero p{ font-family:var(--ory-body); font-size:15px; opacity:.82; max-width:560px; margin-bottom:24px; }
.oryndia-hero .btn{ display:inline-block; background:var(--ory-cobalt); color:#fff; font-family:var(--ory-body); font-weight:600; padding:14px 26px; border:1.5px solid var(--ory-cobalt); }
.oryndia-home-sec{ padding:40px 0 4px; }
.oryndia-home-sec h2{ font-family:var(--ory-display); font-weight:700; font-size:30px; letter-spacing:-.02em; margin:0 0 10px; }

/* SALE arriba-izquierda; ORIGINAL arriba-derecha (sin solापes ni choques con el botón) */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{ position:absolute; top:10px; left:10px; right:auto; bottom:auto; margin:0; z-index:3; }

/* Ocultar el titulo de pagina "Inicio" en la portada (el hero ya hace de cabecera) */
body.home .entry-header, body.home .page-title{ display:none !important; }

/* =====================================================================
   FILTER BAR — adaptación a <details>/<summary> (sin JS) para inc/filter-bar.php
   La barra reusa .oryndia-filter-bar / .fdrop / .filter-panel / .applied-row
   ya definidos arriba; aquí solo lo necesario para que <details> se vea como
   los chips del mockup y el panel aparezca debajo al abrir.
   ===================================================================== */

/* El <details> es el chip: hereda el borde/altura desde .fdrop pero como bloque
   relativo para anclar el panel flotante. */
.oryndia-filter-bar details.fdrop{
  position:relative;
  display:inline-block;
  padding:0;                 /* el padding pasa al <summary> */
  border:none;
  background:transparent;
  transition:none;
  z-index:10;
}
/* El que está abierto sale por encima de los demás. */
.oryndia-filter-bar details.fdrop[open]{ z-index:1000; }
.oryndia-filter-bar details.fdrop > summary{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--ory-body);
  font-weight:600;
  font-size:12.5px;
  border:1.5px solid var(--ory-ink);
  background:var(--ory-paper);
  color:var(--ory-ink);
  padding:9px 15px;
  cursor:pointer;
  list-style:none;           /* quita el triangulo nativo */
  user-select:none;
  transition:transform .12s ease;
}
.oryndia-filter-bar details.fdrop > summary::-webkit-details-marker{ display:none; }
.oryndia-filter-bar details.fdrop > summary::marker{ content:""; }
.oryndia-filter-bar details.fdrop:hover > summary{ transform:translateY(-1px); }
.oryndia-filter-bar details.fdrop.on > summary{
  background:var(--ory-cobalt);
  color:var(--ory-white);
  border-color:var(--ory-cobalt);
}
.oryndia-filter-bar details.fdrop[open] > summary{
  background:var(--ory-ink);
  color:var(--ory-paper);
  border-color:var(--ory-ink);
}
.oryndia-filter-bar details.fdrop .car{ font-family:var(--ory-mono); opacity:.55; font-size:11px; }
.oryndia-filter-bar details.fdrop.on .car,
.oryndia-filter-bar details.fdrop[open] .car{ opacity:.9; }

/* Panel desplegable: flota bajo el chip, ancho mínimo cómodo. z-index alto
   para que NUNCA quede tapado por la imagen banner ni por la rejilla. */
.oryndia-filter-bar details.fdrop > .filter-panel{
  position:absolute;
  z-index:1001;
  top:calc(100% + 6px);
  left:0;
  min-width:240px;
  max-width:340px;
  max-height:380px;
  overflow:auto;
  padding:18px 18px;
  border:1.5px solid var(--ory-ink);
  background:var(--ory-white);
  box-shadow:0 22px 50px -18px rgba(14,14,12,.45);
}

/* Las opciones del panel son <a> (no <div>): mismo look, sin subrayado. */
.oryndia-filter-bar .filter-panel a.row,
.oryndia-filter-bar .filter-panel .szs a.s{
  color:var(--ory-ink);
  text-decoration:none;
}
.oryndia-filter-bar .filter-panel a.row:hover{ color:var(--ory-cobalt); }
.oryndia-filter-bar .filter-panel .szs a.s.on{ background:var(--ory-ink); color:var(--ory-paper); }

/* Pills de aplicados como enlaces (quitar filtro). */
.applied-row a.pill{ color:var(--ory-ink); text-decoration:none; }
.applied-row a.pill:hover{ border-color:var(--ory-cobalt); }
.applied-row a.clear{ text-decoration:none; }

@media (max-width:768px){
  .oryndia-filter-bar details.fdrop > .filter-panel{ left:auto; right:0; }
}

/* Filtros: nombres sin cortar, panel cómodo, swatches de color visibles */
.oryndia-filter-bar .filter-panel a.row{ white-space:nowrap; }
.oryndia-filter-bar details.fdrop > .filter-panel{ min-width:282px; }
.oryndia-filter-bar .filter-panel .cols{ max-width:300px; gap:11px; }
.oryndia-filter-bar .filter-panel .cols .co{ width:26px; height:26px; }

/* La tienda es todo el catálogo: el título "Tienda" sobra → bloque colapsado.
   El título ya no se imprime (filtro woocommerce_show_page_title); colapsamos
   visualmente el wrapper SIN ocultarlo del DOM (porque ahora `archive_description`
   renderiza dentro la barra de filtros, que debe ser visible incluso con 0 productos). */
.woocommerce-products-header{ padding:0 !important; margin:0 !important; border:none !important; }
.woocommerce-products-header__title{ display:none !important; }
.woocommerce-products-header + .woocommerce-notices-wrapper{ margin:0; }

/* Menos aire por arriba: Storefront mete ~68px de padding en .site-content. */
.site-content{ padding-top:20px !important; }
/* La banda .storefront-breadcrumb mete ~137px de aire muerto entre header y
   contenido. En la tienda (navegación por filtros) el breadcrumb "Inicio › Tienda"
   no aporta → se oculta SOLO en shop. En fichas de producto sí sirve, se mantiene. */
body.woocommerce-shop .storefront-breadcrumb,
body.post-type-archive-product .storefront-breadcrumb{ display:none !important; }
/* En el resto (PDP) lo dejamos compacto, sin el padding gigante por defecto. */
.storefront-breadcrumb{ padding-top:10px !important; padding-bottom:10px !important; margin-bottom:0 !important; }

/* =====================================================================
   FACET "CATEGORÍA" JERÁRQUICO (.cat-panel)
   Reusa el look de Marca: filas con checkbox .bx + recuento .ct. Las
   Secciones top (Hombre/Mujer/Niño/Niña) van como cabecera mono cobalto;
   Tipo y Subtipo van indentados (la indentación inline la pone el PHP).
   ===================================================================== */
.oryndia-filter-bar .filter-panel.cat-panel{ min-width:300px; }

/* Fila de categoría (cualquier nivel): mismo patrón que .row de Marca. */
.oryndia-filter-bar .filter-panel .cat-row{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  padding:4px 0;
  cursor:pointer;
  color:var(--ory-ink);
  text-decoration:none;
  white-space:nowrap;
}
.oryndia-filter-bar .filter-panel .cat-row:hover{ color:var(--ory-cobalt); }
.oryndia-filter-bar .filter-panel .cat-row .cat-name{ flex:0 1 auto; }
.oryndia-filter-bar .filter-panel .cat-row .ct{
  margin-left:auto;
  font-family:var(--ory-mono);
  font-size:11px;
  opacity:.45;
}

/* Cabecera de Sección (parent=0): tipografía mono cobalto en mayúsculas,
   con una línea separadora encima salvo en la primera. */
.oryndia-filter-bar .filter-panel .cat-row.cat-section .cat-name{
  font-family:var(--ory-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ory-cobalt);
  font-weight:600;
}
.oryndia-filter-bar .filter-panel .cat-row.cat-section{ margin-top:12px; }
.oryndia-filter-bar .filter-panel .cat-row.cat-section:first-of-type{ margin-top:0; }

/* Subtipos (nivel 2+): un punto más tenues para reforzar la jerarquía. */
.oryndia-filter-bar .filter-panel .cat-row.cat-lvl-2{ opacity:.92; }

/* =====================================================================
   HEADER LIMPIO — ocultar navegación superior (fallback CSS)
   Complementa el remove_action() de functions.php por si algún hook de
   Storefront cambia de nombre/prioridad. Header = logo + buscador + carrito.
   ===================================================================== */
.main-navigation,
.storefront-handheld-footer-bar .smartmenus-handheld{ display:none; }

/* =====================================================================
   BARRA SUPERIOR (oferta a la izquierda · chips utility a la derecha)
   ===================================================================== */
.ory-topbar{ background:var(--ory-ink); color:var(--ory-paper); }
.ory-topbar__in{
  max-width:1460px; margin:0 auto; padding:9px 40px;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  font-family:var(--ory-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
}
.ory-topbar__left strong{ color:#fff; font-weight:700; }
.ory-topbar__right{ display:flex; gap:24px; }
.ory-topbar__chip{ opacity:.85; position:relative; }
.ory-topbar__chip + .ory-topbar__chip{ padding-left:24px; }
.ory-topbar__chip + .ory-topbar__chip::before{ content:"·"; position:absolute; left:8px; color:var(--ory-cobalt-l); }
@media(max-width:760px){ .ory-topbar__right{ display:none; } .ory-topbar__in{ justify-content:center; padding:9px 18px; } }

/* =====================================================================
   HOME (front-page.php)
   ===================================================================== */
.ory-home{ margin:0 0 10px; }
.ory-home section{ margin:0 0 46px; }

/* Botones reutilizables */
.ory-btn{
  display:inline-block; font-family:var(--ory-body); font-weight:700; font-size:14px;
  padding:13px 26px; border:1.5px solid var(--ory-ink); text-decoration:none; border-radius:0;
  transition:transform .12s ease, background .12s ease, color .12s ease;
}
.ory-btn:hover{ transform:translateY(-2px); }
.ory-btn--cobalt{ background:var(--ory-cobalt); border-color:var(--ory-cobalt); color:#fff; }
.ory-btn--cobalt:hover{ background:var(--ory-ink); border-color:var(--ory-ink); color:#fff; }
.ory-btn--ghost{ background:transparent; color:var(--ory-ink); }
.ory-btn--ghost:hover{ background:var(--ory-ink); color:var(--ory-paper); }

/* Cabecera de sección */
.ory-sec__head{ display:flex; align-items:baseline; gap:14px; margin:0 0 18px; border-bottom:1.5px solid var(--ory-ink); padding-bottom:8px; }
.ory-sec__h{ font-family:var(--ory-display); font-weight:700; font-size:clamp(22px,3vw,30px); letter-spacing:-.02em; margin:0; line-height:1; }
.ory-sec__sub{ font-family:var(--ory-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; opacity:.55; }
.ory-sec__more{ margin-left:auto; font-family:var(--ory-mono); font-size:12px; text-decoration:none; color:var(--ory-cobalt); }
.ory-sec__more:hover{ color:var(--ory-ink); }

/* HERO */
.ory-hero{ background:var(--ory-ink); color:var(--ory-paper); padding:clamp(40px,7vw,80px) clamp(24px,5vw,64px); }
.ory-hero__kicker{ font-family:var(--ory-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ory-cobalt-l); margin:0 0 16px; }
.ory-hero__title{ font-family:var(--ory-display); font-weight:800; font-size:clamp(40px,7vw,76px); line-height:.98; letter-spacing:-.03em; margin:0 0 18px; color:#fff; }
.ory-hero__title span{ color:var(--ory-cobalt-l); }
.ory-hero__sub{ max-width:560px; font-size:16px; line-height:1.55; opacity:.82; margin:0 0 28px; }
.ory-hero__cta{ display:flex; gap:12px; flex-wrap:wrap; }
.ory-hero .ory-btn--ghost{ border-color:var(--ory-paper); color:var(--ory-paper); }
.ory-hero .ory-btn--ghost:hover{ background:var(--ory-paper); color:var(--ory-ink); }

/* BANDA USP */
.ory-usp{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1.5px solid var(--ory-ink); }
.ory-usp__i{ padding:20px 22px; display:flex; flex-direction:column; gap:5px; }
.ory-usp__i + .ory-usp__i{ border-left:1px solid var(--ory-line); }
.ory-usp__t{ font-family:var(--ory-display); font-weight:700; font-size:16px; }
.ory-usp__d{ font-size:12.5px; line-height:1.4; opacity:.65; }
@media(max-width:860px){ .ory-usp{ grid-template-columns:repeat(2,1fr); } .ory-usp__i:nth-child(2n){ border-left:1px solid var(--ory-line); } .ory-usp__i:nth-child(n+3){ border-top:1px solid var(--ory-line); } }

/* COMPRAR POR CATEGORÍA */
.ory-cats{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.ory-cat{
  display:flex; flex-direction:column; justify-content:flex-end; gap:4px; min-height:150px;
  padding:18px; border:1.5px solid var(--ory-ink); background:#fff; text-decoration:none; color:var(--ory-ink);
  transition:transform .12s ease, background .12s ease, color .12s ease;
}
.ory-cat:hover{ transform:translateY(-3px); background:var(--ory-ink); color:var(--ory-paper); }
/* Tiles con imagen de fondo (producto representativo de la categoría) */
.ory-cat.has-img{
  background-size:cover; background-position:center 22%; background-color:#1a1a1a;
  color:#fff; position:relative; overflow:hidden;
  border-color:var(--ory-ink);
  aspect-ratio: 3 / 4;
  min-height: 0;
}
.ory-cat.has-img::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(14,14,12,.85) 0%, rgba(14,14,12,.35) 55%, rgba(14,14,12,.15) 100%);
  z-index:1;
}
.ory-cat.has-img > *{ position:relative; z-index:2; }
.ory-cat.has-img .ory-cat__n{ color:#fff; }
.ory-cat.has-img .ory-cat__c{ color:#fff; opacity:.85; }
.ory-cat.has-img:hover{ background-color:var(--ory-ink); }
.ory-cat.has-img:hover::before{ background:linear-gradient(to top, rgba(26,58,255,.7) 0%, rgba(14,14,12,.55) 100%); }
.ory-cat--sale{ background:var(--ory-cobalt); border-color:var(--ory-cobalt); color:#fff; }
.ory-cat--sale:hover{ background:var(--ory-ink); border-color:var(--ory-ink); }
.ory-cat__n{ font-family:var(--ory-display); font-weight:700; font-size:21px; letter-spacing:-.02em; }
.ory-cat__c{ font-family:var(--ory-mono); font-size:11px; opacity:.6; }
.ory-cat:hover .ory-cat__c{ opacity:.8; }
@media(max-width:980px){ .ory-cats{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .ory-cats{ grid-template-columns:repeat(2,1fr); } }

/* MURO DE MARCAS */
.ory-brands{ display:flex; flex-wrap:wrap; gap:10px; }
.ory-brand{
  font-family:var(--ory-display); font-weight:600; font-size:15px; letter-spacing:-.01em;
  padding:10px 16px; border:1.5px solid var(--ory-ink); text-decoration:none; color:var(--ory-ink);
  transition:background .12s ease, color .12s ease;
}
.ory-brand:hover{ background:var(--ory-cobalt); border-color:var(--ory-cobalt); color:#fff; }

/* Botón en la banda PACKS mint: ink por defecto (contraste fuerte sobre verde),
   cobalto en hover. Antes era cobalto sobre mint que en algunos paneles costaba ver. */
.ory-packs .ory-btn--cobalt{ background:var(--ory-ink) !important; border-color:var(--ory-ink) !important; color:#fff !important; }
.ory-packs .ory-btn--cobalt:hover{ background:var(--ory-cobalt) !important; border-color:var(--ory-cobalt) !important; color:#fff !important; transform:translateY(-2px); }

/* PACKS / ENVÍO GRATIS */
.ory-packs{ background:var(--ory-mint); border:1.5px solid var(--ory-ink); padding:clamp(28px,4vw,44px); }
.ory-packs__k{ font-family:var(--ory-mono); font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--ory-cobalt); margin:0 0 8px; }
.ory-packs__h{ font-family:var(--ory-display); font-weight:800; font-size:clamp(26px,4vw,40px); letter-spacing:-.02em; margin:0 0 16px; }
.ory-packs__list{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:8px; max-width:620px; }
.ory-packs__list li{ font-size:15px; line-height:1.5; }
.ory-packs__list b{ font-weight:700; }

/* BANDA DE CONFIANZA */
.ory-trust{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--ory-ink); color:var(--ory-paper); }
.ory-trust__i{ padding:22px; display:flex; flex-direction:column; gap:5px; }
.ory-trust__i + .ory-trust__i{ border-left:1px solid rgba(255,255,255,.12); }
.ory-trust__t{ font-family:var(--ory-display); font-weight:700; font-size:16px; }
.ory-trust__d{ font-size:12.5px; line-height:1.45; opacity:.7; }
@media(max-width:860px){ .ory-trust{ grid-template-columns:repeat(2,1fr); } .ory-trust__i:nth-child(2n){ border-left:1px solid rgba(255,255,255,.12); } .ory-trust__i:nth-child(n+3){ border-top:1px solid rgba(255,255,255,.12); } }

/* FAQ */
.ory-q{ border-bottom:1px solid var(--ory-line); }
.ory-q > summary{ list-style:none; cursor:pointer; font-family:var(--ory-display); font-weight:600; font-size:17px; padding:16px 30px 16px 0; position:relative; }
.ory-q > summary::-webkit-details-marker{ display:none; }
.ory-q > summary::after{ content:"+"; position:absolute; right:4px; top:14px; font-family:var(--ory-mono); font-size:20px; color:var(--ory-cobalt); }
.ory-q[open] > summary::after{ content:"–"; }
.ory-q > p{ margin:0; padding:0 0 18px; font-size:14.5px; line-height:1.6; opacity:.8; max-width:760px; }
.ory-q > p a{ color:var(--ory-cobalt); }

/* NEWSLETTER */
.ory-news{ border:1.5px solid var(--ory-ink); padding:clamp(28px,4vw,44px); text-align:center; }
.ory-news__h{ font-family:var(--ory-display); font-weight:800; font-size:clamp(24px,3.5vw,34px); letter-spacing:-.02em; margin:0 0 8px; }
.ory-news__d{ font-size:14.5px; opacity:.7; margin:0 0 22px; }
.ory-news__form{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.ory-news__form input{ font-family:var(--ory-body); font-size:15px; padding:12px 16px; border:1.5px solid var(--ory-ink); border-radius:0; min-width:280px; background:#fff; }
.ory-news__form input:focus{ outline:none; border-color:var(--ory-cobalt); }

/* =====================================================================
   FOOTER (sustituye widgets/crédito de Storefront)
   ===================================================================== */
.site-footer#colophon{ background:var(--ory-paper); color:var(--ory-ink); border-top:3px solid var(--ory-cobalt); padding:46px 0 26px; }
.ory-foot__cols{ display:grid; grid-template-columns:1fr 1fr 1fr 1.4fr; gap:34px; }
.ory-foot__col h3{ font-family:var(--ory-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ory-cobalt); margin:0 0 14px; }
.ory-foot__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.ory-foot__col a{ color:var(--ory-ink); text-decoration:none; font-size:14px; opacity:.88; }
.ory-foot__col a:hover{ opacity:1; color:var(--ory-cobalt); }
.ory-foot__logo{ font-family:var(--ory-display); font-weight:800; font-size:26px; letter-spacing:-.03em; color:var(--ory-ink); text-decoration:none; text-transform:lowercase; }
.ory-foot__logo::first-letter{ font-size:1.75em; font-weight:900; letter-spacing:-.08em; text-transform:uppercase; line-height:.8; display:inline-block; vertical-align:-3px; }
.ory-foot__logo span{ color:var(--ory-cobalt); }
.ory-foot__claim{ font-size:13px; opacity:.7; margin:10px 0 14px; max-width:280px; }
.ory-foot__pay{ font-family:var(--ory-mono); font-size:11px; letter-spacing:.04em; opacity:.55; margin:0; }
.ory-foot__bar{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:34px; padding-top:18px; border-top:1px solid var(--ory-line); font-family:var(--ory-mono); font-size:11px; opacity:.6; }
@media(max-width:860px){ .ory-foot__cols{ grid-template-columns:1fr 1fr; gap:26px; } .ory-foot__brand{ grid-column:1 / -1; } }
@media(max-width:480px){ .ory-foot__cols{ grid-template-columns:1fr; } }

/* =====================================================================
   MOTOR DE CESTA — barra de envío gratis + cross-sell
   ===================================================================== */
.ory-shipbar{ border:1.5px solid var(--ory-ink); background:#fff; padding:14px 16px; margin:0 0 22px; }
.ory-shipbar__msg{ margin:0 0 10px; font-size:14.5px; }
.ory-shipbar__msg strong{ font-weight:700; }
.ory-shipbar__msg--ok{ color:var(--ory-mint-d); }
.ory-shipbar__track{ height:8px; background:var(--ory-line); position:relative; overflow:hidden; }
.ory-shipbar__track span{ display:block; height:100%; background:var(--ory-cobalt); transition:width .35s ease; }
.ory-complete{ margin-top:42px; border-top:1.5px solid var(--ory-ink); padding-top:22px; }
.ory-complete__h{ font-family:var(--ory-display); font-weight:700; font-size:23px; letter-spacing:-.02em; margin:0 0 4px; }
.ory-complete__d{ font-size:13px; opacity:.7; margin:0 0 16px; }
/* Descuento por cantidad: resaltar la línea de fee negativo en el carrito. */
.cart_totals .fee td,
.woocommerce-checkout-review-order-table .fee td{ color:var(--ory-mint-d); font-weight:600; }

/* =====================================================================
   HERO DE PÁGINA VERTICAL (marroquinería, perfumería, deco…)
   ===================================================================== */
.ory-vhero{ background:var(--ory-ink); color:var(--ory-paper); padding:clamp(30px,5vw,60px) clamp(20px,4vw,48px); margin:0 0 30px; }
.ory-vhero .kicker{ font-family:var(--ory-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ory-cobalt-l); margin:0 0 12px; }
.ory-vhero h1{ font-family:var(--ory-display); font-weight:800; font-size:clamp(36px,5vw,56px); line-height:1; letter-spacing:-.03em; margin:0 0 14px; color:#fff; }
.ory-vhero .sub{ max-width:600px; font-size:15px; line-height:1.5; opacity:.82; margin:0; }
/* En páginas con hero, ocultar el título WP (Storefront lo pinta arriba).
   :has limita el ocultado a páginas que de hecho llevan hero — sin afectar FAQ, etc. */
body:has(.ory-vhero) .entry-header{ display:none; }
body:has(.ory-vhero) .entry-content > .ory-vhero{ margin-top:0; }

/* =====================================================================
   WISHLIST OVERLAY EN CARDS (TI Wishlist) — corazón flotante esquina
   inferior derecha sobre la imagen del producto. Sustituye al "Add to
   Wishlist" textual feo por un botón circular que rellena al click.
   Layout final: ¡Oferta! top-left · Original top-right · ♥ bottom-right.
   JS en functions.php (oryndia_move_wishlist_button_into_media) mueve el
   botón dentro de .ory-card-media para que el absolute se ancle a la imagen.
   ===================================================================== */
.woocommerce ul.products li.product .ory-card-media,
.woocommerce-page ul.products li.product .ory-card-media{
  position:relative;
}
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button,
.woocommerce-page ul.products li.product .tinvwl_add_to_wishlist_button{
  position:absolute !important;
  bottom:10px; right:10px;
  top:auto; left:auto;
  z-index:5;
  width:38px; height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  border:1.5px solid var(--ory-ink);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
  box-shadow:0 2px 6px rgba(14,14,12,.08);
  padding:0;
  margin:0 !important;
  text-decoration:none !important;
}
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:hover{
  transform:scale(1.08);
  background:#fff;
  border-color:var(--ory-cobalt);
}
/* Ocultar el texto "Guardar en favoritos" (queda como aria-label/tooltip) */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist-text{
  position:absolute !important;
  width:1px; height:1px;
  overflow:hidden; clip:rect(0 0 0 0);
  white-space:nowrap;
}
/* El icono SVG/heart que mete el plugin */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button .tinvwl_add_to_wishlist_button-icon,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button::before{
  width:18px; height:18px;
  color:var(--ory-ink);
  fill:none;
  stroke:var(--ory-ink);
  stroke-width:1.8;
  font-size:0; /* esconde el ::before "♥" de la fuente */
}
/* El plugin usa font-icon con ::before — lo reemplazo con SVG inline via mask */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button::before{
  content:'';
  display:block;
  background-color:var(--ory-ink);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") center/contain no-repeat;
}
/* Cuando ya está en la wishlist (clase que añade el plugin) → corazón relleno cobalt */
.woocommerce ul.products li.product .tinvwl-product-in-list .tinvwl_add_to_wishlist_button::before,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before{
  background-color:var(--ory-cobalt);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a3aff' stroke='%231a3aff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") center/contain no-repeat;
}
.woocommerce ul.products li.product .tinvwl-product-in-list .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button.tinvwl-product-in-list{
  border-color:var(--ory-cobalt);
}

/* =====================================================================
   HOME: 3 SECCIONES GIGANTES (Moda · Perfumería · Hogar)
   Sustituyen al antiguo "Comprar por categoría". Cada vertical = un tile
   editorial grande (aspect-ratio 4:5 portrait), con kicker + nombre +
   descripción + CTA. Si hay imagen IA en assets/verticals/ se usa; si no
   se usa un gradient brand para no romper layout.
   ===================================================================== */
.ory-sec--verticals .ory-sec__head{ text-align:center; margin-bottom:30px; }
.ory-sec--verticals .ory-sec__h{
  font-family:var(--ory-display);
  font-weight:800;
  font-size:clamp(28px,3.6vw,46px);
  letter-spacing:-.03em;
  margin:0 0 8px;
}
.ory-sec--verticals .ory-sec__sub{
  font-family:var(--ory-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ory-muted, #8a857a);
}

.ory-verticals{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin:0 0 60px;
}
@media (max-width: 900px){
  .ory-verticals{ grid-template-columns:1fr; gap:14px; }
}

.ory-vertical{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  aspect-ratio: 4 / 5;
  padding:clamp(24px,3vw,40px);
  text-decoration:none;
  color:#fff;
  background-color:var(--ory-ink);
  background-size:cover;
  background-position:center 22%;
  overflow:hidden;
  border:1.5px solid var(--ory-ink);
  transition:transform .2s ease, box-shadow .2s ease;
  isolation:isolate;
}
.ory-vertical::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg,
    rgba(14,14,12,.15) 0%,
    rgba(14,14,12,.45) 45%,
    rgba(14,14,12,.88) 100%);
  z-index:1;
}
.ory-vertical > *{ position:relative; z-index:2; }
.ory-vertical:hover{
  transform:translate(-4px,-4px);
  box-shadow:8px 8px 0 var(--ory-cobalt);
}

.ory-vertical__kicker{
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.7;
  margin:0 0 8px;
}
.ory-vertical__h{
  font-family:var(--ory-display);
  font-weight:800;
  font-size:clamp(34px,4vw,56px);
  line-height:1;
  letter-spacing:-.03em;
  margin:0 0 14px;
  color:#fff;
}
.ory-vertical__d{
  font-size:14px;
  line-height:1.45;
  margin:0 0 22px;
  max-width:30ch;
  opacity:.9;
}
.ory-vertical__cta{
  font-family:var(--ory-mono);
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1.5px solid #fff;
  padding:10px 18px;
  align-self:flex-start;
  transition:background .15s ease, color .15s ease;
}
.ory-vertical:hover .ory-vertical__cta{
  background:#fff;
  color:var(--ory-ink);
}
.ory-vertical.is-soon .ory-vertical__cta{
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.85);
}
.ory-vertical.is-soon::after{
  content:"PRÓXIMAMENTE";
  position:absolute;
  top:14px; right:14px;
  z-index:3;
  font-family:var(--ory-mono);
  font-size:10px;
  letter-spacing:.12em;
  background:var(--ory-gold, #c6a052);
  color:#fff;
  padding:6px 10px;
  border-radius:2px;
}

/* =====================================================================
   PÁGINAS VERTICALES (/moda/, /perfumeria/, /hogar/)
   ===================================================================== */
.ory-vertical-page{ margin:0 0 60px; }

.ory-vhero-big{
  position:relative;
  min-height:clamp(300px, 38vw, 480px);
  background-color:var(--ory-ink);
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:clamp(40px,5vw,80px) clamp(20px,4vw,60px);
  display:flex; align-items:flex-end;
  margin:0 0 50px;
  isolation:isolate;
}
.ory-vhero-big::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(14,14,12,.35) 0%, rgba(14,14,12,.75) 100%);
  z-index:1;
}
.ory-vhero-big__in{ position:relative; z-index:2; max-width:780px; }
.ory-vhero-big__kicker{
  font-family:var(--ory-mono); font-size:12px;
  letter-spacing:.14em; text-transform:uppercase;
  opacity:.8; display:block; margin:0 0 16px;
}
.ory-vhero-big__h{
  font-family:var(--ory-display); font-weight:800;
  font-size:clamp(46px,7vw,86px); line-height:.95;
  letter-spacing:-.04em; margin:0 0 18px; color:#fff;
}
.ory-vhero-big__d{
  font-size:clamp(16px,1.4vw,20px); line-height:1.5;
  max-width:560px; margin:0; opacity:.9;
}

/* Sub-secciones (Mujer/Hombre/Niña/Niño/Outlet) */
.ory-subs{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
  margin:0 0 60px;
}
@media (max-width: 900px){ .ory-subs{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 480px){ .ory-subs{ grid-template-columns:1fr; } }
.ory-sub{
  position:relative;
  aspect-ratio: 3/4;
  display:flex; align-items:flex-end;
  padding:18px;
  background-color:#1a1a1a;
  background-size:cover;
  background-position:center 22%;
  color:#fff; text-decoration:none;
  border:1.5px solid var(--ory-ink);
  overflow:hidden;
  transition:transform .15s ease;
  isolation:isolate;
}
.ory-sub::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(14,14,12,.85) 0%, rgba(14,14,12,.25) 60%, transparent 100%);
  z-index:1;
}
.ory-sub > *{ position:relative; z-index:2; }
.ory-sub:hover{ transform:translateY(-4px); }
.ory-sub__n{
  font-family:var(--ory-display); font-weight:700;
  font-size:22px; letter-spacing:-.02em;
}

/* Marcas grid */
.ory-brands-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
  margin:0 0 60px;
}
@media (max-width: 1100px){ .ory-brands-grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 700px){ .ory-brands-grid{ grid-template-columns:repeat(2, 1fr); } }
.ory-brand-tile{
  position:relative;
  aspect-ratio: 16/10;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:14px;
  background-color:var(--ory-ink);
  background-size:cover;
  background-position:center;
  color:#fff; text-decoration:none;
  border:1.5px solid var(--ory-ink);
  overflow:hidden;
  transition:transform .15s ease;
  isolation:isolate;
}
.ory-brand-tile::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(14,14,12,.85) 0%, rgba(14,14,12,.35) 50%, rgba(14,14,12,.1) 100%);
  z-index:1;
}
.ory-brand-tile > *{ position:relative; z-index:2; }
.ory-brand-tile:hover{ transform:translateY(-3px); }
.ory-brand-tile__n{
  font-family:var(--ory-display); font-weight:800;
  font-size:18px; letter-spacing:.02em;
  text-transform:uppercase;
  display:block; margin:0 0 4px;
}
.ory-brand-tile__c{
  font-family:var(--ory-mono); font-size:10px;
  letter-spacing:.08em; text-transform:uppercase;
  opacity:.75;
}

/* Lista de espera para verticales "soon" */
.ory-soon{
  background:var(--ory-paper, #f4f1ea);
  border:1.5px solid var(--ory-ink);
  padding:clamp(40px,5vw,80px) clamp(20px,4vw,60px);
  text-align:center;
  margin:0 0 60px;
}
.ory-soon__in{ max-width:560px; margin:0 auto; }
.ory-soon__h{
  font-family:var(--ory-display); font-weight:800;
  font-size:clamp(28px,3vw,40px); line-height:1.1;
  letter-spacing:-.02em; margin:0 0 14px;
}
.ory-soon__d{ font-size:15px; line-height:1.5; margin:0 0 26px; opacity:.78; }
.ory-soon__form{ display:flex; gap:10px; max-width:440px; margin:0 auto; }
.ory-soon__form input[type=email]{
  flex:1; padding:14px 16px;
  border:1.5px solid var(--ory-ink); background:#fff;
  font-family:var(--ory-body); font-size:15px;
}
.ory-soon__form button{ flex:0 0 auto; }
@media (max-width:560px){ .ory-soon__form{ flex-direction:column; } }

/* =====================================================================
   SHOP TOOLBAR + FILTER DRAWER off-canvas (sustituye al sidebar fijo).
   Botón "Filtros" abre panel lateral derecho con backdrop dimmed.
   ===================================================================== */
.ory-shop-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:14px 0 18px;
  border-bottom:1px solid rgba(14,14,12,.08);
  margin:0 0 24px;
}
.ory-filter-trigger{
  -webkit-appearance:none; appearance:none;
  background:#fff; border:1.5px solid var(--ory-ink); color:var(--ory-ink);
  padding:9px 14px;
  font-family:var(--ory-mono); font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  transition:background .12s, color .12s;
}
.ory-filter-trigger:hover{ background:var(--ory-ink); color:#fff; }
.ory-filter-count{
  background:var(--ory-cobalt); color:#fff;
  font-family:var(--ory-mono); font-size:10px; font-weight:700;
  width:18px; height:18px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
.ory-shop-results, .ory-shop-results .woocommerce-result-count{
  font-family:var(--ory-mono); font-size:12px;
  letter-spacing:.05em; color:var(--ory-muted, #8a857a);
  margin:0 !important;
}

.ory-drawer-wrap{ position:fixed; inset:0; z-index:1000; pointer-events:none; }
.ory-drawer-backdrop{
  position:absolute; inset:0;
  background:rgba(14,14,12,.45);
  opacity:0; transition:opacity .25s ease;
  backdrop-filter:blur(2px);
}
.ory-drawer-wrap.is-open{ pointer-events:auto; }
.ory-drawer-wrap.is-open .ory-drawer-backdrop{ opacity:1; }
.ory-drawer{
  position:absolute; top:0; right:-380px;
  width:min(380px, 92vw); height:100vh;
  background:#fff;
  border-left:1.5px solid var(--ory-ink);
  display:flex; flex-direction:column;
  transition:right .28s cubic-bezier(.4,0,.2,1);
  box-shadow:-10px 0 30px rgba(14,14,12,.12);
}
.ory-drawer-wrap.is-open .ory-drawer{ right:0; }
.ory-drawer__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px;
  border-bottom:1.5px solid var(--ory-ink);
}
.ory-drawer__title{
  font-family:var(--ory-display); font-weight:800;
  font-size:22px; letter-spacing:-.02em;
}
.ory-drawer__close{
  -webkit-appearance:none; appearance:none;
  background:transparent; border:none; color:var(--ory-ink);
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; border-radius:999px;
  transition:background .12s;
}
.ory-drawer__close:hover{ background:rgba(14,14,12,.08); }
.ory-drawer__body{ flex:1; overflow-y:auto; padding:6px 20px 18px; }
.ory-drawer__foot{
  border-top:1.5px solid var(--ory-ink);
  padding:14px 20px;
  display:flex; gap:12px; align-items:center;
  background:var(--ory-paper, #f4f1ea);
}
.ory-drawer__reset{
  flex:0 0 auto;
  font-family:var(--ory-mono); font-size:11px;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--ory-ink); text-decoration:underline; text-underline-offset:3px;
}
.ory-drawer__apply{
  -webkit-appearance:none; appearance:none;
  flex:1;
  background:var(--ory-ink); color:#fff; border:none;
  padding:14px 22px;
  font-family:var(--ory-mono); font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  cursor:pointer; transition:background .15s;
}
.ory-drawer__apply:hover{ background:var(--ory-cobalt); }

.ory-drawer__body .oryndia-filter-bar{
  display:flex !important; flex-direction:column !important;
  gap:0 !important; padding:0 !important;
  background:transparent !important; border:none !important;
  position:static !important;
  max-height:none !important; overflow:visible !important;
  width:100% !important;
}
.ory-drawer__body .oryndia-filter-bar details.fdrop{
  border:none;
  border-bottom:1px solid rgba(14,14,12,.1);
  background:transparent;
  padding:18px 0;
}
.ory-drawer__body .oryndia-filter-bar details.fdrop:last-child{ border-bottom:none; }
.ory-drawer__body .oryndia-filter-bar details.fdrop summary{
  cursor:pointer;
  font-family:var(--ory-mono); font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  margin:0 0 14px; padding:0; list-style:none;
  display:flex; align-items:center; justify-content:space-between;
}
.ory-drawer__body .oryndia-filter-bar details.fdrop summary::after{
  content:"−"; font-family:var(--ory-mono); font-size:16px; line-height:1;
}
.ory-drawer__body .oryndia-filter-bar details.fdrop:not([open]) summary::after{ content:"+"; }
.ory-drawer__body .oryndia-filter-bar details.fdrop .filter-panel{
  position:static !important; display:block !important;
  box-shadow:none !important; border:none !important;
  padding:0 !important; background:transparent !important;
  z-index:auto !important; width:auto !important;
  min-width:0 !important; max-height:none !important;
}
.ory-drawer__body .filter-panel ul,
.ory-drawer__body .filter-panel .opts{
  display:flex; flex-direction:column; gap:8px;
  max-height:280px; overflow-y:auto;
  padding:2px 4px 2px 0;
}
.ory-drawer__body .filter-panel a{
  display:block; padding:5px 0;
  font-size:14px; color:var(--ory-ink); text-decoration:none;
}
.ory-drawer__body .filter-panel a:hover{ color:var(--ory-cobalt); }
.ory-drawer__body .filter-panel a.is-selected{
  color:var(--ory-cobalt); font-weight:600;
}
.ory-drawer__body .applied-row{
  background:rgba(26,58,255,.08);
  padding:12px 14px; margin:0 -20px 18px;
  border-bottom:1px solid rgba(14,14,12,.08);
  font-family:var(--ory-mono); font-size:11px; letter-spacing:.06em;
}
.ory-drawer__body .applied-row .pill{
  display:inline-flex; align-items:center; gap:4px;
  background:#fff; border:1px solid var(--ory-ink);
  padding:4px 10px; margin:2px 4px 2px 0; font-size:11px;
}

/* Neutralizar el viejo grid sidebar (queda en CSS pero no se aplica más) */
.col-full.has-shop-sidebar{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
}

/* =====================================================================
   SPRINT A — CONFIANZA: trust badges + delivery + stock urgency + cart drawer
   + newsletter cupón + hover image
   ===================================================================== */

/* Trust badges (4 sellos bajo add to cart) */
.ory-trust-badges{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  margin:24px 0 0;
  padding:18px 0 0;
  border-top:1px solid rgba(14,14,12,.08);
}
@media (max-width:680px){ .ory-trust-badges{ grid-template-columns:repeat(2,1fr); } }
.ory-trust-badge{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:4px;
  padding:8px 0;
}
.ory-trust-badge__ic{
  color:var(--ory-cobalt);
  display:inline-flex;
}
.ory-trust-badge__t{
  font-family:var(--ory-body);
  font-weight:600;
  font-size:12px;
  color:var(--ory-ink);
  letter-spacing:.01em;
}
.ory-trust-badge__d{
  font-family:var(--ory-mono);
  font-size:10px;
  color:var(--ory-muted, #8a857a);
  letter-spacing:.04em;
}

/* Delivery estimator */
.ory-delivery-est{
  display:flex; align-items:center; gap:10px;
  background:rgba(184,236,208,.18);
  border:1px solid rgba(14,14,12,.08);
  padding:12px 14px;
  margin:14px 0 0;
  font-family:var(--ory-body);
  font-size:13px;
  color:var(--ory-ink);
}
.ory-delivery-est svg{ color:var(--ory-mint-d, #2e8a5f); flex:0 0 auto; }

/* Stock urgency */
.ory-stock-urgency{
  display:inline-flex;
  background:rgba(198,160,82,.12);
  border:1px solid var(--ory-gold, #c6a052);
  color:var(--ory-gold-d, #b68f3e);
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.06em;
  padding:6px 10px;
  margin:8px 0;
}

/* Cart drawer (mismo patrón que filtros pero color paper) */
.ory-cart-drawer-wrap{ position:fixed; inset:0; z-index:1001; pointer-events:none; }
.ory-cart-backdrop{
  position:absolute; inset:0;
  background:rgba(14,14,12,.45);
  opacity:0; transition:opacity .25s ease;
  backdrop-filter:blur(2px);
}
.ory-cart-drawer-wrap.is-open{ pointer-events:auto; }
.ory-cart-drawer-wrap.is-open .ory-cart-backdrop{ opacity:1; }
.ory-cart-drawer{
  position:absolute; top:0; right:-420px;
  width:min(420px, 95vw); height:100vh;
  background:#fff;
  border-left:1.5px solid var(--ory-ink);
  display:flex; flex-direction:column;
  transition:right .28s cubic-bezier(.4,0,.2,1);
  box-shadow:-10px 0 30px rgba(14,14,12,.14);
}
.ory-cart-drawer-wrap.is-open .ory-cart-drawer{ right:0; }
.ory-cart-drawer__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px;
  border-bottom:1.5px solid var(--ory-ink);
  background:var(--ory-paper, #f4f1ea);
}
.ory-cart-drawer__title{
  font-family:var(--ory-display); font-weight:800;
  font-size:22px; letter-spacing:-.02em;
}
.ory-cart-drawer__close{
  -webkit-appearance:none; appearance:none;
  background:transparent; border:none; color:var(--ory-ink);
  width:36px; height:36px; cursor:pointer; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .12s;
}
.ory-cart-drawer__close:hover{ background:rgba(14,14,12,.08); }
.ory-cart-drawer__body{
  flex:1; overflow-y:auto; padding:18px 20px;
}
.ory-cart-drawer__body .product_list_widget{
  list-style:none; padding:0; margin:0;
}
.ory-cart-drawer__body .product_list_widget li{
  display:grid;
  grid-template-columns:60px 1fr auto;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid rgba(14,14,12,.08);
}
.ory-cart-drawer__body .product_list_widget img{
  width:60px; height:60px;
  object-fit:cover;
  border:1px solid rgba(14,14,12,.1);
}
.ory-cart-drawer__body .product_list_widget .quantity{
  font-family:var(--ory-mono); font-size:12px;
  color:var(--ory-muted, #8a857a);
  display:block; margin-top:4px;
}
.ory-cart-drawer__body .total{
  margin-top:18px; padding-top:14px;
  border-top:1.5px solid var(--ory-ink);
  font-family:var(--ory-mono);
  font-size:14px; font-weight:600;
}
.ory-cart-drawer__body .total strong{
  color:var(--ory-cobalt); font-size:18px;
}
.ory-cart-drawer__body .buttons{
  display:flex; flex-direction:column; gap:10px;
  margin-top:18px;
}
.ory-cart-drawer__body .buttons a{
  display:block; text-align:center;
  padding:13px 18px;
  font-family:var(--ory-mono); font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  text-decoration:none;
}
.ory-cart-drawer__body .buttons a.button:not(.checkout){
  border:1.5px solid var(--ory-ink); color:var(--ory-ink); background:#fff;
}
.ory-cart-drawer__body .buttons a.checkout{
  background:var(--ory-ink); color:#fff;
}
.ory-cart-drawer__body .buttons a.checkout:hover{ background:var(--ory-cobalt); }
.ory-cart-drawer__body .woocommerce-mini-cart__empty-message{
  text-align:center; padding:40px 20px;
  font-family:var(--ory-body);
  color:var(--ory-muted, #8a857a);
}

/* Newsletter OK message */
.ory-news__ok{
  background:rgba(184,236,208,.2);
  border:1.5px solid var(--ory-mint-d, #2e8a5f);
  padding:18px 20px;
  text-align:center;
  font-family:var(--ory-body);
}
.ory-news__ok code{
  display:inline-block;
  margin:8px 0;
  padding:8px 14px;
  background:var(--ory-ink); color:#fff;
  font-family:var(--ory-mono);
  font-size:16px; font-weight:600;
  letter-spacing:.1em;
}

/* =====================================================================
   SPRINT B — LANDING DE MARCA (/marca/X/)
   ===================================================================== */
.ory-brand-page{ margin:0 0 60px; }

.ory-brand-hero{
  position:relative;
  min-height:clamp(280px, 36vw, 440px);
  background-color:var(--ory-ink);
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:clamp(40px,5vw,80px) clamp(20px,4vw,60px);
  display:flex; align-items:flex-end;
  margin:0 0 40px;
  isolation:isolate;
}
.ory-brand-hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(14,14,12,.4) 0%, rgba(14,14,12,.8) 100%);
  z-index:1;
}
.ory-brand-hero__in{ position:relative; z-index:2; max-width:680px; }
.ory-brand-hero__kicker{
  font-family:var(--ory-mono); font-size:12px;
  letter-spacing:.14em; text-transform:uppercase;
  opacity:.8; display:block; margin:0 0 14px;
}
.ory-brand-hero__h{
  font-family:var(--ory-display); font-weight:800;
  font-size:clamp(42px,6vw,76px); line-height:.95;
  letter-spacing:-.04em; margin:0 0 14px; color:#fff;
  text-transform:uppercase;
}
.ory-brand-hero__bio{
  font-size:clamp(15px,1.3vw,18px); line-height:1.55;
  max-width:540px; margin:0 0 18px; opacity:.9;
}
.ory-brand-hero__meta{
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.85;
}
.ory-brand-empty{
  padding:60px 20px; text-align:center;
  font-family:var(--ory-body);
  color:var(--ory-muted, #8a857a);
}

/* =====================================================================
   SPRINT C — TRACKING SIN LOGIN (/seguimiento/)
   ===================================================================== */
.ory-track{ max-width:560px; margin:30px auto 60px; padding:0 20px; }
.ory-track__form{
  background:#fff;
  border:1.5px solid var(--ory-ink);
  padding:30px;
  display:flex; flex-direction:column; gap:14px;
}
.ory-track__form h2{
  font-family:var(--ory-display); font-weight:800;
  font-size:24px; letter-spacing:-.02em;
  margin:0 0 4px;
}
.ory-track__form p{ font-size:14px; color:var(--ory-muted, #8a857a); margin:0 0 6px; }
.ory-track__form label{
  font-family:var(--ory-mono); font-size:11px;
  letter-spacing:.08em; text-transform:uppercase;
  display:flex; flex-direction:column; gap:6px;
}
.ory-track__form input{
  padding:12px 14px;
  border:1.5px solid var(--ory-ink); background:#fff;
  font-family:var(--ory-body); font-size:15px;
}
.ory-track__found{
  background:var(--ory-paper, #f4f1ea);
  border:1.5px solid var(--ory-ink);
  padding:24px 26px;
  margin:0 0 24px;
}
.ory-track__found h2{
  font-family:var(--ory-display); font-weight:800;
  font-size:22px; letter-spacing:-.02em;
  margin:0 0 18px;
}
.ory-track__meta{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:8px 14px;
  margin:0 0 18px;
  font-family:var(--ory-mono);
  font-size:13px;
}
.ory-track__meta dt{
  font-size:11px; letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ory-muted, #8a857a);
}
.ory-track__tracking{
  font-size:14px;
  padding:12px 14px;
  background:rgba(184,236,208,.18);
  border-left:3px solid var(--ory-mint-d, #2e8a5f);
  margin:0 0 14px;
}
.ory-track__help{
  font-size:13px;
  color:var(--ory-muted, #8a857a);
  margin:0;
}
.ory-track__error{
  padding:14px 18px;
  background:rgba(198,80,52,.1);
  border-left:3px solid #c65034;
  margin:0 0 20px;
  font-size:14px;
}

/* =====================================================================
   DRAWER FILTROS V2 — PROFESIONAL (Zalando-grade restyle).
   Sobrescribe el styling base de inc/filter-bar.php cuando está dentro del
   drawer: pills de talla, swatches de color (placeholder), checks cobalt,
   contadores en pills, padding generoso, header de sección grande.
   ===================================================================== */
.ory-shop-toolbar{ padding:20px 0 22px; }
.ory-filter-trigger{
  padding:12px 20px;
  font-size:13px; font-weight:600; letter-spacing:.06em;
  gap:10px; border-width:1.5px; border-radius:0;
  box-shadow:0 1px 0 rgba(14,14,12,.04);
}
.ory-filter-trigger svg{ width:20px; height:20px; }
.ory-filter-trigger:hover{
  background:var(--ory-cobalt);
  border-color:var(--ory-cobalt); color:#fff;
}
.ory-filter-count{ width:22px; height:22px; font-size:11px; }
.ory-filter-trigger:hover .ory-filter-count{ background:#fff; color:var(--ory-cobalt); }

.ory-drawer{ width:min(420px, 95vw); }
.ory-drawer__head{ padding:22px 24px; background:#fff; }
.ory-drawer__title{ font-size:24px; }
.ory-drawer__body{ padding:0 24px 20px; }

.ory-drawer__body .oryndia-filter-bar details.fdrop{
  padding:22px 0 18px;
  border-bottom:1px solid rgba(14,14,12,.08);
}
.ory-drawer__body .oryndia-filter-bar details.fdrop summary{
  font-family:var(--ory-display) !important;
  font-weight:700 !important;
  font-size:15px !important;
  letter-spacing:-.005em !important;
  text-transform:none !important;
  color:var(--ory-ink) !important;
  margin:0 0 14px !important;
  cursor:pointer;
}
.ory-drawer__body .oryndia-filter-bar details.fdrop summary .car{ display:none !important; }
.ory-drawer__body .oryndia-filter-bar details.fdrop summary::after{
  font-size:20px !important;
  width:24px; height:24px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(14,14,12,.15);
  border-radius:50%;
  line-height:1 !important;
  flex-shrink:0;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel h4{ display:none !important; }

.ory-drawer__body .oryndia-filter-bar .filter-panel .row,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cat-row{
  display:flex !important; align-items:center !important;
  gap:12px !important;
  padding:10px 8px !important;
  margin:0 -8px;
  font-family:var(--ory-body) !important;
  font-size:14px !important;
  color:var(--ory-ink) !important;
  text-decoration:none !important;
  border-radius:4px;
  transition:background .12s;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .row:hover,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cat-row:hover{
  background:rgba(26,58,255,.05);
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .row.on,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cat-row.on{
  color:var(--ory-cobalt) !important;
  font-weight:600;
}

.ory-drawer__body .oryndia-filter-bar .filter-panel .bx{
  width:18px !important; height:18px !important;
  border:1.5px solid var(--ory-ink) !important;
  background:#fff !important;
  border-radius:3px !important;
  display:inline-block !important;
  flex-shrink:0;
  position:relative;
  transition:background .12s, border-color .12s;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .bx.on,
.ory-drawer__body .oryndia-filter-bar .filter-panel .row.on .bx,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cat-row.on .bx{
  background:var(--ory-cobalt) !important;
  border-color:var(--ory-cobalt) !important;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .bx.on::after,
.ory-drawer__body .oryndia-filter-bar .filter-panel .row.on .bx::after,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cat-row.on .bx::after{
  content:"";
  position:absolute; top:3px; left:5px;
  width:4px; height:8px;
  border:solid #fff; border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.ory-drawer__body .oryndia-filter-bar .filter-panel .ct{
  margin-left:auto !important;
  font-family:var(--ory-mono) !important;
  font-size:11px !important;
  color:var(--ory-muted, #8a857a) !important;
  background:rgba(14,14,12,.04);
  padding:2px 7px;
  border-radius:10px;
  flex-shrink:0;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .row.on .ct,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cat-row.on .ct{
  background:rgba(26,58,255,.12);
  color:var(--ory-cobalt) !important;
}

.ory-drawer__body .oryndia-filter-bar .filter-panel{ max-height:none !important; }
.ory-drawer__body .oryndia-filter-bar .filter-panel > div{
  display:flex !important;
  flex-direction:column !important;
  max-height:320px;
  overflow-y:auto;
  padding-right:6px;
  scrollbar-width:thin;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel > div::-webkit-scrollbar{ width:6px; }
.ory-drawer__body .oryndia-filter-bar .filter-panel > div::-webkit-scrollbar-thumb{
  background:rgba(14,14,12,.2);
  border-radius:3px;
}

/* TALLAS como pills */
.ory-drawer__body .oryndia-filter-bar .filter-panel .szs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  max-height:none !important;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .szs .s{
  display:inline-flex !important;
  align-items:center; justify-content:center;
  min-width:46px;
  padding:9px 14px !important;
  border:1.5px solid var(--ory-ink) !important;
  background:#fff !important;
  color:var(--ory-ink) !important;
  font-family:var(--ory-mono) !important;
  font-size:12px !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:background .12s, color .12s;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .szs .s:hover{
  background:var(--ory-ink); color:#fff;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .szs .s.on{
  background:var(--ory-ink) !important;
  color:#fff !important;
}

/* COLORES como pills con swatch */
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  max-height:none !important;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols a{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:6px 12px 6px 6px !important;
  border:1.5px solid rgba(14,14,12,.15) !important;
  background:#fff !important;
  border-radius:999px;
  font-family:var(--ory-body) !important;
  font-size:12px !important;
  color:var(--ory-ink) !important;
  text-decoration:none !important;
  transition:border-color .12s, box-shadow .12s;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols a:hover{ border-color:var(--ory-ink) !important; }
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols a.on,
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols .row.on{
  border-color:var(--ory-cobalt) !important;
  box-shadow:0 0 0 1px var(--ory-cobalt);
  font-weight:600;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols a::before{
  content:"";
  display:inline-block;
  width:14px; height:14px;
  border-radius:50%;
  background:var(--ory-paper, #f4f1ea);
  border:1px solid rgba(14,14,12,.15);
  flex-shrink:0;
}

.ory-drawer__body .oryndia-filter-bar .filter-panel input[type=number],
.ory-drawer__body .oryndia-filter-bar .filter-panel input[type=text]{
  padding:10px 12px;
  border:1.5px solid var(--ory-ink);
  background:#fff;
  font-family:var(--ory-body);
  font-size:14px;
  width:100%;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel button{
  -webkit-appearance:none; appearance:none;
  background:var(--ory-ink);
  color:#fff; border:none;
  padding:12px 20px;
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  cursor:pointer;
  width:100%; margin-top:10px;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel button:hover{ background:var(--ory-cobalt); }

/* APPLIED FILTERS chips */
.ory-drawer__body .applied-row{
  background:rgba(26,58,255,.05);
  padding:16px 18px;
  margin:0 -24px 18px;
  border-bottom:1px solid rgba(14,14,12,.08);
  font-family:var(--ory-body);
  font-size:13px;
  letter-spacing:0;
}
.ory-drawer__body .applied-row strong{
  display:block;
  font-family:var(--ory-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ory-muted, #8a857a);
  margin:0 0 10px;
  font-weight:500;
}
.ory-drawer__body .applied-row .pill{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff;
  border:1.5px solid var(--ory-ink);
  color:var(--ory-ink);
  padding:5px 8px 5px 12px !important;
  margin:3px 6px 3px 0;
  font-family:var(--ory-body) !important;
  font-size:12px !important;
  border-radius:999px;
  text-decoration:none;
  transition:background .12s, color .12s;
}
.ory-drawer__body .applied-row .pill:hover{ background:var(--ory-ink); color:#fff; }
.ory-drawer__body .applied-row .pill::after{
  content:"x";
  font-size:14px; line-height:1;
  width:18px; height:18px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(14,14,12,.06);
  border-radius:50%;
  font-weight:700;
  text-transform:lowercase;
}
.ory-drawer__body .applied-row .pill:hover::after{ background:rgba(255,255,255,.2); }

.ory-drawer__foot{
  padding:18px 24px;
  background:#fff;
  border-top:1px solid rgba(14,14,12,.08);
  box-shadow:0 -8px 16px rgba(14,14,12,.04);
}
.ory-drawer__apply{
  background:var(--ory-cobalt);
  padding:16px 24px;
  font-size:13px;
  letter-spacing:.1em;
}
.ory-drawer__apply:hover{ background:var(--ory-ink); }

/* =====================================================================
   DRAWER FILTROS V3 — Zalando-grade extras (swatch real color, search box,
   "Ver más", chip de seleccionados por sección).
   ===================================================================== */

/* COLOR rows con swatch REAL + nombre + count (en lugar del círculo solo) */
.ory-drawer__body .oryndia-filter-bar .filter-panel .cols{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  max-height:none !important;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-row{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:10px 8px !important;
  margin:0 -8px;
  font-family:var(--ory-body) !important;
  font-size:14px !important;
  color:var(--ory-ink) !important;
  text-decoration:none !important;
  border-radius:4px;
  transition:background .12s;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-row:hover{
  background:rgba(26,58,255,.05);
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-row.on{
  color:var(--ory-cobalt) !important;
  font-weight:600;
}
/* Swatch REAL con el hex servido por PHP */
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-swatch{
  width:20px !important;
  height:20px !important;
  border-radius:50% !important;
  border:1.5px solid rgba(14,14,12,.2) !important;
  display:inline-block !important;
  flex-shrink:0;
  position:relative;
  background-size:cover !important;
  background-position:center !important;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-row.on .co-swatch{
  border-color:var(--ory-cobalt) !important;
  box-shadow:0 0 0 2px rgba(26,58,255,.15);
}
/* Hide el ::before del antiguo selector .cols a — ya no aplica */
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-row::before{
  display:none !important;
}
.ory-drawer__body .oryndia-filter-bar .filter-panel .co-name{
  flex:1;
}

/* Search box dentro de un filtro */
.ory-filter-search{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  margin:0 -8px 12px;
  background:rgba(14,14,12,.04);
  border-radius:6px;
}
.ory-filter-search svg{
  color:var(--ory-muted, #8a857a);
  flex-shrink:0;
}
.ory-filter-search input{
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  padding:0;
  font-family:var(--ory-body);
  font-size:13px;
  color:var(--ory-ink);
}
.ory-filter-search input::placeholder{
  color:var(--ory-muted, #8a857a);
}

/* Botón "Mostrar todos" */
.ory-show-more{
  -webkit-appearance:none; appearance:none;
  background:transparent;
  border:none;
  border-top:1px solid rgba(14,14,12,.08);
  padding:14px 0 4px;
  margin:8px -4px 0;
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--ory-cobalt);
  cursor:pointer;
  width:calc(100% + 8px);
  text-align:left;
}
.ory-show-more:hover{
  color:var(--ory-ink);
}
.ory-drawer__body .ory-hidden-row{
  display:none !important;
}

/* Chip de seleccionados al lado del título de cada sección */
.ory-sel-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  background:var(--ory-cobalt);
  color:#fff;
  font-family:var(--ory-mono);
  font-size:11px;
  font-weight:700;
  border-radius:11px;
  margin-left:8px;
  flex-shrink:0;
}

/* Cuando una sección tiene seleccionados, el summary lleva el chip; arreglo
   el flex para que el +/- siga al final */
.ory-drawer__body .oryndia-filter-bar details.fdrop summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.ory-drawer__body .oryndia-filter-bar details.fdrop summary > :first-child + .ory-sel-count + *,
.ory-drawer__body .oryndia-filter-bar details.fdrop summary::after{
  margin-left:auto !important;
}

/* =====================================================================
   FILTROS V4 — PATRÓN PRIVALIA/VEEPEE
   Barra horizontal de botones (chips pill) que despliegan popovers
   estilo modal flotante. Chips de filtros aplicados muy visibles arriba.
   Esconde el drawer y vuelve al horizontal.
   ===================================================================== */

/* Ocultar el toolbar/drawer del approach anterior */
.ory-shop-toolbar,
.ory-drawer-wrap{ display:none !important; }

/* Layout principal */
.oryndia-filter-bar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  background:#fff !important;
  border:none !important;
  padding:0 0 14px !important;
  border-bottom:1px solid rgba(14,14,12,.06) !important;
  margin:8px 0 18px !important;
  position:relative !important;
  width:auto !important;
  overflow:visible !important;
  max-height:none !important;
  flex-direction:row !important;
}

/* Cada botón de filtro (Marca, Talla, Color, Precio, etc.) */
.oryndia-filter-bar details.fdrop{
  position:relative;
  border:1.5px solid var(--ory-ink) !important;
  background:#fff !important;
  padding:0 !important;
  border-bottom:1.5px solid var(--ory-ink) !important;
  border-radius:999px;
  transition:background .12s, color .12s;
}
.oryndia-filter-bar details.fdrop.on{
  background:var(--ory-cobalt) !important;
  border-color:var(--ory-cobalt) !important;
}
.oryndia-filter-bar details.fdrop.on summary{
  color:#fff !important;
}
.oryndia-filter-bar details.fdrop:hover:not([open]){
  background:rgba(26,58,255,.05) !important;
}

.oryndia-filter-bar details.fdrop summary{
  list-style:none !important;
  cursor:pointer;
  padding:10px 18px 10px 18px !important;
  font-family:var(--ory-body) !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:var(--ory-ink) !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  user-select:none;
  margin:0 !important;
  white-space:nowrap;
}
.oryndia-filter-bar details.fdrop summary::-webkit-details-marker{ display:none; }
.oryndia-filter-bar details.fdrop summary::after{
  content:"";
  width:8px; height:8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  display:inline-block;
  margin-left:4px;
  margin-bottom:3px;
  transition:transform .15s;
  border-radius:0 !important;
  background:transparent !important;
}
.oryndia-filter-bar details.fdrop[open] summary::after{
  transform:rotate(-135deg);
  margin-bottom:-3px;
}
.oryndia-filter-bar details.fdrop summary .car{ display:none !important; }

/* POPOVER que se abre */
.oryndia-filter-bar details.fdrop[open] .filter-panel,
.oryndia-filter-bar details.fdrop .filter-panel{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  left:0 !important;
  z-index:50 !important;
  width:min(380px, 90vw) !important;
  min-width:300px !important;
  max-height:480px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1.5px solid var(--ory-ink) !important;
  border-radius:0 !important;
  box-shadow:0 12px 32px rgba(14,14,12,.18) !important;
  padding:0 !important;
  display:none !important;
  flex-direction:column !important;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel{ display:flex !important; }

/* Header del popover */
.oryndia-filter-bar details.fdrop[open] .filter-panel h4{
  font-family:var(--ory-display) !important;
  font-weight:800 !important;
  font-size:16px !important;
  letter-spacing:-.01em !important;
  color:var(--ory-ink) !important;
  margin:0 !important;
  padding:16px 18px 14px !important;
  background:var(--ory-paper, #f4f1ea) !important;
  border-bottom:1.5px solid var(--ory-ink) !important;
  display:block !important;
  text-transform:none !important;
}

/* Body del popover (scroll si supera) */
.oryndia-filter-bar details.fdrop[open] .filter-panel > div{
  flex:1 !important;
  overflow-y:auto !important;
  padding:14px 18px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  max-height:380px !important;
}

/* FILAS de marca/categoría — checkbox cuadrado + nombre + count */
.oryndia-filter-bar details.fdrop[open] .filter-panel .row,
.oryndia-filter-bar details.fdrop[open] .filter-panel .cat-row,
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:9px 8px !important;
  margin:0 -8px !important;
  font-family:var(--ory-body) !important;
  font-size:13.5px !important;
  color:var(--ory-ink) !important;
  text-decoration:none !important;
  border-radius:4px;
  transition:background .12s;
  white-space:normal;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .row:hover,
.oryndia-filter-bar details.fdrop[open] .filter-panel .cat-row:hover,
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row:hover{
  background:rgba(26,58,255,.06) !important;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .row.on,
.oryndia-filter-bar details.fdrop[open] .filter-panel .cat-row.on,
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row.on{
  color:var(--ory-cobalt) !important;
  font-weight:600;
}

/* Checkbox custom */
.oryndia-filter-bar details.fdrop[open] .filter-panel .bx{
  width:18px !important; height:18px !important;
  border:1.5px solid var(--ory-ink) !important;
  background:#fff !important;
  border-radius:3px !important;
  display:inline-block !important;
  flex-shrink:0;
  position:relative;
  transition:background .12s, border-color .12s;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .row.on .bx,
.oryndia-filter-bar details.fdrop[open] .filter-panel .cat-row.on .bx,
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row.on .bx{
  background:var(--ory-cobalt) !important;
  border-color:var(--ory-cobalt) !important;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .row.on .bx::after,
.oryndia-filter-bar details.fdrop[open] .filter-panel .cat-row.on .bx::after,
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row.on .bx::after{
  content:"";
  position:absolute; top:3px; left:5px;
  width:4px; height:8px;
  border:solid #fff; border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

/* Count chip */
.oryndia-filter-bar details.fdrop[open] .filter-panel .ct{
  margin-left:auto !important;
  font-family:var(--ory-mono) !important;
  font-size:11px !important;
  color:var(--ory-muted, #8a857a) !important;
  background:rgba(14,14,12,.05);
  padding:2px 8px;
  border-radius:10px;
}

/* COLOR swatch en row */
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-swatch{
  width:22px !important; height:22px !important;
  border-radius:50% !important;
  border:1.5px solid rgba(14,14,12,.2) !important;
  display:inline-block !important;
  flex-shrink:0;
  background-size:cover !important;
  background-position:center !important;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row.on .co-swatch{
  border-color:var(--ory-cobalt) !important;
  box-shadow:0 0 0 2px rgba(26,58,255,.2);
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .co-row::before{ display:none !important; }

/* TALLAS — pills grandes en grid */
.oryndia-filter-bar details.fdrop[open] .filter-panel .szs{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:8px !important;
  margin:0 !important;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .szs .s{
  display:inline-flex !important;
  align-items:center; justify-content:center;
  padding:11px 4px !important;
  border:1.5px solid var(--ory-ink) !important;
  background:#fff !important;
  color:var(--ory-ink) !important;
  font-family:var(--ory-mono) !important;
  font-size:12px !important;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:background .12s, color .12s;
  min-width:0;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .szs .s:hover{
  background:var(--ory-ink); color:#fff;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel .szs .s.on{
  background:var(--ory-cobalt) !important;
  color:#fff !important;
  border-color:var(--ory-cobalt) !important;
}

/* PRECIO — inputs lado a lado */
.oryndia-filter-bar details.fdrop[open] .filter-panel input[type=number],
.oryndia-filter-bar details.fdrop[open] .filter-panel input[type=text]{
  padding:10px 12px;
  border:1.5px solid var(--ory-ink);
  background:#fff;
  font-family:var(--ory-body);
  font-size:14px;
  width:100%;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel button{
  -webkit-appearance:none; appearance:none;
  background:var(--ory-cobalt);
  color:#fff;
  border:none;
  padding:12px 20px;
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  cursor:pointer;
  width:100%;
  margin-top:10px;
}
.oryndia-filter-bar details.fdrop[open] .filter-panel button:hover{
  background:var(--ory-ink);
}

/* === META: counter + chip de filtros activos === */
.ory-shop-meta{
  display:flex; align-items:center; justify-content:flex-end;
  gap:12px;
  padding:0 0 14px;
  margin:0 0 14px;
  border-bottom:1px solid rgba(14,14,12,.06);
}
.ory-shop-meta .woocommerce-result-count{
  margin:0 !important;
  font-family:var(--ory-mono);
  font-size:12px;
  color:var(--ory-muted, #8a857a);
  letter-spacing:.04em;
}
.ory-active-chip{
  background:var(--ory-cobalt);
  color:#fff;
  font-family:var(--ory-mono);
  font-size:11px;
  letter-spacing:.06em;
  padding:5px 11px;
  border-radius:999px;
  font-weight:600;
}

/* === CHIPS DE FILTROS APLICADOS (muy visibles, encima de la fila) === */
.oryndia-filter-bar .applied-row{
  width:100%;
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 16px !important;
  margin:0 0 14px !important;
  background:linear-gradient(90deg, rgba(26,58,255,.08), rgba(26,58,255,.03)) !important;
  border:1.5px solid rgba(26,58,255,.2) !important;
  border-radius:0;
  font-family:var(--ory-mono);
  font-size:11px;
}
.oryndia-filter-bar .applied-row strong{
  font-family:var(--ory-mono);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ory-cobalt);
  margin-right:8px;
}
.oryndia-filter-bar .applied-row .pill{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  background:var(--ory-cobalt) !important;
  color:#fff !important;
  padding:6px 8px 6px 12px !important;
  font-family:var(--ory-body) !important;
  font-size:12px !important;
  border-radius:999px;
  text-decoration:none !important;
  border:none !important;
  transition:background .12s;
}
.oryndia-filter-bar .applied-row .pill:hover{
  background:var(--ory-ink) !important;
}
.oryndia-filter-bar .applied-row .pill::after{
  content:"x";
  font-size:13px; line-height:1;
  width:18px; height:18px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.2);
  border-radius:50%;
  font-weight:700;
}
.oryndia-filter-bar .applied-row .pill.clear-all{
  background:transparent !important;
  border:1.5px solid var(--ory-cobalt) !important;
  color:var(--ory-cobalt) !important;
  font-family:var(--ory-mono) !important;
  font-size:11px !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:5px 14px !important;
}
.oryndia-filter-bar .applied-row .pill.clear-all::after{ display:none; }
.oryndia-filter-bar .applied-row .pill.clear-all:hover{
  background:var(--ory-cobalt) !important;
  color:#fff !important;
}
