/*
Theme Name: Fourriders Classic
Theme URI: https://fourriders.es
Author: Zekmog
Description: Tema clásico en PHP para Fourriders — tienda de BMX Race en Motril, Granada. Estética industrial-racing en escala de grises con acento rojo. Plantillas PHP tradicionales (sin editor de sitio), editor clásico, portada con campos ACF e integración completa con WooCommerce.
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fourriders-classic
Tags: e-commerce, custom-menu, custom-logo, featured-images, translation-ready, threaded-comments, right-sidebar
*/

/* =====================================================================
   Fourriders — sistema de diseño
   Todas las clases van prefijadas con `fr-` y las variables con `--fr-`
   para no colisionar con WordPress ni con WooCommerce.
   ===================================================================== */

:root{
  /* light grayscale — clarity-led */
  --fr-paper:#f6f5f3;
  --fr-paper-2:#eeede9;
  --fr-paper-3:#e4e2dd;
  --fr-ink:#161616;
  --fr-ink-2:#2a2a2a;
  --fr-ink-soft:#444;
  --fr-gray:#717169;
  --fr-gray-2:#9b9b94;
  --fr-line:rgba(22,22,22,.13);
  --fr-line-soft:rgba(22,22,22,.08);
  --fr-red:#ef1c24;
  --fr-red-soft:rgba(239,28,36,.12);
  --fr-hazard:repeating-linear-gradient(135deg,var(--fr-ink) 0 22px,var(--fr-paper) 22px 44px);
  --fr-display:"Archivo Black",sans-serif;
  --fr-sans:"Archivo",sans-serif;
  --fr-mono:"Space Mono",monospace;
  --fr-ease:cubic-bezier(.22,1,.36,1);
  /* Iconos del botón de mostrar contraseña (no dependen de ninguna fuente) */
  --fr-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.8 12S5.4 5.2 12 5.2 22.2 12 22.2 12 18.6 18.8 12 18.8 1.8 12 1.8 12Z'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E");
  --fr-eye-off:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 5.5A9.6 9.6 0 0 1 12 5.2c6.6 0 10.2 6.8 10.2 6.8a18 18 0 0 1-3 4'/%3E%3Cpath d='M6.2 6.8A17.6 17.6 0 0 0 1.8 12S5.4 18.8 12 18.8a9.7 9.7 0 0 0 4-.8'/%3E%3Cpath d='M10 10a2.8 2.8 0 0 0 4 4'/%3E%3Cpath d='M2.5 2.5l19 19'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
[class*="fr-"] :where(h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd){margin-block:0}
[class*="fr-"] :where(ul,ol){padding-left:0}
html{scroll-behavior:smooth}
body{
  background:var(--fr-paper);
  color:var(--fr-ink);
  font-family:var(--fr-sans);
  font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* El cursor circular del prototipo está desactivado por defecto.
   Para recuperarlo:  add_filter( 'fourriders_custom_cursor', '__return_true' );  */
body.fr-has-cursor{cursor:none}
body.fr-has-cursor a,body.fr-has-cursor button{cursor:none}
@media(hover:none),(pointer:coarse){body.fr-has-cursor,body.fr-has-cursor a,body.fr-has-cursor button{cursor:auto}}
::selection{background:var(--fr-ink);color:var(--fr-paper)}
#wpadminbar,#wpadminbar *{cursor:auto!important}
[class*="fr-"] a:where(:not(.wp-element-button)){color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

/* grain + cursor */
.fr-grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.fr-cursor{position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid var(--fr-ink);
  border-radius:50%;transform:translate(-50%,-50%);z-index:9999;pointer-events:none;
  transition:width .25s var(--fr-ease),height .25s var(--fr-ease),background .25s,opacity .3s;}
.fr-cursor.fr-dot{width:6px;height:6px;background:var(--fr-ink);border-color:transparent}
.fr-cursor.fr-grow{width:62px;height:62px;background:rgba(22,22,22,.08)}
@media(hover:none),(pointer:coarse){.fr-cursor{display:none}}

/* utility bar */
.fr-util{background:var(--fr-ink);color:var(--fr-paper);font-family:var(--fr-mono);font-size:11px;letter-spacing:.06em}
.fr-util .fr-wrap{display:flex;justify-content:space-between;align-items:center;
  max-width:1400px;margin:0 auto;padding:9px 28px;flex-wrap:wrap;gap:6px}
.fr-util .fr-meta{display:flex;gap:22px;flex-wrap:wrap}
.fr-util .fr-meta span b{color:var(--fr-paper);font-weight:700;opacity:.55}
.fr-util .fr-ship{text-transform:uppercase;opacity:.8}
.fr-util a:hover{opacity:.6}

/* header */
.fr-header{position:sticky;top:0;z-index:900;background:rgba(246,245,243,.8);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--fr-line);transition:padding .35s var(--fr-ease)}
.fr-nav{max-width:1400px;margin:0 auto;padding:0 28px;display:flex;align-items:center;
  justify-content:space-between;gap:32px}
.fr-nav>.fr-brand{padding:18px 0}
.fr-nav>.fr-nav-right{padding:18px 0}
.fr-header.fr-shrink .fr-nav>.fr-brand,.fr-header.fr-shrink .fr-nav>.fr-nav-right{padding-top:13px;padding-bottom:13px}
.fr-brand{display:flex;align-items:center;gap:11px;white-space:nowrap}
.fr-brand .fr-logo-img{height:30px;width:auto;transition:height .35s var(--fr-ease)}
.fr-header.fr-shrink .fr-brand .fr-logo-img{height:28px}
.fr-brand .fr-word{font-family:var(--fr-display);font-size:24px;letter-spacing:-.02em;line-height:1}
.fr-brand .fr-mark{width:30px;height:30px;flex:0 0 auto}
.fr-brand .fr-mark circle,.fr-brand .fr-mark line{stroke:var(--fr-ink)}
.fr-brand .fr-mark .fr-hub{fill:var(--fr-ink);stroke:none}
.fr-links{display:flex;gap:30px;list-style:none;font-family:var(--fr-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.fr-nav-item{position:static}
.fr-nav-item.fr-mini{position:relative}
.fr-nav-item>a{position:relative;display:flex;align-items:center;gap:7px;padding:18px 0;color:var(--fr-gray);transition:color .2s;cursor:pointer}
.fr-header.fr-shrink .fr-nav-item>a{padding-top:13px;padding-bottom:13px}
.fr-nav-item>a .fr-chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .28s var(--fr-ease);opacity:.55}
.fr-nav-item>a::after{content:"";position:absolute;left:0;bottom:11px;width:0;height:2px;background:var(--fr-red);transition:width .3s var(--fr-ease)}
.fr-nav-item:hover>a,.fr-nav-item:focus-within>a{color:var(--fr-ink)}
.fr-nav-item:hover>a::after,.fr-nav-item:focus-within>a::after{width:calc(100% - 14px)}
.fr-nav-item:hover>a .fr-chev,.fr-nav-item:focus-within>a .fr-chev{transform:rotate(225deg) translateY(2px)}

/* full-width mega panel */
.fr-mega{position:absolute;left:0;right:0;top:100%;background:var(--fr-paper);
  border-top:1px solid var(--fr-line);border-bottom:1px solid var(--fr-line);
  box-shadow:0 30px 54px -34px rgba(22,22,22,.55);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--fr-ease);z-index:60}
.fr-mega::before,.fr-dropdown::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.fr-nav-item:hover>.fr-mega,.fr-nav-item:focus-within>.fr-mega,
.fr-nav-item:hover>.fr-dropdown,.fr-nav-item:focus-within>.fr-dropdown{opacity:1;visibility:visible;transform:none}
.fr-mega-in{max-width:1400px;margin:0 auto;padding:40px 28px 44px;display:grid;gap:30px;align-items:start}
.fr-mega--bmx .fr-mega-in{grid-template-columns:1.05fr 1fr 1fr 1fr 1.15fr}
.fr-mega--equip .fr-mega-in{grid-template-columns:1fr 1fr 1.2fr}
.fr-mega-col h4{font-family:var(--fr-display);text-transform:uppercase;font-size:.92rem;letter-spacing:.01em;
  margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid var(--fr-line);position:relative}
.fr-mega-col h4::after{content:"";position:absolute;left:0;bottom:-1.5px;width:26px;height:2px;background:var(--fr-red)}
.fr-mega-col a{display:block;font-family:var(--fr-sans);text-transform:none;font-size:13.5px;letter-spacing:0;
  color:var(--fr-gray);padding:5px 0;transition:color .18s,transform .18s;cursor:pointer;line-height:1.3}
.fr-mega-col a:hover{color:var(--fr-ink);transform:translateX(4px)}
.fr-mega-col a.fr-sub{padding-left:14px;font-size:12.5px;color:var(--fr-gray-2);position:relative}
.fr-mega-col a.fr-sub::before{content:"";position:absolute;left:2px;top:13px;width:7px;height:1px;background:var(--fr-red)}
.fr-mega-col .fr-all{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-family:var(--fr-mono);
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fr-ink);border-bottom:1px solid var(--fr-ink);padding-bottom:3px}
.fr-mega-col .fr-all:hover{color:var(--fr-red);border-color:var(--fr-red);transform:none}
/* mega feature cell */
.fr-mega-feat{position:relative;overflow:hidden;background:var(--fr-ink);color:var(--fr-paper);
  padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}
.fr-mega-feat .fr-fwheel{position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;opacity:.5}
.fr-mega-feat .fr-fwheel circle,.fr-mega-feat .fr-fwheel line{stroke:rgba(243,243,243,.3);fill:none}
.fr-mega-feat .fr-k{font-family:var(--fr-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fr-red)}
.fr-mega-feat h5{position:relative;font-family:var(--fr-display);text-transform:uppercase;font-size:1.55rem;line-height:.95;margin-top:8px}
.fr-mega-feat .fr-mf-cta{position:relative;font-family:var(--fr-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  align-self:flex-start;border:1px solid rgba(243,243,243,.4);padding:11px 18px;transition:.25s;cursor:pointer}
.fr-mega-feat .fr-mf-cta:hover{background:var(--fr-paper);color:var(--fr-ink);border-color:var(--fr-paper);transform:none}

/* compact dropdown */
.fr-dropdown{position:absolute;top:100%;left:0;min-width:236px;background:var(--fr-paper);
  border:1px solid var(--fr-line);box-shadow:0 24px 44px -30px rgba(22,22,22,.55);
  padding:14px 18px 18px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.24s var(--fr-ease);z-index:60}
.fr-dropdown a{display:block;font-family:var(--fr-sans);text-transform:none;font-size:13.5px;letter-spacing:0;
  color:var(--fr-gray);padding:7px 0;transition:color .18s,transform .18s;cursor:pointer}
.fr-dropdown a:hover{color:var(--fr-ink);transform:translateX(4px)}
.fr-dropdown h5{font-family:var(--fr-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fr-red);margin:10px 0 2px}
.fr-dropdown a.fr-sub{padding-left:13px;font-size:12.5px;color:var(--fr-gray-2);position:relative}
.fr-dropdown a.fr-sub::before{content:"";position:absolute;left:1px;top:14px;width:7px;height:1px;background:var(--fr-red)}

.fr-nav-right{display:flex;align-items:center;gap:20px;font-family:var(--fr-mono);font-size:12px}
.fr-nav-right .fr-ic{display:flex;align-items:center;gap:6px;color:var(--fr-gray);transition:color .2s;
  text-transform:uppercase;letter-spacing:.04em}
.fr-nav-right .fr-ic:hover{color:var(--fr-ink)}
.fr-cart-n{background:var(--fr-red);color:#fff;border-radius:2px;font-weight:700;padding:1px 6px;font-size:11px}
.fr-burger{display:none;background:none;border:none;color:var(--fr-ink);cursor:pointer;font-size:20px;line-height:1}

/* mobile drawer */
.fr-drawer{position:fixed;inset:0;z-index:1000;visibility:hidden}
.fr-drawer.fr-open{visibility:visible}
.fr-drawer-ov{position:absolute;inset:0;background:rgba(22,22,22,.45);opacity:0;transition:opacity .3s}
.fr-drawer.fr-open .fr-drawer-ov{opacity:1}
.fr-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(90%,420px);background:var(--fr-paper);
  transform:translateX(100%);transition:transform .38s var(--fr-ease);display:flex;flex-direction:column;box-shadow:-20px 0 50px -30px rgba(22,22,22,.6)}
.fr-drawer.fr-open .fr-drawer-panel{transform:none}
.fr-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--fr-line)}
.fr-drawer-head .fr-dw{font-family:var(--fr-display);text-transform:uppercase;font-size:20px;letter-spacing:-.02em}
.fr-drawer-head .fr-dw b{color:var(--fr-red)}
.fr-drawer-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--fr-ink)}
.fr-drawer-body{overflow-y:auto;flex:1;padding:4px 0 30px;-webkit-overflow-scrolling:touch}
.fr-acc{border-bottom:1px solid var(--fr-line-soft)}
.fr-acc>button{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;
  font-family:var(--fr-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--fr-ink);
  padding:16px 22px;cursor:pointer;text-align:left}
