/*
Theme Name: La Torre Mágica
Description: Tema propio de latorremagica.com. Lleva a WordPress + WooCommerce el diseño de la maqueta que aprobó el dueño el 01/10/2026 (clientes/la-torre-magica/propuesta/plantilla.html): sus colores, las tipografías Lilita One, Atkinson Hyperlegible y Barlow Condensed, y los torneos como cartas coleccionables.
Author: Alberto Millán
Author URI: https://albertomillan.es
Version: 0.1
Requires PHP: 8.0
Text Domain: latorremagica
*/

/* ---------- Tipografías, servidas desde el tema (no se pide nada a Google) ---------- */
@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/atkinson-hyperlegible-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/atkinson-hyperlegible-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/atkinson-hyperlegible-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/barlow-condensed-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/barlow-condensed-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/barlow-condensed-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lilita One';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/lilita-one-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --marino:#183695;      /* el azul del rótulo de su logo */
  --cian:#00B3F1;        /* el círculo de la torre */
  --noche:#0E1638;       /* fondo de la sección de torneos */
  --dado:#FFC83D;        /* el coste de las cartas, avisos */
  --papel:#F3F6FB;
  --tinta:#141A2E;
  --gris:#5B6478;
  --linea:#DCE3EF;
  --tapete:#1F8A62;      /* «en tienda» */
  --rojo:#D6453D;
  --display:"Lilita One", "Arial Rounded MT Bold", system-ui, sans-serif;
  --texto:"Atkinson Hyperlegible", system-ui, sans-serif;
  --dato:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
  --radio:14px;
  --ancho:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font:17px/1.55 var(--texto);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--cian);outline-offset:2px;border-radius:6px}
button{font:inherit;cursor:pointer}
.envoltura{max-width:var(--ancho);margin:0 auto;padding:0 20px}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}