.fr-acc>button .fr-pm{position:relative;width:13px;height:13px;flex:0 0 auto}
.fr-acc>button .fr-pm::before,.fr-acc>button .fr-pm::after{content:"";position:absolute;background:var(--fr-red);transition:transform .25s var(--fr-ease)}
.fr-acc>button .fr-pm::before{top:6px;left:0;width:13px;height:1.5px}
.fr-acc>button .fr-pm::after{left:6px;top:0;width:1.5px;height:13px}
.fr-acc.fr-open>button .fr-pm::after{transform:scaleY(0)}
.fr-acc-panel{max-height:0;overflow:hidden;transition:max-height .4s var(--fr-ease);background:var(--fr-paper-2)}
.fr-acc.fr-open>.fr-acc-panel{max-height:1800px}
.fr-acc-panel a{display:block;padding:9px 22px;font-size:13.5px;color:var(--fr-gray);transition:color .18s}
.fr-acc-panel a:hover{color:var(--fr-ink)}
.fr-acc-sub-h{font-family:var(--fr-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fr-red);padding:13px 22px 3px}
.fr-acc-panel a.fr-sub{padding-left:38px;color:var(--fr-gray-2);font-size:12.5px}
.fr-acc-panel a.fr-subsub{padding-left:52px;color:var(--fr-gray-2);font-size:12px}
.fr-drawer-foot{padding:18px 22px;border-top:1px solid var(--fr-line);font-family:var(--fr-mono);font-size:12px;color:var(--fr-gray);display:flex;flex-direction:column;gap:6px}
.fr-drawer-foot a{color:var(--fr-ink)}
.fr-drawer-foot .fr-row{display:flex;gap:18px;margin-bottom:6px}

/* hero */
.fr-hero{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden;
  border-bottom:1px solid var(--fr-line);background:
   linear-gradient(180deg,var(--fr-paper),var(--fr-paper-2))}
.fr-hero-bg::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 80% 25%,rgba(22,22,22,.05),transparent 55%)}
.fr-wheel{position:absolute;right:-7%;top:50%;transform:translateY(-50%);
  width:min(58vw,820px);aspect-ratio:1;opacity:1;z-index:0;animation:spin 30s linear infinite}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.fr-wheel circle,.fr-wheel line{stroke:rgba(22,22,22,.12);fill:none}
.fr-wheel .fr-tire{stroke:rgba(22,22,22,.22);stroke-width:5}
.fr-wheel .fr-rim2{stroke:rgba(22,22,22,.3)}
.fr-wheel .fr-hub{fill:rgba(22,22,22,.4);stroke:none}
.fr-hero-inner{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:60px 28px;width:100%}
.fr-plate{display:inline-flex;align-items:center;gap:12px;font-family:var(--fr-mono);font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--fr-paper);background:var(--fr-ink);
  padding:7px 14px;margin-bottom:30px;font-weight:700;
  clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.fr-hero h1{font-family:var(--fr-display);text-transform:uppercase;line-height:.86;
  letter-spacing:-.015em;font-size:clamp(3.2rem,11vw,10.5rem);color:var(--fr-ink)}
.fr-hero h1 .fr-line{display:block;overflow:hidden}
.fr-hero h1 .fr-line span{display:block;transform:translateY(110%);animation:rise .9s var(--fr-ease) forwards}
.fr-hero h1 .fr-line:nth-child(2) span{animation-delay:.12s}
.fr-hero h1 .fr-outline{color:transparent;-webkit-text-stroke:2px var(--fr-ink)}
@keyframes rise{to{transform:translateY(0)}}
.fr-hero-sub{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:38px;
  flex-wrap:wrap;opacity:0;animation:fade .8s .55s var(--fr-ease) forwards}