/* ---------- Cabecera de la tienda ---------- */
.estado{background:var(--marino);color:#E8EEFF;font-size:14px}
.estado .envoltura{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:38px;flex-wrap:wrap}
.estado__abierto{display:flex;align-items:center;gap:8px;font-weight:700}
.estado__punto{width:9px;height:9px;border-radius:50%;background:#8B93A8;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.estado__abierto.si .estado__punto{background:#3DDC97}
.estado__otros{display:flex;gap:18px;opacity:.9}
.estado__otros a{text-decoration:none}
.cab{background:#fff;border-bottom:1px solid var(--linea);position:relative;z-index:5}
.cab .envoltura{display:flex;align-items:center;gap:28px;min-height:78px}
.cab__logo img{height:52px;width:auto}
.cab__nav{display:flex;gap:4px;font:600 17px/1 var(--dato);letter-spacing:.05em;text-transform:uppercase}
.cab__nav a{text-decoration:none;padding:10px 12px;border-radius:8px;color:var(--marino)}
.cab__nav a:hover,.cab__nav a[aria-current=page]{background:#EAF7FE}
.cab__acc{margin-left:auto;display:flex;align-items:center;gap:10px}
.buscador{display:flex;align-items:center;gap:8px;background:var(--papel);border:1px solid var(--linea);border-radius:999px;padding:8px 14px;width:260px;color:var(--gris);font-size:15px}
.icono-boton{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--papel);border:1px solid var(--linea);color:var(--marino);position:relative;text-decoration:none}
.icono-boton .num{position:absolute;top:-4px;right:-4px;background:var(--dado);color:var(--tinta);font:700 12px/1 var(--dato);padding:3px 6px;border-radius:999px}
.burger{display:none}
@media (max-width:980px){
  .cab__nav{display:none}
  .buscador{display:none}
  .burger{display:grid}
  .cab .envoltura{gap:12px;min-height:66px}
  .cab__logo img{height:44px}
  .estado__otros .solo-ancho{display:none}
}

/* ---------- Piezas comunes ---------- */
.sec{padding:72px 0}
.sec--tight{padding:48px 0}
.sec__cab{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.titulo{font:400 clamp(30px,4vw,44px)/1.05 var(--display);color:var(--marino);margin:0;letter-spacing:.01em}
.antetitulo{font:700 14px/1 var(--dato);letter-spacing:.12em;text-transform:uppercase;color:var(--cian);margin:0 0 10px}
.enlace-mas{font:700 16px/1 var(--dato);letter-spacing:.06em;text-transform:uppercase;color:var(--marino);text-decoration:none;border-bottom:2px solid var(--cian);padding-bottom:4px}
.boton{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:12px;padding:15px 22px;font:700 17px/1 var(--texto);text-decoration:none;transition:transform .15s ease, box-shadow .15s ease}
.boton--prim{background:var(--marino);color:#fff;box-shadow:0 6px 0 #0F2266}
.boton--prim:hover{transform:translateY(-2px);box-shadow:0 8px 0 #0F2266}
.boton--sec{background:#fff;color:var(--marino);border:2px solid var(--marino)}
.boton--dado{background:var(--dado);color:var(--tinta);box-shadow:0 5px 0 #C99A1C}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:5px;font:600 14px/1 var(--dato);letter-spacing:.03em;color:var(--marino);background:#EAF2FF;border-radius:999px;padding:5px 9px}
.chip svg{width:14px;height:14px}
.stock{display:inline-flex;align-items:center;gap:6px;font:700 13px/1 var(--dato);letter-spacing:.06em;text-transform:uppercase;color:var(--tapete)}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.stock--no{color:var(--gris)}

/* ---------- Portada: cabecera con la torre ---------- */
.hero{background:radial-gradient(1100px 500px at 85% 0%, #DDF4FE 0%, transparent 60%), #fff;border-bottom:1px solid var(--linea);overflow:hidden}
.hero .envoltura{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:64px}
.hero__dir{font:700 15px/1.3 var(--dato);letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin:0 0 18px}
.hero h1{font:400 clamp(40px,6vw,74px)/.98 var(--display);color:var(--marino);margin:0 0 22px;letter-spacing:.005em}
/* El titular va en tres renglones en cualquier pantalla: «Juegos de mesa, / cómics y Warhammer. / Y gente con quien jugar.»
   La letra se ajusta al ancho de su columna para que el renglón más largo (10,2 veces el tamaño de la letra) quepa entero. */
.hero .envoltura>div:first-child{container-type:inline-size}
.hero h1{font-size:min(clamp(40px,6vw,74px),9.6cqi)}
.hero h1 span,.hero h1 em{display:block;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--cian)}
.hero__lead{font-size:20px;max-width:34ch;margin:0 0 30px;color:#2B3350}
.hero__acc{display:flex;gap:14px;flex-wrap:wrap}
.torre{position:relative;justify-self:center;width:min(100%,470px)}
.torre__ventana{aspect-ratio:5/6;border-radius:50% 50% 22px 22px / 34% 34% 22px 22px;overflow:hidden;border:10px solid #fff;box-shadow:0 0 0 2px var(--linea), 0 30px 60px -20px rgba(24,54,149,.45);background:#cfe9fb}
.torre__ventana img{width:100%;height:100%;object-fit:cover;object-position:47% 30%}
.torre__estrella{position:absolute;color:var(--dado);width:34px;top:-8px;right:18%}
.torre__prox{position:absolute;left:-28px;bottom:26px;background:var(--noche);color:#fff;border-radius:16px;padding:14px 16px 14px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 16px 30px -12px rgba(14,22,56,.6);max-width:300px}
.torre__prox .coste{flex:none}
.torre__prox small{display:block;font:600 13px/1.1 var(--dato);letter-spacing:.1em;text-transform:uppercase;color:var(--dado)}
.torre__prox b{display:block;font-size:16px;line-height:1.25}
@media (max-width:860px){
  .hero .envoltura{grid-template-columns:1fr;padding-top:36px;gap:36px}
  .torre{width:min(100%,380px)}
  .torre__prox{left:-6px}
}

/* ---------- Cartas de evento (el elemento propio) ---------- */
.torneos{background:radial-gradient(800px 400px at 10% 0%, rgba(0,179,241,.18), transparent 60%), var(--noche);color:#E9EEFF}
.torneos .titulo{color:#fff}
.torneos .enlace-mas{color:#fff}
.mano{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
@media (max-width:980px){.mano{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mano{grid-template-columns:minmax(0,340px);justify-content:center}}
.carta{--marco:#2A3F8F;--marco2:#14215A;background:linear-gradient(160deg,var(--marco),var(--marco2));border-radius:20px;padding:10px;box-shadow:0 22px 40px -18px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,255,255,.15);transition:transform .2s ease, box-shadow .2s ease;color:var(--tinta)}
.carta:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 30px 50px -18px rgba(0,0,0,.75), inset 0 0 0 1px rgba(255,255,255,.2)}
.carta--verde{--marco:#24946A;--marco2:#125440}
.carta--cian{--marco:#0BA5DE;--marco2:#155C9C}
.carta__in{background:#FBFCFF;border-radius:13px;overflow:hidden;display:flex;flex-direction:column;min-height:100%}
.carta__cab{display:flex;align-items:center;gap:10px;padding:10px 10px 8px 14px;background:linear-gradient(#fff,#EEF3FB);border-bottom:1px solid var(--linea)}
.carta__nombre{font:400 21px/1.05 var(--display);color:var(--marino);margin:0;flex:1}
.coste{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFE59A,var(--dado) 55%,#D9A21E);display:grid;place-items:center;font:700 17px/1 var(--dato);color:var(--tinta);box-shadow:inset 0 -3px 0 rgba(0,0,0,.15), 0 0 0 3px #fff, 0 0 0 4px rgba(0,0,0,.12);text-align:center;flex:none}
.coste--gratis{font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.carta__arte{aspect-ratio:16/10;background:#dfe7f5 center/cover no-repeat;border-bottom:1px solid var(--linea)}
.carta__tipo{margin:0;padding:7px 14px;font:700 14px/1.1 var(--dato);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--marco2)}
.carta__texto{padding:12px 14px 6px;font-size:15.5px;line-height:1.45;flex:1}
.carta__texto p{margin:0 0 6px}
.carta__cuando{font-weight:700;color:var(--marino)}
.carta__pie{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 12px 14px}
.carta__boton{font:700 16px/1 var(--texto);color:#fff;background:var(--marino);border-radius:10px;padding:11px 16px;text-decoration:none;border:0}
.carta__plazas{font:700 16px/1 var(--dato);letter-spacing:.04em;background:var(--tinta);color:#fff;border-radius:8px 8px 8px 8px;padding:8px 10px;transform:skew(-8deg);box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--tinta)}
.carta__plazas span{display:inline-block;transform:skew(8deg)}
.carta__plazas small{font-size:11px;opacity:.75;margin-left:3px;letter-spacing:.08em}

/* ---------- Productos ---------- */
.rejilla{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1060px){.rejilla{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.prod{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:border-color .15s ease, box-shadow .15s ease}
.prod:hover{border-color:#B7D9F5;box-shadow:0 14px 28px -18px rgba(24,54,149,.5)}
.prod__foto{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:14px;position:relative}
.prod__foto img{max-height:100%;width:auto;object-fit:contain}
.prod__dto{position:absolute;top:10px;left:10px;font:700 14px/1 var(--dato);background:var(--dado);color:var(--tinta);border-radius:6px;padding:5px 7px}
.prod__cuerpo{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1;border-top:1px solid var(--linea)}
.prod__nombre{font-weight:700;font-size:16px;line-height:1.3;margin:0;color:var(--tinta)}
.prod__precio{display:flex;align-items:baseline;gap:8px;margin-top:auto}
.prod__precio b{font:400 24px/1 var(--display);color:var(--marino)}
.prod__precio s{color:var(--gris);font-size:14px}
@media (max-width:760px){.prod__nombre{font-size:14.5px}.prod__precio b{font-size:20px}.chip{font-size:12.5px}}

/* ---------- Categorías ---------- */
.estantes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
@media (max-width:980px){.estantes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.estantes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.estante{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:18px 16px;text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:118px;transition:background .15s ease}
.estante:hover{background:#EAF7FE}
.estante svg{width:30px;height:30px;color:var(--cian)}
.estante b{font:400 20px/1.05 var(--display);color:var(--marino)}
.estante small{font:600 14px/1 var(--dato);letter-spacing:.05em;color:var(--gris);text-transform:uppercase}

/* ---------- Ven a jugar ---------- */
.jugar{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.jugar__foto{border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 50px -30px rgba(24,54,149,.6)}
.jugar__foto img{width:100%;height:100%;object-fit:cover}
.lista-serv{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.lista-serv li{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:16px 18px}
.lista-serv b{display:block;font:400 20px/1.1 var(--display);color:var(--marino);margin-bottom:4px}
@media (max-width:860px){.jugar{grid-template-columns:1fr}}

/* ---------- Blog ---------- */
.blog-rej{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:860px){.blog-rej{grid-template-columns:1fr}}
.post{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.post__foto{aspect-ratio:2/1;background:#dfe7f5 center/cover no-repeat}
.post__cuerpo{padding:16px 18px 20px}
.post__meta{font:600 14px/1 var(--dato);letter-spacing:.08em;text-transform:uppercase;color:var(--cian);margin:0 0 8px}
.post h3{font:400 22px/1.15 var(--display);color:var(--marino);margin:0 0 8px}
.post p{margin:0;color:#3A4360;font-size:15.5px}

/* ---------- Visítanos ---------- */
.visita{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:stretch}
@media (max-width:860px){.visita{grid-template-columns:1fr}}
.horario{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:24px}
.horario table{width:100%;border-collapse:collapse;font-size:16px;margin:12px 0 18px}
.horario td{padding:8px 0;border-bottom:1px dashed var(--linea)}
.horario td:last-child{text-align:right;font:600 18px/1 var(--dato);letter-spacing:.03em;color:var(--marino)}
.horario tr.hoy td{color:var(--tinta);background:#EAF7FE}
.horario tr.hoy td:first-child{font-weight:700;padding-left:8px;border-radius:8px 0 0 8px}
.horario tr.hoy td:last-child{padding-right:8px;border-radius:0 8px 8px 0}
.contacto-lista{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.contacto-lista a{font-weight:700;color:var(--marino)}
.mapa{border-radius:var(--radio);overflow:hidden;border:1px solid var(--linea);min-height:340px;background:#e7edf6}
.mapa iframe{width:100%;height:100%;min-height:340px;border:0;display:block}

/* ---------- Pie ---------- */
.pie{background:var(--marino);color:#D9E2FF;padding:56px 0 28px;font-size:15.5px}
.pie__rej{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px}
@media (max-width:860px){.pie__rej{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pie__rej{grid-template-columns:1fr}}
.pie h4{font:700 15px/1 var(--dato);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie a{text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie__logo{height:56px;width:auto;margin-bottom:12px}
.pie__legal{border-top:1px solid rgba(255,255,255,.15);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:14px;opacity:.85}
.boletin{display:flex;gap:8px;margin-top:10px}
.boletin input{flex:1;min-width:0;border-radius:10px;border:0;padding:12px 14px;font:inherit}
.boletin button{border:0;border-radius:10px;background:var(--dado);color:var(--tinta);font-weight:700;padding:0 16px}

/* ---------- Categoría ---------- */
.migas{font-size:14px;color:var(--gris);margin:28px 0 10px}
.migas a{color:var(--gris)}
.cat-cab{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.cat-cab p{margin:8px 0 0;max-width:62ch;color:#3A4360}
.cat{display:grid;grid-template-columns:260px 1fr;gap:28px;padding-bottom:72px}
@media (max-width:900px){.cat{grid-template-columns:1fr}}
.filtros{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:18px;align-self:start;position:sticky;top:64px}
@media (max-width:900px){.filtros{position:static}}
.filtro{border:0;margin:0 0 18px;padding:0}
.filtro legend{font:700 15px/1 var(--dato);letter-spacing:.1em;text-transform:uppercase;color:var(--marino);margin-bottom:10px}
.botones-filtro{display:flex;flex-wrap:wrap;gap:6px}
.botones-filtro button{border:1px solid var(--linea);background:var(--papel);border-radius:999px;padding:7px 12px;font:600 15px/1 var(--dato);letter-spacing:.03em;color:var(--marino)}
.botones-filtro button[aria-pressed=true]{background:var(--marino);border-color:var(--marino);color:#fff}
.interruptor{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;color:var(--marino)}
.contador{font:600 16px/1 var(--dato);letter-spacing:.04em;color:var(--gris);text-transform:uppercase}
.vacio{grid-column:1/-1;background:#fff;border:1px dashed var(--linea);border-radius:var(--radio);padding:32px;text-align:center;color:var(--gris)}

/* ---------- Ficha ---------- */
/* minmax(0,…): con «1fr» a secas una foto grande ensanchaba la columna y la página entera se salía de la pantalla del móvil (06/10/2026) */
.ficha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;padding-bottom:40px}
.ficha>div{min-width:0}
@media (max-width:900px){.ficha{grid-template-columns:minmax(0,1fr);gap:24px}}
.ficha__foto{background:#fff;border:1px solid var(--linea);border-radius:22px;padding:28px;display:grid;place-items:center;aspect-ratio:1}
.ficha__foto img{max-height:100%;width:auto}
.ficha h1{font:400 clamp(36px,4.5vw,54px)/1 var(--display);color:var(--marino);margin:0 0 6px;overflow-wrap:break-word}
.ficha__ed{font:700 15px/1 var(--dato);letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin:0 0 20px}
.ficha__precio{display:flex;align-items:baseline;gap:12px;margin:18px 0 6px}
.ficha__precio b{font:400 44px/1 var(--display);color:var(--marino)}
.ficha__precio s{color:var(--gris)}
.ficha__acc{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.ficha__datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.dato{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:12px;text-align:center}
.dato svg{width:22px;height:22px;color:var(--cian);margin:0 auto 6px}
.dato b{display:block;font:400 22px/1 var(--display);color:var(--marino)}
.dato small{font:600 13px/1 var(--dato);letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.ventajas{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:15.5px}
.ventajas li{display:flex;gap:10px;align-items:start}
.ventajas li::before{content:"";width:10px;height:10px;margin-top:7px;border-radius:3px;background:var(--cian);flex:none;transform:rotate(45deg)}
.demo{background:var(--noche);color:#E9EEFF;border-radius:18px;padding:22px 24px;display:flex;gap:18px;align-items:center;margin-top:22px}
.demo b{font:400 22px/1.1 var(--display);color:#fff;display:block}
.ficha__texto{max-width:72ch}

/* =====================================================================
   A partir de aquí, lo que la maqueta no tenía: lo que hace falta para
   que sea una tienda de verdad (menú del móvil, formularios, avisos,
   carrito, cuenta, entradas del blog y páginas de texto).
   ===================================================================== */
.saltar{position:absolute;left:-999px;top:8px;background:#fff;color:var(--marino);padding:10px 14px;border-radius:8px;z-index:100;font-weight:700}
.saltar:focus{left:8px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.cab__logo{display:block;flex:none}
form.buscador{margin:0}
.buscador input{border:0;background:transparent;font:inherit;color:var(--tinta);width:100%;min-width:0;outline:0;padding:0}
.buscador:focus-within{border-color:var(--cian);box-shadow:0 0 0 3px rgba(0,179,241,.25)}
.buscador svg{flex:none;width:18px;height:18px}
button.icono-boton{padding:0}
.icono-boton .num:empty{display:none}
.menu-movil{display:none;background:#fff;border-bottom:1px solid var(--linea);position:relative;z-index:4}
.menu-movil.abierto{display:block}
.menu-movil nav{display:grid;padding:4px 20px 14px}
.menu-movil nav a{padding:15px 4px;text-decoration:none;font:600 20px/1 var(--dato);letter-spacing:.05em;text-transform:uppercase;color:var(--marino);border-bottom:1px solid var(--linea)}
.menu-movil .buscador{display:flex;width:auto;margin:16px 20px 4px}
@media (min-width:981px){.menu-movil{display:none!important}}

.rejilla--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.rejilla--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* La foto siempre cabe en su cuadro, sea la caja alta o ancha (las miniaturas van sin recortar) */
.prod__foto,.ficha__foto{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}
.prod__foto img{width:100%;height:100%;max-height:none;object-fit:contain}
.nota-ejemplo{display:inline-flex;gap:8px;align-items:center;font:600 14px/1.2 var(--dato);letter-spacing:.06em;text-transform:uppercase;color:#7A5A00;background:#FFF4D2;border:1px dashed #E2B84A;border-radius:8px;padding:6px 10px}
.carta__boton{display:inline-block}
.carta__arte--entera{background-size:contain;background-color:#fff}
.carta__arte--logo{background-size:70% auto;background-color:var(--cian)}

/* Categoría: la columna de la izquierda */
.filtro ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.filtro li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;padding:8px 10px;border-radius:8px;color:var(--tinta)}
.filtro li a:hover,.filtro li a[aria-current]{background:#EAF7FE;color:var(--marino);font-weight:700}
.filtro li small{font:600 14px/1.6 var(--dato);color:var(--gris)}
.filtro select{width:100%;font:inherit;border:1px solid var(--linea);border-radius:10px;padding:10px 12px;background:var(--papel);color:var(--tinta)}
.woocommerce-ordering{margin:0}
.paginas{margin:32px 0 0}
.paginas ul,.paginas .nav-links{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0;justify-content:center}
.paginas .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:10px;border:1px solid var(--linea);background:#fff;text-decoration:none;font:700 17px/1 var(--dato);color:var(--marino)}
.paginas .page-numbers.current{background:var(--marino);border-color:var(--marino);color:#fff}

/* Ficha: comprar */
.ficha__foto img{width:100%;height:100%;max-height:none;object-fit:contain}
.ficha__mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ficha__mini a{width:76px;height:76px;border:1px solid var(--linea);border-radius:12px;background:#fff;display:block;padding:6px;overflow:hidden}
.ficha__mini img{display:block;width:100%;height:100%;object-fit:contain}
.ficha form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:22px 0}
.ficha .quantity input{width:84px;height:100%;min-height:54px;border:2px solid var(--linea);border-radius:12px;text-align:center;font:700 18px/1 var(--texto);color:var(--tinta);background:#fff}
.ficha form.cart .single_add_to_cart_button.button{display:inline-flex;align-items:center;border:0;border-radius:12px;padding:15px 26px;font:700 17px/1 var(--texto);background:var(--marino)!important;color:#fff!important;opacity:1;box-shadow:0 6px 0 #0F2266;transition:transform .15s ease, box-shadow .15s ease}
.ficha form.cart .single_add_to_cart_button.button:hover{transform:translateY(-2px);box-shadow:0 8px 0 #0F2266}
.ficha .stock.out-of-stock,.ficha p.stock{margin:0}
.ficha__texto h2{font:400 28px/1.1 var(--display);color:var(--marino)}
.ficha__texto p{margin:0 0 14px}
/* El texto del producto, ya sin los estilos que traía pegados (ltm_texto_limpio en functions.php) */
.ficha__texto{overflow-wrap:break-word}
.ficha__texto h3,.ficha__texto h4,.ficha__texto h5{font:700 19px/1.3 var(--texto);color:var(--tinta);margin:22px 0 8px}
.ficha__texto ul,.ficha__texto ol{padding-left:1.3em;margin:0 0 14px}
.ficha__texto li{margin:0 0 5px}
.ficha__texto a{color:var(--marino);font-weight:700}
.ficha__texto img,.ficha__texto iframe,.ficha__texto video{max-width:100%;height:auto;border-radius:var(--radio)}
.ficha__tabla{overflow-x:auto;margin:0 0 18px;border:1px solid var(--linea);border-radius:var(--radio);background:#fff}
.ficha__tabla table{width:100%;border-collapse:collapse;font-size:15.5px}
.ficha__tabla th,.ficha__tabla td{padding:10px 12px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.ficha__tabla tr:last-child>th,.ficha__tabla tr:last-child>td{border-bottom:0}
.ficha__tabla th{font-weight:700;width:36%}
.ficha__tabla td ul,.ficha__tabla td ol{margin:0}
.ficha__tabla td p{margin:0 0 6px}
.ficha__tabla caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.demo svg{width:40px;height:40px;color:var(--dado);flex:none}

/* Avisos de la tienda */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 22px;padding:14px 18px;border-radius:12px;background:#fff;border:1px solid var(--linea);border-left:6px solid var(--tapete);display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.woocommerce-info{border-left-color:var(--cian)}
.woocommerce-error{border-left-color:var(--rojo);display:block}
.woocommerce-message .button,.woocommerce-info .button{order:2}

/* Botones y campos que pinta WooCommerce */
.pagina .button,.pagina button[type=submit],.woocommerce-message .button,.woocommerce-info .button,.wp-element-button,.wc-block-components-button:not(.is-link){display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 20px;font:700 16px/1.1 var(--texto);background:var(--marino);color:#fff;text-decoration:none;cursor:pointer}
.pagina .button:hover,.wp-element-button:hover,.wc-block-components-button:not(.is-link):hover{background:#0F2266;color:#fff}
.pagina input[type=text],.pagina input[type=email],.pagina input[type=tel],.pagina input[type=password],.pagina input[type=number],.pagina select,.pagina textarea{font:inherit;border:1px solid var(--linea);border-radius:10px;padding:11px 12px;background:#fff;color:var(--tinta);max-width:100%}
.pagina label{font-weight:700;color:var(--marino)}

/* Páginas de texto, carrito, pago y cuenta */
.pagina{padding:36px 0 72px}
.pagina>.envoltura>.titulo{margin-bottom:24px}
.prosa{max-width:74ch;overflow-wrap:break-word}
.prosa--ancha{max-width:none}
.prosa h2{font:400 30px/1.1 var(--display);color:var(--marino);margin:36px 0 12px}
.prosa h3{font:700 20px/1.3 var(--texto);margin:26px 0 8px}
.prosa a{color:var(--marino);font-weight:700}
.prosa img{border-radius:var(--radio);height:auto}
.prosa table:not(.wc-block-cart-items){width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linea)}
.prosa table:not(.wc-block-cart-items) th,.prosa table:not(.wc-block-cart-items) td{padding:10px 12px;border-bottom:1px solid var(--linea);text-align:left}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 24px;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.woocommerce-MyAccount-navigation a{display:block;padding:9px 14px;border-radius:999px;border:1px solid var(--linea);background:#fff;text-decoration:none;font:600 16px/1 var(--dato);letter-spacing:.03em;color:var(--marino)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--marino);border-color:var(--marino);color:#fff}
.woocommerce form .form-row{display:grid;gap:6px;margin:0 0 14px}
.woocommerce form.login,.woocommerce form.register{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:24px;max-width:460px}
/* Entrar y crear la cuenta, lado a lado; en el móvil, una debajo de otra (inc/cuenta.php) */
#customer_login{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;max-width:980px}
#customer_login::before,#customer_login::after{content:none;display:none}
#customer_login>div{float:none;width:auto;max-width:none}
#customer_login form.login,#customer_login form.register{max-width:none}
#customer_login h2{margin-top:0}
#customer_login form.register .puntos{margin:0 0 18px}
.ltm-no-rellenar{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:820px){#customer_login{grid-template-columns:1fr;gap:24px}}

/* Entrada del blog */
.entrada{padding:28px 0 72px}
.entrada__cab{max-width:74ch;margin:0 auto 24px}
.entrada h1{font:400 clamp(34px,5vw,54px)/1.02 var(--display);color:var(--marino);margin:0 0 10px}
.entrada__foto{max-width:980px;margin:0 auto 28px;border-radius:22px;overflow:hidden}
.entrada__foto img{width:100%;height:auto}
.entrada .prosa{margin:0 auto;font-size:18px}
.post__foto--vacia{background:radial-gradient(400px 200px at 80% 0%, #DDF4FE, transparent 70%), #EAF2FF}

/* Piezas para las entradas del blog (07/10/2026): entradilla, botones, ficha de recomendación, accesos, puntos fuertes, caja
   destacada y productos de la tienda ([ltm_productos]). Se usan escribiendo esas clases en el texto de la entrada. */
.prosa .entradilla{font-size:1.14em;line-height:1.55;color:#27304A}
.prosa .botones{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 0}
.prosa a.boton{text-decoration:none}
.prosa a.boton--prim{color:#fff}
.prosa a.boton--sec{color:var(--marino)}
.prosa .ficha-web{background:#fff;border:1px solid var(--linea);border-left:8px solid var(--cian);border-radius:var(--radio);padding:22px 24px 24px;margin:24px 0 30px}
.prosa .ficha-web__ante{font:700 13px/1 var(--dato);letter-spacing:.12em;text-transform:uppercase;color:var(--cian);margin:0 0 8px}
.prosa .ficha-web h2{margin:0 0 8px}
.prosa .ficha-web p{margin:0}
.prosa .ficha-web .boton{padding:14px 20px;font-size:16.5px}
.prosa .ficha-web p.botones,.prosa .caja-destacada p.botones{margin-top:18px}
.prosa .accesos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0 24px;padding:0;list-style:none}
.prosa .accesos a{display:flex;flex-direction:column;gap:5px;height:100%;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:14px 12px;text-decoration:none;font-weight:700;color:var(--marino);transition:border-color .15s ease, transform .15s ease}
.prosa .accesos a:hover{border-color:var(--marino);transform:translateY(-2px)}
.prosa .accesos small{font-weight:400;font-size:13.5px;line-height:1.3;color:var(--gris)}
@media (max-width:700px){.prosa .accesos{grid-template-columns:repeat(2,minmax(0,1fr))}.prosa .accesos li:last-child:nth-child(odd){grid-column:1/-1}}
.prosa .puntos-fuertes{list-style:none;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 24px}
.prosa .puntos-fuertes li{background:#EAF2FF;border-radius:14px;padding:14px 16px;font-size:16.5px}
.prosa .puntos-fuertes b{display:block;color:var(--marino);margin-bottom:2px}
@media (max-width:600px){.prosa .puntos-fuertes{grid-template-columns:minmax(0,1fr)}}
.prosa .caja-destacada{background:var(--marino);color:#E8EEFF;border-radius:22px;padding:26px 28px 28px;margin:32px 0}
.prosa .caja-destacada h2{color:#fff;margin:0 0 8px}
.prosa .caja-destacada p{margin:0}
.prosa .caja-destacada a.boton{background:var(--dado);color:var(--tinta);box-shadow:0 5px 0 #C99A1C}
.prosa .productos-entrada{margin:18px 0 22px}
.prosa .productos-entrada .rejilla{gap:14px}
.prosa .productos-entrada a.prod{font-weight:400;text-decoration:none;color:inherit}
.prosa .productos-entrada .prod img{border-radius:0}
.prosa .productos-entrada .prod h3{margin:0;font-size:15px}
.prosa .productos-entrada .prod__precio b{font-size:21px}
.entrada__mas{max-width:980px;margin:60px auto 0;padding-top:34px;border-top:1px solid var(--linea)}
.entrada__mas h2{font:400 30px/1.1 var(--display);color:var(--marino);margin:0 0 18px}
.pie__legal a{text-decoration:underline}
.pie__firma{margin:16px 0 0;font-size:12px;opacity:.75}
.pie__firma a{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
.pie__firma .firma-am{flex:none;width:27px;height:13px}

/* Avisos de WooCommerce: sin su icono (pisaba el texto) y con nuestro botón */
body .woocommerce-message::before,body .woocommerce-info::before,body .woocommerce-error::before{display:none}
body .woocommerce-message,body .woocommerce-info,body .woocommerce-error{padding:14px 18px;color:var(--tinta);border-top:1px solid var(--linea)}
body .woocommerce-message .button,body .woocommerce-info .button{background:var(--marino)!important;color:#fff!important;border-radius:10px;padding:11px 16px;font:700 16px/1 var(--texto)}
/* Carrito y pago (bloques de WooCommerce): sobre blanco, como el resto de cajas */
.wc-block-cart .wc-block-cart__main,.wc-block-cart .wc-block-cart__sidebar,.wc-block-checkout__main,.wc-block-checkout__sidebar{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:18px 20px}
.wc-block-cart table.wc-block-cart-items{border:0;margin:0}
/* Carrito vacío: [ltm_carrito_vacio] (functions.php), con las tarjetas de producto de siempre */
.wp-block-woocommerce-empty-cart-block{text-align:center}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{margin-top:10px}
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before{height:3.2em;width:3.2em;margin-bottom:.7em}
.prosa .carrito-vacio__txt{color:var(--gris);font-size:18px;margin:0 auto 18px;max-width:48ch}
.carrito-vacio__ir{margin:0 0 8px}
.carrito-vacio__ir .boton,.prosa .carrito-vacio__ir .boton{color:#fff;text-decoration:none}
.prosa .carrito-vacio__tit{text-align:left;margin:44px 0 16px}
.carrito-vacio .rejilla{text-align:left}
.prosa .carrito-vacio a.prod{font-weight:400;text-decoration:none;color:inherit}
.prosa .carrito-vacio .prod img{border-radius:0}
.prosa .carrito-vacio .prod h3{margin:0}
.prosa .carrito-vacio .chips{display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.carrito-vacio__prod{display:flex;flex-direction:column;gap:10px;min-width:0}
.carrito-vacio__prod .prod{flex:1}
.prosa .carrito-vacio__mas{justify-content:center;padding:13px 10px;font-size:16px;color:#fff;text-decoration:none;box-shadow:0 4px 0 #0F2266}
@media (max-width:760px){.prosa .carrito-vacio__mas{font-size:14.5px;padding:12px 6px}}
/* Los botones de los bloques de WooCommerce que salgan dentro de una página (p. ej. «También te puede interesar»), como los del tema */
.prosa .wp-block-button__link,.prosa .wc-block-components-product-button__button{background:var(--marino);color:#fff;border-radius:12px;font-weight:700;text-decoration:none}
.prosa .wp-block-button__link:hover,.prosa .wc-block-components-product-button__button:hover{background:#0F2266;color:#fff}
.wc-block-components-product-name{font-weight:700;color:var(--marino)}

/* Torneos y eventos: la carta enlaza a su página y la página enseña cómo apuntarse */
.carta__nombre a{color:inherit;text-decoration:none}
a.carta__arte{display:block}
.carta__plazas{white-space:nowrap}
.ficha__nota{font:700 14px/1.2 var(--dato);letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.ficha__foto--evento{padding:0;aspect-ratio:16/11;background:#dfe7f5}
.ficha__foto--evento img{width:100%;height:100%;object-fit:cover}
.ficha__foto--entera{background:#fff;padding:20px}
.ficha__foto--entera img{object-fit:contain}
.ficha__foto--logo{background:var(--cian);padding:14%}
.ficha__foto--logo img{object-fit:contain}
.boton--dato{cursor:default;font-weight:400}
.boton--dato b{letter-spacing:.06em}
.lista-serv a{color:var(--marino);font-weight:700}

/* Aviso de cookies: aceptar y rechazar, con el mismo peso */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;display:flex;justify-content:center;pointer-events:none}
.cookies[hidden]{display:none}
.cookies__in{pointer-events:auto;background:#fff;border:1px solid var(--linea);border-radius:18px;box-shadow:0 22px 50px -18px rgba(14,22,56,.6);padding:18px 20px;max-width:780px;display:flex;gap:16px 20px;align-items:center;flex-wrap:wrap}
.cookies p{margin:0;flex:1 1 320px;font-size:15.5px;line-height:1.45}
.cookies a{color:var(--marino);font-weight:700}
.cookies__acc{display:flex;gap:10px;flex:0 0 auto}
.cookies .boton{padding:12px 20px;font-size:16px;background:var(--marino);color:#fff}
@media (max-width:520px){.cookies__acc{flex:1 1 100%}.cookies .boton{flex:1;justify-content:center}}
.pie__cookies{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font:inherit}
/* Páginas de texto: listas, tablas y código. Las tablas, menos la del carrito por bloques, que trae su propia rejilla
   (con estas reglas el precio de cada línea salía cortado en el móvil: visto el 06/10) */
.prosa ul,.prosa ol{padding-left:1.3em;display:grid;gap:6px;margin:0 0 16px}
.prosa p{margin:0 0 14px}
.prosa table:not(.wc-block-cart-items){margin:0 0 18px;font-size:15.5px;border-radius:var(--radio);overflow:hidden}
.prosa table:not(.wc-block-cart-items) thead th{background:var(--marino);color:#fff;font:700 15px/1.2 var(--dato);letter-spacing:.08em;text-transform:uppercase}
.prosa table:not(.wc-block-cart-items) td{vertical-align:top}
.prosa code{font-size:.92em;background:#EAF2FF;border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}
@media (max-width:640px){.prosa table:not(.wc-block-cart-items),.prosa table:not(.wc-block-cart-items) thead,.prosa table:not(.wc-block-cart-items) tbody,.prosa table:not(.wc-block-cart-items) tr,.prosa table:not(.wc-block-cart-items) th,.prosa table:not(.wc-block-cart-items) td{display:block}.prosa table:not(.wc-block-cart-items) thead{display:none}.prosa table:not(.wc-block-cart-items) td{border-bottom:0;padding:6px 12px}.prosa table:not(.wc-block-cart-items) tr{border-bottom:1px solid var(--linea);padding:8px 0}}

/* Pedido recibido y paso hacia la pasarela (plantillas clásicas de WooCommerce, sin su hoja de rejilla) */
.woocommerce-order .woocommerce-thankyou-order-received{margin:0 0 22px;padding:18px 20px;border-radius:var(--radio);background:#fff;border:1px solid var(--linea);border-left:6px solid var(--tapete);font-size:17px;line-height:1.5}
.woocommerce-order .woocommerce-thankyou-order-received strong{display:inline-block;margin-bottom:4px;font-size:19px;color:var(--marino)}
.woocommerce-order .woocommerce-thankyou-order-received small{display:inline-block;margin-top:8px;color:var(--gris);font-size:14.5px}
.pagina ul.order_details{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.pagina ul.order_details::before,.pagina ul.order_details::after{display:none}
body .pagina ul.order_details li{float:none;margin:0;padding:14px 16px;background:#fff;border:1px solid var(--linea);border-radius:14px;font:700 13px/1.2 var(--dato);letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.pagina ul.order_details li strong{display:block;margin-top:6px;font:700 18px/1.25 var(--texto);letter-spacing:0;text-transform:none;color:var(--tinta);overflow-wrap:anywhere}
.woocommerce-order h2,.woocommerce-order-pay h2{font:400 28px/1.1 var(--display);color:var(--marino);margin:30px 0 12px}
.woocommerce-order .woocommerce-table tfoot th{background:none;color:var(--tinta);font:700 16px/1.3 var(--texto);letter-spacing:0;text-transform:none}
.woocommerce-order .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px 24px}
.woocommerce-order .woocommerce-columns--addresses::before,.woocommerce-order .woocommerce-columns--addresses::after{display:none}
.woocommerce-order .woocommerce-column{width:auto;float:none}
.woocommerce-order address{font-style:normal;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:14px 16px;line-height:1.6}
.woocommerce-order address p{margin:6px 0 0}
body .pagina ul.order_details li:last-of-type{border:1px solid var(--linea)}
@media (max-width:640px){.woocommerce-order table.woocommerce-table{display:table}.woocommerce-order .woocommerce-table thead{display:table-header-group}.woocommerce-order .woocommerce-table tbody{display:table-row-group}.woocommerce-order .woocommerce-table tfoot{display:table-footer-group}.woocommerce-order .woocommerce-table tr{display:table-row;padding:0}.woocommerce-order .woocommerce-table th,.woocommerce-order .woocommerce-table td{display:table-cell;padding:10px 12px;border-bottom:1px solid var(--linea)}}
#redsys_payment_form{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 0}
#redsys_payment_form .button.cancel,.pagina a.button.cancel{background:#fff;color:var(--marino);border:1px solid var(--linea)}
#redsys_payment_form input[type=submit]{border:0;border-radius:12px;padding:13px 20px;font:700 16px/1.1 var(--texto);background:var(--marino);color:#fff;cursor:pointer}

/* Filtros de la tienda (jugadores, duración, edad): las pastillas de la maqueta, como enlaces */
.botones-filtro a{display:inline-block;border:1px solid var(--linea);background:var(--papel);border-radius:999px;padding:8px 13px;font:600 15px/1 var(--dato);letter-spacing:.03em;color:var(--marino);text-decoration:none}
.botones-filtro a:hover{border-color:var(--marino)}
.botones-filtro a[aria-current=true]{background:var(--marino);border-color:var(--marino);color:#fff}
.contador .quitar{color:var(--marino);font-weight:700}
.filtros__plegable>summary{display:none}
@media (max-width:900px){
  .filtros{padding:0}
  .filtros__plegable>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;padding:15px 18px;font:700 16px/1.2 var(--dato);letter-spacing:.08em;text-transform:uppercase;color:var(--marino)}
  .filtros__plegable>summary::-webkit-details-marker{display:none}
  .filtros__plegable>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--marino);border-bottom:2px solid var(--marino);transform:rotate(45deg);margin:-4px 4px 0 auto;flex:none}
  .filtros__plegable[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
  .filtros__plegable>summary small{font:600 13px/1 var(--dato);letter-spacing:.04em;background:var(--dado);color:var(--tinta);border-radius:999px;padding:5px 9px;text-transform:none}
  .filtros__plegable[open]{padding:0 18px 18px}
  .filtros__plegable[open]>summary{padding:15px 0}
  .botones-filtro a{padding:10px 14px}
}

/* Torneos con cartel (cuadrado o vertical): se ve entero; a los lados, el mismo cartel desenfocado y oscurecido */
.carta__arte--cartel{position:relative;overflow:hidden;background-color:var(--noche)}
.carta__arte--cartel::before,.carta__arte--cartel::after{content:"";position:absolute;inset:0;background-image:inherit;background-position:center;background-repeat:no-repeat}
.carta__arte--cartel::before{background-size:cover;filter:blur(14px) brightness(.55) saturate(1.1);transform:scale(1.25)}
.carta__arte--cartel::after{background-size:contain}
.ficha__foto--cartel{aspect-ratio:1;background:var(--noche)}
.ficha__foto--cartel img{object-fit:contain}

/* Puntos: lo que se gana con una compra y lo que se tiene para gastar */
.puntos{display:flex;gap:14px;align-items:center;margin:18px 0;padding:14px 16px;border-radius:14px;background:#FFF8E1;border:1px solid #F2DC96;color:var(--tinta);font-size:15.5px;line-height:1.45}
.puntos p{margin:0}
.puntos b{color:var(--marino)}
.puntos small{display:block;margin-top:2px;color:var(--gris);font-size:14px}
.puntos a{color:var(--marino);font-weight:700}
.puntos__moneda{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#FFE59A,var(--dado) 55%,#D9A21E);color:#7A5600;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.puntos__moneda svg{width:20px;height:20px}
.puntos a.puntos__boton{display:inline-block;margin:6px 0 0 6px;padding:8px 14px;border-radius:999px;background:var(--marino);color:#fff;text-decoration:none;font:700 15px/1 var(--texto);white-space:nowrap}
.puntos--usando{background:#E9F7EF;border-color:#BFE3CF}
.puntos-linea{display:inline-block;margin-top:8px}
.ficha .puntos{margin:4px 0 22px}
/* Mi cuenta: el menú, en pastillas (la regla de las listas de texto lo apilaba) */
.prosa .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 24px;padding:0}
.prosa .woocommerce-MyAccount-navigation a{font-weight:600}
.woocommerce-MyAccount-content>p:first-of-type{margin-top:0}
.woocommerce form .show-password-input{display:none}
/* Carrito en el móvil: la rejilla de WooCommerce (80 + 132 + precio) no cabe dentro de nuestra caja con márgenes y el
   precio de cada línea se salía. Foto más pequeña, el nombre ocupa lo que quede y el precio, lo suyo. */
@media (max-width:640px){
  .wc-block-cart .wc-block-cart__main,.wc-block-cart .wc-block-cart__sidebar{padding-left:16px;padding-right:16px}
  body .wc-block-cart table.wc-block-cart-items{display:block;width:100%}
  body .wc-block-cart table.wc-block-cart-items tbody{display:block}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:64px minmax(0,1fr) auto;column-gap:12px}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image{grid-column:1/2;padding-right:0;width:64px}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2/3;min-width:0;padding-right:0}
  body .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:3/4}
}