@keyframes fade{to{opacity:1}}
.fr-hero-sub p{max-width:430px;font-size:18px;color:var(--fr-ink-soft);line-height:1.45}
.fr-hero-sub p em{font-style:normal;font-weight:700;color:var(--fr-ink)}
.fr-hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.fr-btn{font-family:var(--fr-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  padding:16px 28px;font-weight:700;border:1.5px solid var(--fr-ink);cursor:pointer;
  transition:.25s var(--fr-ease);display:inline-flex;align-items:center;gap:10px}
.fr-btn.fr-solid{background:var(--fr-ink);color:var(--fr-paper)}
.fr-btn.fr-solid:hover{background:var(--fr-ink-soft);border-color:var(--fr-ink-soft)}
.fr-btn.fr-ghost{color:var(--fr-ink);border-color:var(--fr-line)}
.fr-btn.fr-ghost:hover{border-color:var(--fr-ink)}
.fr-btn .fr-arr{transition:transform .25s var(--fr-ease)}
.fr-btn:hover .fr-arr{transform:translateX(5px)}

/* marquee (inverted dark for rhythm) */
.fr-marquee{overflow:hidden;background:var(--fr-ink);color:var(--fr-paper);
  border-top:1px solid var(--fr-ink);border-bottom:1px solid var(--fr-ink)}
.fr-marquee .fr-track{display:flex;white-space:nowrap;animation:scroll 34s linear infinite;will-change:transform}
.fr-marquee:hover .fr-track{animation-play-state:paused}
.fr-marquee .fr-track span{font-family:var(--fr-display);text-transform:uppercase;font-size:18px;
  letter-spacing:.02em;padding:13px 26px;display:inline-flex;align-items:center;gap:26px}
.fr-marquee .fr-track span::after{content:"●";color:var(--fr-red);font-size:9px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* section head */
.fr-sec-head{max-width:1400px;margin:0 auto;padding:90px 28px 36px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.fr-sec-head .fr-tag{font-family:var(--fr-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fr-gray);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.fr-sec-head .fr-tag::before{content:"";width:34px;height:2px;background:var(--fr-red)}
.fr-sec-head h2{font-family:var(--fr-display);text-transform:uppercase;line-height:.9;
  font-size:clamp(2.2rem,5.5vw,4.4rem);letter-spacing:-.01em}
.fr-sec-head .fr-link{font-family:var(--fr-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--fr-gray);border-bottom:1px solid var(--fr-line);padding-bottom:4px;transition:.2s}
.fr-sec-head .fr-link:hover{color:var(--fr-ink);border-color:var(--fr-ink)}

/* categories */
.fr-cats{max-width:1400px;margin:0 auto;padding:0 28px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fr-cat{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--fr-line);
  display:flex;flex-direction:column;justify-content:flex-end;padding:24px;
  background:var(--fr-paper-2);transition:.4s var(--fr-ease)}
.fr-cat .fr-num{position:absolute;top:14px;right:18px;font-family:var(--fr-mono);font-size:12px;color:var(--fr-gray-2)}
.fr-cat .fr-glow{position:absolute;inset:0;z-index:0;opacity:.5;transition:.5s var(--fr-ease);
  background:radial-gradient(70% 60% at 50% 18%,var(--g),transparent 70%)}
.fr-cat .fr-ring{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:90%;aspect-ratio:1;
  border-radius:50%;border:1px dashed rgba(22,22,22,.18);transition:.6s var(--fr-ease)}
.fr-cat .fr-ring::after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(22,22,22,.12)}
.fr-cat h3{position:relative;z-index:2;font-family:var(--fr-display);text-transform:uppercase;
  font-size:1.9rem;line-height:.92;letter-spacing:-.01em}
.fr-cat p{position:relative;z-index:2;font-family:var(--fr-mono);font-size:11.5px;color:var(--fr-ink-soft);margin-top:8px;letter-spacing:.04em}
.fr-cat .fr-go{position:relative;z-index:2;margin-top:18px;font-family:var(--fr-mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fr-ink);display:flex;align-items:center;gap:8px;
  opacity:0;transform:translateY(8px);transition:.35s var(--fr-ease)}
.fr-cat:hover{transform:translateY(-6px);border-color:var(--fr-ink);background:var(--fr-paper)}
.fr-cat:hover .fr-glow{opacity:.85}
.fr-cat:hover .fr-ring{transform:translateX(-50%) rotate(40deg) scale(1.05)}
.fr-cat:hover .fr-go{opacity:1;transform:translateY(0)}
/* Tarjeta con la foto de la categoría aclarada de fondo.

   La foto va nítida, y lo que la aclara es un velo del color del papel que
   sube de opacidad hacia abajo: arriba deja ver la imagen, y abajo —donde
   están el titular, el subtítulo y el «Entrar»— la lava hasta que el negro
   del texto se lee sin esfuerzo, venga la foto que venga.

   Al pasar el ratón el velo se afina y la foto se acerca un poco, así que la
   imagen asoma sin llegar a competir con el texto. */
.fr-cat--foto{background:var(--fr-paper)}
.fr-cat--foto .fr-glow,
.fr-cat--foto .fr-ring{display:none}
.fr-cat .fr-cat-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.fr-cat .fr-cat-img{width:100%;height:100%;object-fit:cover;object-position:center;
  transform:scale(1.01);transition:transform .6s var(--fr-ease)}
.fr-cat .fr-cat-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  transition:opacity .45s var(--fr-ease);
  background:linear-gradient(180deg,
    rgba(246,245,243,.72) 0%,
    rgba(246,245,243,.75) 34%,
    rgba(246,245,243,.9) 66%,
    rgba(246,245,243,.96) 100%)}
.fr-cat--foto .fr-num{z-index:2;color:var(--fr-ink)}
.fr-cat--foto:hover .fr-cat-img{transform:scale(1.07)}
.fr-cat--foto:hover .fr-cat-veil{opacity:.88}
@media (prefers-reduced-motion:reduce){
  .fr-cat .fr-cat-img{transition:none}
  .fr-cat--foto:hover .fr-cat-img{transform:scale(1.01)}
}
.fr-cat.fr-tono-1{--g:rgba(22,22,22,.16)}
.fr-cat.fr-tono-2{--g:rgba(22,22,22,.12)}
.fr-cat.fr-tono-3{--g:rgba(22,22,22,.16)}
.fr-cat.fr-tono-4{--g:rgba(22,22,22,.1)}

/* products */
.fr-prods{max-width:1400px;margin:0 auto;padding:0 28px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fr-card{border:1px solid var(--fr-line);background:var(--fr-paper);overflow:hidden;transition:.3s var(--fr-ease);display:flex;flex-direction:column}
.fr-card:hover{border-color:var(--fr-ink);transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(22,22,22,.4)}
.fr-card .fr-pic{position:relative;aspect-ratio:1;background:
  radial-gradient(60% 60% at 50% 45%,rgba(22,22,22,.06),transparent 70%),var(--fr-paper-2);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.fr-card .fr-pic .fr-gear{width:62%;aspect-ratio:1;opacity:.85;transition:.5s var(--fr-ease)}
.fr-card:hover .fr-pic .fr-gear{transform:rotate(90deg) scale(1.05)}
.fr-card .fr-pic .fr-gear circle,.fr-card .fr-pic .fr-gear line,.fr-card .fr-pic .fr-gear path,.fr-card .fr-pic .fr-gear rect{stroke:var(--fr-ink);fill:none}
.fr-card .fr-badge{position:absolute;top:12px;left:12px;font-family:var(--fr-mono);font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;background:var(--fr-ink);color:var(--fr-paper)}
.fr-card .fr-badge.fr-sale{background:var(--fr-paper);color:var(--fr-red);border:1px solid var(--fr-red)}
.fr-card .fr-body{padding:18px;display:flex;flex-direction:column;gap:6px;flex:1}
.fr-card .fr-cat-l{font-family:var(--fr-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fr-gray-2)}
.fr-card h4{font-weight:700;font-size:1.05rem;line-height:1.15}
.fr-card .fr-price{margin-top:auto;display:flex;align-items:baseline;gap:10px;font-family:var(--fr-mono)}
.fr-card .fr-price .fr-now{font-size:1.25rem;font-weight:700;color:var(--fr-ink)}
.fr-card .fr-price .fr-was{font-size:.85rem;color:var(--fr-gray-2);text-decoration:line-through}
.fr-card .fr-add{margin-top:14px;font-family:var(--fr-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--fr-line);padding:11px;text-align:center;transition:.25s;cursor:pointer}
.fr-card .fr-add:hover{background:var(--fr-ink);color:var(--fr-paper);border-color:var(--fr-ink)}

/* feature */
.fr-feature{max-width:1400px;margin:70px auto 0;padding:0 28px}
.fr-feature-box{position:relative;overflow:hidden;border:1px solid var(--fr-line);
  background:var(--fr-paper);display:grid;grid-template-columns:1.15fr .85fr;min-height:440px}
.fr-feature-box .fr-fl{padding:54px;display:flex;flex-direction:column;justify-content:center}
.fr-feature-box .fr-tag{font-family:var(--fr-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fr-gray);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.fr-feature-box .fr-tag::before{content:"";width:34px;height:2px;background:var(--fr-red)}
.fr-feature-box h2{font-family:var(--fr-display);text-transform:uppercase;line-height:.9;
  font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.01em;margin-bottom:18px}
.fr-feature-box p{color:var(--fr-ink-soft);max-width:440px;margin-bottom:30px;font-size:17px}
.fr-feature-box .fr-fr{position:relative;border-left:1px solid var(--fr-line);overflow:hidden;background:var(--fr-ink)}
.fr-feature-box .fr-fr .fr-helmet path,.fr-feature-box .fr-fr .fr-helmet circle{stroke:var(--fr-paper);fill:none;stroke-width:2}
.fr-feature-box .fr-helmet{position:absolute;inset:0;margin:auto;width:64%;opacity:.95}
.fr-feature-box .fr-brandtag{position:absolute;bottom:26px;right:26px;font-family:var(--fr-mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--fr-paper);opacity:.7}

/* values */
.fr-values{max-width:1400px;margin:70px auto 0;padding:0 28px;display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--fr-line);border:1px solid var(--fr-line)}
.fr-value{background:var(--fr-paper);padding:30px 26px;transition:.3s}
.fr-value:hover{background:var(--fr-paper-2)}
.fr-value .fr-n{font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray);letter-spacing:.1em;margin-bottom:14px}
.fr-value h5{font-family:var(--fr-display);text-transform:uppercase;font-size:1.15rem;letter-spacing:-.005em;margin-bottom:8px;line-height:1}
.fr-value p{font-size:13.5px;color:var(--fr-ink-soft);line-height:1.5}

/* cta (dark block) */
.fr-cta{max-width:1400px;margin:90px auto 0;padding:0 28px}
.fr-cta-in{position:relative;overflow:hidden;background:var(--fr-ink);color:var(--fr-paper);padding:70px 50px;text-align:center}
.fr-cta-in::before,.fr-cta-in::after{content:"";position:absolute;top:0;bottom:0;width:60px;
  background:var(--fr-hazard);background-size:60px 100%;opacity:.5}
.fr-cta-in::before{left:0}.fr-cta-in::after{right:0}
.fr-cta-in h2{position:relative;font-family:var(--fr-display);text-transform:uppercase;
  font-size:clamp(2rem,5.5vw,4rem);line-height:.9;letter-spacing:-.01em}
.fr-cta-in p{position:relative;font-family:var(--fr-mono);font-size:13px;letter-spacing:.06em;margin:16px 0 28px;text-transform:uppercase;opacity:.8}
.fr-cta-in .fr-btn{position:relative;background:var(--fr-paper);color:var(--fr-ink);border-color:var(--fr-paper)}
.fr-cta-in .fr-btn:hover{background:transparent;color:var(--fr-paper);border-color:var(--fr-paper)}

/* footer (light) */
.fr-site-footer{margin-top:90px;border-top:1px solid var(--fr-line);background:var(--fr-paper)}
.fr-foot-top{max-width:1400px;margin:0 auto;padding:60px 28px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fr-foot-brand .fr-brand{margin-bottom:18px}
.fr-foot-brand .fr-brand .fr-logo-img{height:40px}
.fr-foot-brand p{color:var(--fr-ink-soft);font-size:14px;max-width:300px}
.fr-fcol h6{font-family:var(--fr-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fr-gray);margin-bottom:18px}
.fr-fcol a,.fr-fcol span{display:block;font-size:13.5px;color:var(--fr-ink-soft);margin-bottom:10px;transition:.2s}
.fr-fcol a:hover{color:var(--fr-ink)}
.fr-fcol .fr-big{font-family:var(--fr-mono);font-size:18px;color:var(--fr-ink);font-weight:700}
.fr-foot-word{overflow:hidden;border-top:1px solid var(--fr-line)}
.fr-foot-word div{font-family:var(--fr-display);text-transform:uppercase;font-size:clamp(3rem,16vw,15rem);
  line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(22,22,22,.12);text-align:center;padding:10px 0;letter-spacing:-.02em}
.fr-foot-bot{max-width:1400px;margin:0 auto;padding:22px 28px;border-top:1px solid var(--fr-line);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray);letter-spacing:.05em}
.fr-foot-bot a:hover{color:var(--fr-ink)}

/* reveal */
.fr-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--fr-ease),transform .8s var(--fr-ease)}
.fr-reveal.fr-in{opacity:1;transform:none}

@media(max-width:1024px){
  .fr-cats,.fr-prods{grid-template-columns:repeat(2,1fr)}
  .fr-values{grid-template-columns:repeat(2,1fr)}
  .fr-feature-box{grid-template-columns:1fr}
  .fr-feature-box .fr-fr{min-height:280px;border-left:none;border-top:1px solid var(--fr-line)}
  .fr-foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .fr-links{display:none}.fr-burger{display:block}
}
@media(max-width:760px){
  .fr-util .fr-meta{gap:14px}
  .fr-hero{min-height:auto;padding:30px 0 50px}
  .fr-wheel{opacity:.5;right:-30%}
  .fr-cats,.fr-prods,.fr-values,.fr-foot-top{grid-template-columns:1fr}
  .fr-hero-sub{flex-direction:column;align-items:flex-start}
  .fr-feature-box .fr-fl{padding:34px}
  .fr-nav-right .fr-ic.fr-hide-sm{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .fr-hero h1 .fr-line span{transform:none}.fr-hero-sub{opacity:1}
}

/* ===== breadcrumb ===== */
.fr-crumbs{border-bottom:1px solid var(--fr-line);background:var(--fr-paper)}
.fr-crumbs-in{max-width:1400px;margin:0 auto;padding:16px 28px;font-family:var(--fr-mono);font-size:11.5px;
  letter-spacing:.04em;color:var(--fr-gray);display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.fr-crumbs-in a{color:var(--fr-gray);transition:.2s}
.fr-crumbs-in a:hover{color:var(--fr-ink)}
.fr-crumbs-in span.fr-sep{color:var(--fr-gray-2)}
.fr-crumbs-in .fr-cur{color:var(--fr-ink)}

/* ===== category head ===== */
.fr-cat-head{border-bottom:1px solid var(--fr-line);background:linear-gradient(180deg,var(--fr-paper),var(--fr-paper-2))}
.fr-cat-head-in{max-width:1400px;margin:0 auto;padding:54px 28px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.fr-cat-head .fr-kicker{font-family:var(--fr-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fr-gray);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.fr-cat-head .fr-kicker::before{content:"";width:34px;height:2px;background:var(--fr-red)}
.fr-cat-head h1{font-family:var(--fr-display);text-transform:uppercase;line-height:.9;font-size:clamp(2.6rem,6.5vw,5rem);letter-spacing:-.01em}
.fr-cat-head p{color:var(--fr-ink-soft);max-width:520px;margin-top:16px;font-size:16px}
.fr-cat-count{font-family:var(--fr-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fr-gray);
  border:1px solid var(--fr-line);padding:9px 16px;white-space:nowrap}

/* ===== shop layout ===== */
.fr-shop{max-width:1400px;margin:0 auto;padding:38px 28px 20px;display:grid;grid-template-columns:264px 1fr;gap:40px;align-items:start}
.fr-shop--full{grid-template-columns:1fr}
.fr-filters{position:sticky;top:96px;display:flex;flex-direction:column;gap:30px}
.fr-fgroup{border-bottom:1px solid var(--fr-line);padding-bottom:24px}
.fr-fgroup:last-child{border-bottom:none}
.fr-fgroup h4{font-family:var(--fr-display);text-transform:uppercase;font-size:.9rem;letter-spacing:.01em;margin-bottom:16px;position:relative;padding-bottom:9px;border-bottom:1px solid var(--fr-line)}
.fr-fgroup h4::after{content:"";position:absolute;left:0;bottom:-1.5px;width:24px;height:2px;background:var(--fr-red)}
.fr-fgroup .fr-frow{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--fr-gray);padding:6px 0;transition:color .18s;cursor:pointer}
.fr-fgroup a.fr-frow:hover{color:var(--fr-ink);transform:translateX(3px);transition:.18s}
.fr-fgroup .fr-frow .fr-n{font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray-2)}
.fr-fgroup .fr-frow.fr-active{color:var(--fr-ink);font-weight:600}
.fr-check{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--fr-gray);padding:6px 0;cursor:pointer}
.fr-check input{position:absolute;opacity:0;pointer-events:none}
.fr-check .fr-box{width:16px;height:16px;border:1.5px solid var(--fr-gray-2);display:inline-flex;align-items:center;justify-content:center;transition:.18s;flex:0 0 auto}
.fr-check input:checked+.fr-box{background:var(--fr-ink);border-color:var(--fr-ink)}
.fr-check input:checked+.fr-box::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}
.fr-check:hover{color:var(--fr-ink)}
.fr-check:hover .fr-box{border-color:var(--fr-ink)}
.fr-range{margin-top:6px}
.fr-range .fr-track{position:relative;height:3px;background:var(--fr-paper-3);margin:18px 4px 14px}
.fr-range .fr-fill{position:absolute;left:18%;right:28%;top:0;bottom:0;background:var(--fr-ink)}
.fr-range .fr-knob{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--fr-paper);border:2px solid var(--fr-ink);transform:translate(-50%,-50%)}
.fr-range .fr-knob.fr-k1{left:18%}.fr-range .fr-knob.fr-k2{left:72%}
.fr-range .fr-vals{display:flex;justify-content:space-between;font-family:var(--fr-mono);font-size:11.5px;color:var(--fr-gray)}
.fr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fr-chip{font-family:var(--fr-mono);font-size:11px;letter-spacing:.04em;border:1px solid var(--fr-line);padding:6px 11px;color:var(--fr-gray);transition:.2s;cursor:pointer}
.fr-chip:hover,.fr-chip.fr-sel{border-color:var(--fr-ink);color:var(--fr-ink)}
.fr-chip.fr-sel{background:var(--fr-ink);color:#fff}

.fr-shop-main{min-width:0}
.fr-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:22px;margin-bottom:6px;border-bottom:1px solid var(--fr-line);flex-wrap:wrap}
.fr-toolbar .fr-count{font-family:var(--fr-mono);font-size:12px;letter-spacing:.05em;color:var(--fr-gray)}
.fr-tb-right{display:flex;align-items:center;gap:22px}
.fr-tb-right label{font-family:var(--fr-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fr-gray);display:flex;align-items:center;gap:10px}
.fr-tb-right select{font-family:var(--fr-sans);font-size:13px;color:var(--fr-ink);background:var(--fr-paper);border:1px solid var(--fr-line);padding:9px 12px;cursor:pointer}
.fr-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:24px}

.fr-pager{display:flex;justify-content:center;align-items:center;gap:8px;padding:54px 0 10px;font-family:var(--fr-mono);font-size:13px}
.fr-pager a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--fr-line);color:var(--fr-gray);transition:.2s;cursor:pointer}
.fr-pager a:hover{border-color:var(--fr-ink);color:var(--fr-ink)}
.fr-pager a.fr-cur{background:var(--fr-ink);color:#fff;border-color:var(--fr-ink)}
.fr-pager a.fr-arrow{width:auto;padding:0 16px;letter-spacing:.06em;text-transform:uppercase;font-size:11px}

/* ===== product page ===== */
.fr-product{max-width:1400px;margin:0 auto;padding:44px 28px 10px;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:start}
.fr-gallery{position:sticky;top:96px}
.fr-gmain{position:relative;aspect-ratio:4/3;background:radial-gradient(60% 60% at 50% 42%,rgba(22,22,22,.06),transparent 70%),var(--fr-paper-2);border:1px solid var(--fr-line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.fr-gmain .fr-badge{position:absolute;top:16px;left:16px;font-family:var(--fr-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;background:var(--fr-ink);color:#fff}
.fr-gmain .fr-off{position:absolute;top:16px;right:16px;font-family:var(--fr-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;background:var(--fr-red);color:#fff;padding:5px 11px}
.fr-gview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.96);transition:.35s var(--fr-ease);pointer-events:none}
.fr-gview.fr-active{opacity:1;transform:none}
.fr-gview svg{width:74%;height:74%}
.fr-gview svg [stroke]{stroke:var(--fr-ink)}
.fr-gview svg .fr-accent{stroke:var(--frame,var(--fr-ink))}
.fr-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.fr-thumb{aspect-ratio:1;background:var(--fr-paper-2);border:1px solid var(--fr-line);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;padding:0}
.fr-thumb svg{width:60%;height:60%}
.fr-thumb svg [stroke]{stroke:var(--fr-gray)}
.fr-thumb:hover{border-color:var(--fr-ink)}
.fr-thumb.fr-active{border-color:var(--fr-ink)}
.fr-thumb.fr-active svg [stroke]{stroke:var(--fr-ink)}

.fr-pinfo .fr-pcat{font-family:var(--fr-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fr-gray);margin-bottom:14px}
.fr-pinfo h1{font-family:var(--fr-display);text-transform:uppercase;line-height:.92;font-size:clamp(2rem,4.4vw,3.4rem);letter-spacing:-.01em}
.fr-prate{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;color:var(--fr-gray)}
.fr-prate .fr-stars{letter-spacing:2px;color:var(--fr-ink)}
.fr-pprice{display:flex;align-items:baseline;gap:14px;margin:22px 0;font-family:var(--fr-mono)}
.fr-pprice .fr-now{font-size:2rem;font-weight:700;color:var(--fr-ink)}
.fr-pprice .fr-was{font-size:1.05rem;color:var(--fr-gray-2);text-decoration:line-through}
.fr-pprice .fr-off{font-family:var(--fr-mono);font-size:11px;font-weight:700;letter-spacing:.06em;background:var(--fr-red);color:#fff;padding:4px 9px;align-self:center}
.fr-pdesc{color:var(--fr-ink-soft);font-size:15.5px;line-height:1.6;max-width:520px;padding-bottom:26px;border-bottom:1px solid var(--fr-line)}
.fr-opt{padding:22px 0;border-bottom:1px solid var(--fr-line)}
.fr-opt-h{font-family:var(--fr-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fr-gray);margin-bottom:14px}
.fr-opt-h b{color:var(--fr-ink);font-weight:700}
.fr-swatches{display:flex;gap:10px;flex-wrap:wrap}
.fr-swatches.fr-sizes button{font-family:var(--fr-mono);font-size:12px;letter-spacing:.04em;min-width:58px;padding:11px 14px;border:1px solid var(--fr-line);background:var(--fr-paper);color:var(--fr-gray);cursor:pointer;transition:.2s}
.fr-swatches.fr-sizes button:hover{border-color:var(--fr-ink);color:var(--fr-ink)}
.fr-swatches.fr-sizes button.fr-sel{background:var(--fr-ink);border-color:var(--fr-ink);color:#fff}
.fr-swatches.fr-colors .fr-sw{width:34px;height:34px;border-radius:50%;background:var(--c);border:1px solid var(--fr-line);cursor:pointer;position:relative;transition:.2s}
.fr-swatches.fr-colors .fr-sw.fr-sel{box-shadow:0 0 0 2px var(--fr-paper),0 0 0 4px var(--fr-ink)}
.fr-buyrow{display:flex;gap:14px;align-items:stretch;margin-top:26px;flex-wrap:wrap}
.fr-qty{display:flex;align-items:center;border:1px solid var(--fr-ink)}
.fr-qty button{width:46px;height:100%;min-height:54px;background:var(--fr-paper);border:none;font-size:20px;color:var(--fr-ink);cursor:pointer;transition:.2s}
.fr-qty button:hover{background:var(--fr-ink);color:#fff}
.fr-qty input{width:46px;text-align:center;border:none;font-family:var(--fr-mono);font-size:15px;color:var(--fr-ink);background:var(--fr-paper)}
.fr-addcart{flex:1;justify-content:center;min-width:240px;cursor:pointer}
.fr-buyrow2{display:flex;align-items:center;gap:20px;margin-top:16px;flex-wrap:wrap}
.fr-buyrow2 .fr-btn.fr-ghost{cursor:pointer}
.fr-stock{font-family:var(--fr-mono);font-size:12px;color:var(--fr-gray);display:flex;align-items:center;gap:8px}
.fr-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:#3a7d44}
.fr-pmeta{list-style:none;margin-top:26px;border-top:1px solid var(--fr-line);padding-top:22px;display:flex;flex-direction:column;gap:10px}
.fr-pmeta li{font-size:13px;color:var(--fr-ink-soft);display:flex;gap:14px}
.fr-pmeta li span{font-family:var(--fr-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fr-gray);min-width:96px}

/* tabs */
.fr-ptabs{max-width:1400px;margin:70px auto 0;padding:0 28px}
.fr-tabbar{display:flex;gap:34px;border-bottom:1px solid var(--fr-line)}
.fr-tab{background:none;border:none;font-family:var(--fr-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fr-gray);padding:0 0 16px;cursor:pointer;position:relative;transition:.2s}
.fr-tab::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--fr-red);transition:width .3s var(--fr-ease)}
.fr-tab:hover{color:var(--fr-ink)}
.fr-tab.fr-sel{color:var(--fr-ink)}
.fr-tab.fr-sel::after{width:100%}
.fr-tabpanel{display:none;padding:34px 0 6px;max-width:760px}
.fr-tabpanel.fr-sel{display:block;animation:fadeIn .4s var(--fr-ease)}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fr-tabpanel p{color:var(--fr-ink-soft);font-size:15.5px;line-height:1.7;margin-bottom:14px}
.fr-spectable{width:100%;border-collapse:collapse}
.fr-spectable tr{border-bottom:1px solid var(--fr-line)}
.fr-spectable td{padding:13px 0;font-size:14px;color:var(--fr-ink-soft)}
.fr-spectable td:first-child{font-family:var(--fr-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fr-gray);width:200px}

@media(max-width:980px){
  .fr-product{grid-template-columns:1fr;gap:34px}
  .fr-gallery{position:static}
  .fr-shop{grid-template-columns:1fr}
  .fr-filters{position:static;flex-direction:row;flex-wrap:wrap;gap:22px;border:1px solid var(--fr-line);padding:20px;background:var(--fr-paper-2)}
  .fr-fgroup{border-bottom:none;padding-bottom:0;min-width:180px;flex:1}
  .fr-shop-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .fr-shop-grid{grid-template-columns:1fr 1fr}
  .fr-cat-head-in{padding:38px 28px}
  .fr-tabbar{gap:20px;overflow-x:auto}
}


/* ===== prototype: shared ===== */
.fr-crumbs{border-bottom:1px solid var(--fr-line);background:var(--fr-paper)}
.fr-crumbs-in{max-width:1400px;margin:0 auto;padding:16px 28px;font-family:var(--fr-mono);font-size:11.5px;letter-spacing:.04em;color:var(--fr-gray);display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.fr-crumbs-in a{color:var(--fr-gray);transition:.2s}.fr-crumbs-in a:hover{color:var(--fr-ink)}
.fr-crumbs-in .fr-sep{color:var(--fr-gray-2)}.fr-crumbs-in .fr-cur{color:var(--fr-ink)}
.fr-page-head{max-width:1400px;margin:0 auto;padding:46px 28px 0}
.fr-page-head .fr-kicker{font-family:var(--fr-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fr-gray);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.fr-page-head .fr-kicker::before{content:"";width:34px;height:2px;background:var(--fr-red)}
.fr-page-head h1{font-family:var(--fr-display);text-transform:uppercase;line-height:.9;font-size:clamp(2.4rem,6vw,4.6rem);letter-spacing:-.01em}
.fr-toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);background:var(--fr-ink);color:var(--fr-paper);font-family:var(--fr-mono);font-size:13px;letter-spacing:.03em;padding:14px 22px;z-index:2000;opacity:0;transition:.3s var(--fr-ease);box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.fr-toast.fr-show{opacity:1;transform:translateX(-50%)}
.fr-toast a{color:var(--fr-red);margin-left:10px}

/* ===== cart ===== */
.fr-cartwrap{max-width:1400px;margin:0 auto;padding:32px 28px 10px;display:grid;grid-template-columns:1fr 360px;gap:46px;align-items:start}
.fr-citem{display:grid;grid-template-columns:96px 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--fr-line);align-items:center}
.fr-citem:first-child{border-top:1px solid var(--fr-line)}
.fr-ci-pic{aspect-ratio:1;background:var(--fr-paper-2);border:1px solid var(--fr-line);display:flex;align-items:center;justify-content:center}
.fr-ci-pic svg{width:62%}.fr-ci-pic svg [stroke]{stroke:var(--fr-ink);fill:none}
.fr-ci-name{font-weight:700;font-size:1.05rem}
.fr-ci-var{font-family:var(--fr-mono);font-size:11.5px;color:var(--fr-gray);margin-top:5px;letter-spacing:.03em}
.fr-ci-remove{background:none;border:none;font-family:var(--fr-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--fr-gray);cursor:pointer;margin-top:12px;border-bottom:1px solid transparent;padding:0}
.fr-ci-remove:hover{color:var(--fr-red);border-color:var(--fr-red)}
.fr-ci-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.fr-ci-price{font-family:var(--fr-mono);font-weight:700;font-size:1.1rem}
.fr-miniqty{display:inline-flex;border:1px solid var(--fr-line)}
.fr-miniqty button{width:32px;height:32px;background:var(--fr-paper);border:none;cursor:pointer;color:var(--fr-ink);font-size:16px;transition:.15s}
.fr-miniqty button:hover{background:var(--fr-ink);color:#fff}
.fr-miniqty span{width:38px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--fr-mono);font-size:13px}
.fr-summary{border:1px solid var(--fr-line);padding:28px;position:sticky;top:96px;background:var(--fr-paper-2)}
.fr-summary h3{font-family:var(--fr-display);text-transform:uppercase;font-size:1.1rem;margin-bottom:20px}
.fr-sumrow{display:flex;justify-content:space-between;font-size:14px;color:var(--fr-ink-soft);padding:9px 0}
.fr-sumrow.fr-total{border-top:1px solid var(--fr-line);margin-top:8px;padding-top:16px;font-family:var(--fr-mono);font-weight:700;font-size:1.15rem;color:var(--fr-ink)}
.fr-sumrow .fr-free{color:#3a7d44;font-family:var(--fr-mono);font-size:12px}
.fr-summary .fr-btn,.fr-co-summary .fr-btn{width:100%;justify-content:center;margin-top:20px;cursor:pointer}
.fr-summary .fr-cont{display:block;text-align:center;margin-top:14px;font-family:var(--fr-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fr-gray)}
.fr-summary .fr-cont:hover{color:var(--fr-ink)}
.fr-cart-empty{max-width:900px;margin:0 auto;padding:80px 28px;text-align:center}
.fr-cart-empty h2{font-family:var(--fr-display);text-transform:uppercase;font-size:2rem;margin-bottom:14px}
.fr-cart-empty p{color:var(--fr-gray);margin-bottom:26px}

/* ===== checkout ===== */
.fr-steps{max-width:1400px;margin:0 auto;padding:30px 28px 0;display:flex;align-items:center;font-family:var(--fr-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:6px}
.fr-step{display:flex;align-items:center;gap:9px;color:var(--fr-gray-2)}
.fr-step .fr-b{width:24px;height:24px;border:1px solid var(--fr-gray-2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}
.fr-step.fr-done{color:var(--fr-ink)}.fr-step.fr-done .fr-b{background:var(--fr-ink);color:#fff;border-color:var(--fr-ink)}
.fr-step.fr-cur{color:var(--fr-ink)}.fr-step.fr-cur .fr-b{border-color:var(--fr-red);color:var(--fr-ink)}
.fr-steps .fr-sep{width:34px;height:1px;background:var(--fr-line);margin:0 14px}
.fr-checkout{max-width:1400px;margin:0 auto;padding:30px 28px 10px;display:grid;grid-template-columns:1fr 380px;gap:46px;align-items:start}
.fr-fs{border:1px solid var(--fr-line);padding:28px;margin-bottom:22px}
.fr-fs h3{font-family:var(--fr-display);text-transform:uppercase;font-size:1.05rem;margin-bottom:20px;display:flex;align-items:center;gap:12px}
.fr-fs h3 .fr-nm{font-family:var(--fr-mono);font-size:12px;color:var(--fr-red)}
.fr-field{margin-bottom:16px}
.fr-field label{display:block;font-family:var(--fr-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fr-gray);margin-bottom:7px}
.fr-field input,.fr-field select{width:100%;border:1px solid var(--fr-line);background:var(--fr-paper);padding:13px 14px;font-family:var(--fr-sans);font-size:14px;color:var(--fr-ink)}
.fr-field input:focus,.fr-field select:focus{outline:none;border-color:var(--fr-ink)}
.fr-frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fr-radio{display:flex;align-items:center;gap:12px;border:1px solid var(--fr-line);padding:15px 16px;margin-bottom:10px;cursor:pointer;transition:.2s}
.fr-radio:hover{border-color:var(--fr-ink)}
.fr-radio.fr-sel{border-color:var(--fr-ink);background:var(--fr-paper-2)}
.fr-radio .fr-r-main{font-size:14px;color:var(--fr-ink)}
.fr-radio .fr-r-sub{font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray);margin-top:2px}
.fr-radio .fr-r-price{margin-left:auto;font-family:var(--fr-mono);font-size:13px}
.fr-co-summary{border:1px solid var(--fr-line);padding:28px;position:sticky;top:96px;background:var(--fr-paper-2)}
.fr-co-summary h3{font-family:var(--fr-display);text-transform:uppercase;font-size:1.1rem;margin-bottom:18px}
.fr-co-mini{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--fr-line)}
.fr-co-mini .fr-m-pic{width:52px;height:52px;background:var(--fr-paper);border:1px solid var(--fr-line);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.fr-co-mini .fr-m-pic svg{width:60%}.fr-co-mini .fr-m-pic svg [stroke]{stroke:var(--fr-ink);fill:none}
.fr-co-mini .fr-m-n{font-size:13px;font-weight:600;line-height:1.2}
.fr-co-mini .fr-m-v{font-family:var(--fr-mono);font-size:10.5px;color:var(--fr-gray);margin-top:3px}
.fr-co-mini .fr-m-p{margin-left:auto;font-family:var(--fr-mono);font-size:13px;white-space:nowrap}
.fr-co-note{font-family:var(--fr-mono);font-size:10.5px;color:var(--fr-gray-2);margin-top:10px;text-align:center;letter-spacing:.03em}
.fr-confirm{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(22,22,22,.55);padding:20px}
.fr-confirm.fr-show{display:flex}
.fr-confirm-box{background:var(--fr-paper);max-width:460px;width:100%;padding:46px 40px;text-align:center;border-top:4px solid var(--fr-red)}
.fr-confirm-box .fr-ok{width:64px;height:64px;border:2px solid var(--fr-ink);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:30px}
.fr-confirm-box h2{font-family:var(--fr-display);text-transform:uppercase;font-size:1.8rem;margin-bottom:12px}
.fr-confirm-box p{color:var(--fr-ink-soft);margin-bottom:8px}
.fr-confirm-box .fr-ord{font-family:var(--fr-mono);font-size:13px;color:var(--fr-ink);margin-bottom:24px}
.fr-confirm-box .fr-btn{cursor:pointer}

/* ===== policy ===== */
.fr-policy{max-width:1400px;margin:0 auto;padding:38px 28px 20px;display:grid;grid-template-columns:250px 1fr;gap:54px;align-items:start}
.fr-policy-nav{position:sticky;top:96px;border-left:2px solid var(--fr-line)}
.fr-policy-nav a{display:block;padding:11px 18px;font-size:13.5px;color:var(--fr-gray);border-left:2px solid transparent;margin-left:-2px;transition:.2s}
.fr-policy-nav a:hover{color:var(--fr-ink)}
.fr-policy-nav a.fr-cur{color:var(--fr-ink);border-color:var(--fr-red);font-weight:600}
.fr-policy-body{max-width:760px}
.fr-policy-body .fr-upd{font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray-2);letter-spacing:.05em;margin-bottom:30px}
.fr-policy-body h2{font-family:var(--fr-display);text-transform:uppercase;font-size:1.35rem;margin:36px 0 14px;letter-spacing:-.005em}
.fr-policy-body h2:first-of-type{margin-top:0}
.fr-policy-body p{color:var(--fr-ink-soft);font-size:15px;line-height:1.7;margin-bottom:14px}
.fr-policy-body ul{margin:0 0 16px 20px;color:var(--fr-ink-soft);font-size:15px;line-height:1.7}
.fr-policy-body li{margin-bottom:7px}

@media(max-width:980px){
  .fr-cartwrap,.fr-checkout,.fr-policy{grid-template-columns:1fr}
  .fr-summary,.fr-co-summary,.fr-policy-nav,.fr-gallery{position:static}
}


/* =====================================================================
   Adaptaciones para WordPress / Gutenberg
   ===================================================================== */

/* Contenedor genérico de secciones creadas con bloques */
.fr-wrap{max-width:1400px;margin-inline:auto;padding-inline:28px}
.fr-section{max-width:1400px;margin-inline:auto;padding:0 28px}

/* Enlace de salto y foco visible (accesibilidad) */
.fr-skip{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--fr-ink);color:var(--fr-paper);
  padding:12px 20px;font-family:var(--fr-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.fr-skip:focus{left:8px;top:8px}
[class*="fr-"] :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--fr-red);outline-offset:3px}

/* La cabecera es pegajosa; con la barra de administración baja 32px. */
.admin-bar .fr-header{top:32px}
@media(max-width:782px){.admin-bar .fr-header{top:46px}}

/* Contador de la cesta (mini-cart de WooCommerce dentro de la cabecera) */
.fr-cart-link{display:flex;align-items:center;gap:6px;color:var(--fr-gray);transition:color .2s;
  font-family:var(--fr-mono);font-size:12px}
.fr-cart-link:hover{color:var(--fr-ink)}

/* Formulario de contacto del tema */
.fr-form{display:grid;gap:0}
.fr-form .fr-frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fr-form textarea{width:100%;border:1px solid var(--fr-line);background:var(--fr-paper);padding:13px 14px;
  font-family:var(--fr-sans);font-size:14px;color:var(--fr-ink);min-height:170px;resize:vertical}
.fr-form textarea:focus{outline:none;border-color:var(--fr-ink)}
.fr-form .fr-consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--fr-ink-soft);margin:6px 0 18px}
.fr-form .fr-hp{position:absolute;left:-9999px}
.fr-notice{border-left:3px solid var(--fr-red);background:var(--fr-paper-2);padding:16px 20px;margin-bottom:22px;
  font-size:14px;color:var(--fr-ink-soft)}
.fr-notice.fr-ok{border-color:#3a7d44}
.fr-contact{max-width:1400px;margin:0 auto;padding:38px 28px 20px;display:grid;
  grid-template-columns:1fr 380px;gap:54px;align-items:start}
.fr-contact-aside{border:1px solid var(--fr-line);background:var(--fr-paper-2);padding:28px}
.fr-contact-aside h3{font-family:var(--fr-display);text-transform:uppercase;font-size:1.05rem;margin-bottom:18px}
.fr-contact-aside .fr-cline{display:flex;flex-direction:column;gap:3px;padding:13px 0;border-bottom:1px solid var(--fr-line)}
.fr-contact-aside .fr-cline:last-child{border-bottom:none}
.fr-contact-aside .fr-cline b{font-family:var(--fr-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fr-gray);font-weight:400}
.fr-contact-aside .fr-cline span{font-size:15px;color:var(--fr-ink)}
@media(max-width:980px){
  .fr-contact{grid-template-columns:1fr}
  .fr-form .fr-frow2{grid-template-columns:1fr}
}

/* Contenido editorial genérico (entradas y páginas sueltas) */
.fr-entry{max-width:820px;margin:0 auto;padding:38px 28px 60px}
.fr-entry :where(h2){font-family:var(--fr-display);text-transform:uppercase;font-size:1.6rem;margin:38px 0 14px}
.fr-entry :where(h3){font-family:var(--fr-display);text-transform:uppercase;font-size:1.2rem;margin:30px 0 12px}
.fr-entry :where(p,li){color:var(--fr-ink-soft);font-size:15.5px;line-height:1.7}
.fr-entry :where(p){margin-bottom:16px}
.fr-entry :where(ul,ol){margin:0 0 18px 20px}
.fr-entry :where(img){margin-block:24px}
.fr-entry :where(blockquote){border-left:3px solid var(--fr-red);padding-left:22px;margin:26px 0;font-size:1.1rem}

/* Buscador */
.fr-search{display:flex;gap:12px;max-width:520px;margin:0 auto}
.fr-search input[type="search"]{flex:1;border:1px solid var(--fr-line);background:var(--fr-paper);padding:13px 14px;
  font-family:var(--fr-sans);font-size:14px;color:var(--fr-ink);border-radius:0}
.fr-search input[type="search"]:focus{outline:none;border-color:var(--fr-ink)}
.fr-search button{background:var(--fr-ink);color:var(--fr-paper);border:none;border-radius:0;cursor:pointer;
  font-family:var(--fr-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:13px 22px}
.fr-search button:hover{background:var(--fr-ink-soft)}

/* Estado 404 / sin resultados */
.fr-empty{max-width:900px;margin:0 auto;padding:100px 28px;text-align:center}
.fr-empty .fr-code{font-family:var(--fr-display);font-size:clamp(5rem,18vw,12rem);line-height:.8;
  color:transparent;-webkit-text-stroke:2px var(--fr-ink);margin-bottom:26px}
.fr-empty h1{font-family:var(--fr-display);text-transform:uppercase;font-size:2rem;margin-bottom:14px}
.fr-empty p{color:var(--fr-gray);margin-bottom:28px}

/* Preferencias de movimiento reducido */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .fr-wheel,.fr-marquee .fr-track{animation:none!important}
  .fr-reveal{opacity:1!important;transform:none!important}
  body.fr-has-cursor,body.fr-has-cursor a,body.fr-has-cursor button{cursor:auto}
  .fr-cursor{display:none}
}

/* Impresión */
@media print{
  .fr-header,.fr-site-footer,.fr-util,.fr-marquee,.fr-grain,.fr-cursor,.fr-drawer{display:none!important}
  body{background:#fff;color:#000}
}

/* Listas del pie sin viñetas */
.fr-site-footer .fr-flist{list-style:none;margin:0;padding:0}
.fr-site-footer .fr-flist li{margin:0}
.fr-site-footer .fr-flist a{display:block;font-size:13.5px;color:var(--fr-gray);padding:5px 0;transition:color .2s}
.fr-site-footer .fr-flist a:hover{color:var(--fr-ink)}
.fr-site-footer .fr-big a{font-family:var(--fr-mono);font-size:1.2rem;color:var(--fr-ink)}

/* Ficha de producto: bloque de compra y contacto */
.fr-contact-main{min-width:0}
.fr-order-confirm{max-width:900px;margin:0 auto;padding:38px 28px 40px}
.fr-order-confirm h2,.fr-order-confirm h3{font-family:var(--fr-display);text-transform:uppercase;
  font-size:1.2rem;margin:30px 0 14px}

/* Contenedor principal y huecos sueltos */
.fr-main{display:block}
.fr-main > *:last-child{margin-bottom:0}
.fr-form-wrap{margin-top:26px}
.fr-mega-col h4 a{color:inherit}
.fr-mega-col h4 a:hover{color:var(--fr-red)}
.fr-search-toggle{cursor:pointer}
.fr-contact-main .fr-notice{margin-top:0}

/* Separación entre secciones cuando se apilan patrones en una página */
.fr-main > .fr-section-block + .fr-section-block{margin-top:0}


/* El botón de envío del formulario no ocupa todo el ancho */
.fr-form > .fr-btn{justify-self:start;cursor:pointer;background:var(--fr-ink);color:var(--fr-paper);
  border:1.5px solid var(--fr-ink)}
.fr-form > .fr-btn:hover{background:var(--fr-ink-soft);border-color:var(--fr-ink-soft)}

/* Panel móvil: refuerzo por si algún ancestro crea contexto de posicionamiento */
.fr-drawer{width:100%;height:100%;max-height:100vh}
.fr-drawer-panel{height:100%}

/* Fila de dos campos que se queda con uno solo */
.fr-form .fr-frow2.fr-frow1{grid-template-columns:1fr}

/* =====================================================================
   Piezas propias del tema clásico
   ===================================================================== */

/* Índice lateral de las páginas legales (wp_list_pages) */
.fr-policy-nav ul{list-style:none;margin:0;padding:0}
.fr-policy-nav li{margin:0}
.fr-policy-nav a{display:block;padding:11px 18px;font-size:13.5px;color:var(--fr-gray);
  border-left:2px solid transparent;margin-left:-2px;transition:.2s}
.fr-policy-nav a:hover{color:var(--fr-ink)}
.fr-policy-nav .current_page_item>a,
.fr-policy-nav .current_page_ancestor>a{color:var(--fr-ink);border-color:var(--fr-red);font-weight:600}

/* Barra lateral de la tienda (widgets clásicos) */
.fr-filters .widget{border-bottom:1px solid var(--fr-line);padding-bottom:24px}
.fr-filters .widget:last-child{border-bottom:none}
.fr-filters .widget-title,
.fr-filters .widgettitle{font-family:var(--fr-display);text-transform:uppercase;font-size:.9rem;
  letter-spacing:.01em;margin:0 0 16px;position:relative;padding-bottom:9px;border-bottom:1px solid var(--fr-line)}
.fr-filters .widget-title::after,
.fr-filters .widgettitle::after{content:"";position:absolute;left:0;bottom:-1.5px;width:24px;height:2px;background:var(--fr-red)}
.fr-filters .widget ul{list-style:none;margin:0;padding:0}
.fr-filters .widget li{margin:0}
.fr-filters .widget li a{display:inline-flex;justify-content:space-between;align-items:center;width:100%;
  font-size:13.5px;color:var(--fr-gray);padding:6px 0;transition:.18s}
.fr-filters .widget li a:hover{color:var(--fr-ink);transform:translateX(3px)}
.fr-filters .widget li.current-cat>a{color:var(--fr-ink);font-weight:600}
.fr-filters .widget .count{font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray-2)}
.fr-filters .children{padding-left:13px}
.fr-filters .children a{font-size:12.5px;color:var(--fr-gray-2)}

/* Contenido clásico: alineaciones y pies de foto de TinyMCE */
.fr-entry .alignleft,.fr-policy-body .alignleft{float:left;margin:6px 26px 18px 0}
.fr-entry .alignright,.fr-policy-body .alignright{float:right;margin:6px 0 18px 26px}
.fr-entry .aligncenter,.fr-policy-body .aligncenter{display:block;margin:24px auto}
.fr-entry .wp-caption,.fr-policy-body .wp-caption{max-width:100%}
.fr-entry .wp-caption-text,.fr-policy-body .wp-caption-text{font-family:var(--fr-mono);font-size:11px;
  color:var(--fr-gray);margin-top:8px;text-align:center}
.fr-entry img,.fr-policy-body img{height:auto}
.fr-entry table,.fr-policy-body table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:14px}
.fr-entry th,.fr-entry td,.fr-policy-body th,.fr-policy-body td{border-bottom:1px solid var(--fr-line);padding:11px 0;text-align:left}
.fr-entry th,.fr-policy-body th{font-family:var(--fr-mono);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--fr-gray);font-weight:400}

/* Paginación de archivos (paginate_links) */
.fr-pager .page-numbers{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--fr-line);color:var(--fr-gray);transition:.2s;font-size:13px}
.fr-pager a.page-numbers:hover{border-color:var(--fr-ink);color:var(--fr-ink)}
.fr-pager .page-numbers.current{background:var(--fr-ink);color:#fff;border-color:var(--fr-ink)}
.fr-pager .page-numbers.dots{border-color:transparent;width:auto;min-width:20px;color:var(--fr-gray-2)}
.fr-pager .page-numbers.prev,
.fr-pager .page-numbers.next{width:auto;padding:0 18px;letter-spacing:.06em;text-transform:uppercase;
  font-size:11px;white-space:nowrap}

/* Rejilla de entradas del blog */
.fr-postgrid{max-width:1400px;margin:0 auto;padding:0 28px 20px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:16px}
.fr-postgrid .fr-card .fr-pic img{width:100%;height:100%;object-fit:cover}
.fr-postgrid .fr-card .fr-excerpt{font-size:13.5px;color:var(--fr-ink-soft);line-height:1.5}
@media(max-width:980px){.fr-postgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fr-postgrid{grid-template-columns:1fr}}

/* Comentarios */
.fr-comments{max-width:820px;margin:0 auto;padding:20px 28px 60px}
.fr-comments h2{font-family:var(--fr-display);text-transform:uppercase;font-size:1.3rem;margin-bottom:24px}
.fr-comments ol{list-style:none;margin:0;padding:0}
.fr-comments .comment-body{border-bottom:1px solid var(--fr-line);padding:20px 0}
.fr-comments .comment-author{font-weight:700;font-size:15px}
.fr-comments .comment-metadata{font-family:var(--fr-mono);font-size:11px;color:var(--fr-gray-2);margin-bottom:10px}
.fr-comments .children{padding-left:28px;border-left:1px solid var(--fr-line)}
.fr-comments input[type="text"],.fr-comments input[type="email"],.fr-comments input[type="url"],
.fr-comments textarea{width:100%;border:1px solid var(--fr-line);background:var(--fr-paper);padding:13px 14px;
  font-family:var(--fr-sans);font-size:14px;color:var(--fr-ink)}
.fr-comments .submit{font-family:var(--fr-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--fr-ink);color:var(--fr-paper);border:1.5px solid var(--fr-ink);padding:14px 26px;cursor:pointer}

/* Utilidad de accesibilidad estándar de WordPress */
.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;
  padding:0;position:absolute;width:1px;white-space:nowrap}

/* Imagen real en el bloque destacado, en lugar de la ilustración */
.fr-feature-box .fr-fr .fr-feature-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}

/* Botón «Buscar» de la cabecera: es un <button>, así que hay que quitarle
   el fondo y el borde que le pone el navegador. */
.fr-nav-right button.fr-ic{
  background:none;border:none;padding:0;margin:0;cursor:pointer;
  font-family:var(--fr-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--fr-gray);transition:color .2s}
.fr-nav-right button.fr-ic:hover{color:var(--fr-ink)}

/* Panel de búsqueda desplegable */
.fr-search-panel{position:absolute;left:0;right:0;top:100%;background:var(--fr-paper);
  border-bottom:1px solid var(--fr-line);box-shadow:0 24px 44px -30px rgba(22,22,22,.55);z-index:60}
.fr-search-panel .fr-search{max-width:1400px;margin:0 auto;padding:22px 28px;display:flex;gap:12px}

/* Buscador suelto de las páginas de búsqueda y error */
.fr-search-wrap{max-width:1400px;margin:0 auto;padding:22px 28px 0}

/* Enlace simple dentro del acordeón del panel móvil */
.fr-acc .fr-acc-link{display:block;font-family:var(--fr-mono);font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--fr-ink);padding:16px 22px}

/* Imagen destacada de una entrada */
.fr-single-thumb{max-width:1400px;margin:34px auto 0;padding:0 28px}
.fr-single-thumb img{width:100%;height:auto;border:1px solid var(--fr-line)}

/* Página a todo ancho */
.fr-wide{max-width:1400px;margin:0 auto;padding:38px 28px 60px}

/* Megamenú: columnas que se reparten según cuántos enlaces tienen.
   Una categoría con 24 subcategorías ocupa varios huecos de la rejilla y
   parte su lista en subcolumnas, en lugar de estirarse hacia abajo. */
.fr-mega-links{column-gap:30px}
.fr-mega-links a{break-inside:avoid}
.fr-mega-col--wide h4{margin-bottom:16px}
.fr-mega-col .fr-all{margin-top:18px}

/* Desplegable compacto partido en columnas cuando la lista es larga */
.fr-dropdown--wide{min-width:min(560px,80vw);column-gap:26px;padding:18px 22px 22px}
.fr-dropdown--wide a{break-inside:avoid}
.fr-dropdown--wide h5{break-inside:avoid;break-after:avoid}

/* En pantallas medianas el megapanel se relaja a menos columnas */
@media(max-width:1200px){
  .fr-mega-in{gap:22px}
  .fr-mega-links{column-gap:22px}
}

/* Los desplegables de los últimos elementos del menú se anclan a la derecha
   para no salirse de la pantalla cuando son anchos */
.fr-links .fr-nav-item:nth-last-child(-n+2) .fr-dropdown{left:auto;right:0}

/* =====================================================================
   Hero sobre fotografía

   Solo se activa cuando la portada tiene imagen de fondo (campo ACF
   «Imagen de fondo»). Sin imagen, el hero mantiene su versión clara con la
   rueda de radios y nada de esto se aplica.

   El velo degradado desde la izquierda es lo que garantiza que el titular
   se lea, venga la foto que venga: clara, oscura o con mucho detalle.
   ===================================================================== */

.fr-hero--foto{
  min-height:min(88vh,780px);
  align-items:flex-end;
  background:var(--fr-ink);
  border-bottom:1px solid var(--fr-line);
}

/* La foto va en un <img> y no como background-image: así el navegador
   elige el tamaño con srcset, y la imagen puede llevar prioridad de carga. */
.fr-hero-media{position:absolute;inset:0;z-index:0}
.fr-hero-media .fr-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block}

.fr-hero-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(12,12,12,.93) 0%,rgba(12,12,12,.8) 38%,rgba(12,12,12,.36) 72%,rgba(12,12,12,.1) 100%),
    linear-gradient(0deg,rgba(12,12,12,.6) 0%,transparent 48%);
}

.fr-hero--foto .fr-hero-inner{
  position:relative;z-index:2;
  max-width:1400px;margin:0 auto;width:100%;
  padding:120px 28px 74px;
}

/* Titular en color papel. La segunda línea conserva el perfilado del
   diseño: sobre el velo oscuro se lee, y es la firma de la marca. */
.fr-hero--foto h1{color:var(--fr-paper);text-wrap:balance;
  text-shadow:0 2px 30px rgba(12,12,12,.55)}
.fr-hero--foto h1 .fr-outline{
  color:transparent;
  -webkit-text-stroke:2px var(--fr-paper);
  paint-order:stroke fill;
}
.fr-hero--foto .fr-hero-sub{opacity:1;animation:none}
.fr-hero--foto .fr-hero-sub p{color:rgba(246,245,243,.82)}
.fr-hero--foto .fr-hero-sub p em{color:var(--fr-paper)}

/* Botones invertidos: el sólido en papel, el fantasma perfilado en claro */
.fr-hero--foto .fr-btn.fr-solid{background:var(--fr-paper);color:var(--fr-ink);border-color:var(--fr-paper)}
.fr-hero--foto .fr-btn.fr-solid:hover{background:var(--fr-red);border-color:var(--fr-red);color:#fff}
.fr-hero--foto .fr-btn.fr-ghost{color:var(--fr-paper);border-color:rgba(246,245,243,.45)}
.fr-hero--foto .fr-btn.fr-ghost:hover{border-color:var(--fr-paper);background:rgba(246,245,243,.08)}

/* Fila superior: placa a la izquierda y dato opcional a la derecha.
   Va en el flujo, así que nunca se cruza con los botones. */
.fr-hero-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}
.fr-hero-top-row .fr-plate{margin-bottom:0}
.fr-hero-dato{
  display:flex;flex-direction:column;gap:2px;text-align:right;flex:0 0 auto;
  font-family:var(--fr-mono);color:rgba(246,245,243,.6);
}
.fr-hero-dato b{font-size:1.7rem;color:var(--fr-paper);font-weight:700;letter-spacing:-.02em;line-height:1}
.fr-hero-dato span{font-size:10px;letter-spacing:.14em;text-transform:uppercase}

@media(max-width:760px){
  .fr-hero-dato{display:none}
  .fr-hero--foto .fr-hero-inner{padding:96px 22px 54px}
  .fr-hero--foto h1 .fr-outline{-webkit-text-stroke-width:1.4px}
}
