
/* ============================================================
   Fuentes autoalojadas — davidmatrecano.com · 23/07/2026
   Sustituye la llamada bloqueante a la CDN externa de fuentes.
   Variable donde Google la ofrece (Cinzel, EB Garamond);
   estática en Cinzel Decorative. Subsets: latin + latin-ext.
   ============================================================ */
@font-face{font-family:'Cinzel Decorative';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cinzeldecorative-latin-normal-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:'Cinzel Decorative';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cinzeldecorative-latin-ext-normal-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cinzel Decorative';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cinzeldecorative-latin-normal-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:'Cinzel Decorative';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cinzeldecorative-latin-ext-normal-700.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cinzel-latin-normal-var.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:'Cinzel';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cinzel-latin-ext-normal-var.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/ebgaramond-latin-italic-var.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:'EB Garamond';font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/ebgaramond-latin-ext-italic-var.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ebgaramond-latin-normal-var.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:'EB Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ebgaramond-latin-ext-normal-var.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}

:root{
  --g:#C9A84C; --gl:#E8C97A; --gd:#8A6D2A;
  --cr:#8B1A1A; --crb:#B22222;
  --ink:#0A0705; --tl:#D4C4A0; --tm:#9A8060;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--ink);color:var(--tl);font-family:'EB Garamond',serif;line-height:1.7;}

/* ====== HEADER CANÓNICO (idéntico a las fichas) ====== */
nav{position:fixed;top:0;left:0;width:100%;z-index:900;padding:0 36px;display:flex;align-items:center;justify-content:space-between;height:58px;background:rgba(10,7,5,0.98);border-bottom:1px solid rgba(201,168,76,0.22);box-shadow:0 4px 18px rgba(0,0,0,0.85),0 1px 0 rgba(201,168,76,0.15);box-sizing:border-box;}
.nlogo{font-family:'Cinzel',serif;font-size:14px;font-weight:700;color:var(--g);letter-spacing:3px;text-decoration:none;}
.nlogo span{color:var(--crb);}
.nlinks{display:flex;gap:18px;list-style:none;margin:0;padding:0;}
.nlinks a{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--tm);text-decoration:none;transition:color .3s;}
.nlinks a:hover{color:var(--g);}
.lr{display:flex;gap:4px;}
.lb{font-family:'Cinzel',serif;font-size:10px;letter-spacing:1px;padding:3px 10px;border:1px solid rgba(201,168,76,0.3);background:transparent;color:var(--tm);text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;}
.lb.on,.lb:hover{background:var(--g);color:var(--ink);border-color:var(--g);font-weight:700;}
.tabs{position:fixed;top:58px;left:0;width:100%;z-index:800;background:rgba(18,13,9,0.98);border-bottom:1px solid rgba(201,168,76,0.1);display:flex;overflow-x:auto;padding:0 36px;box-sizing:border-box;}
.tab{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:12px 16px;color:var(--tm);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:all .3s;}
.tab:hover{color:var(--g);}
.tab.on{color:var(--g);border-bottom-color:var(--g);}
@media (max-width:760px){
  nav{padding:0 16px;}
  .nlinks,
  .tabs{padding:0 16px;}
}

main{padding-top:110px;max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px;}

/* ====== BREADCRUMB ====== */
.breadcrumb{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;color:var(--tm);margin:8px 0 28px;text-transform:uppercase;}
.breadcrumb a{color:var(--tm);text-decoration:none;transition:color .3s;}
.breadcrumb a:hover{color:var(--g);}
.breadcrumb .sep{color:var(--gd);margin:0 10px;}
.breadcrumb .current{color:var(--g);}

/* ====== HERO DEL CATÁLOGO ====== */
.cat-hero{text-align:center;padding:40px 20px 60px;border-bottom:1px solid rgba(201,168,76,0.15);margin-bottom:60px;}
.cat-eyebrow{font-family:'Cinzel',serif;font-size:11px;letter-spacing:5px;color:var(--g);text-transform:uppercase;margin-bottom:18px;opacity:0.85;}
.cat-title{font-family:'Cinzel Decorative',serif;font-size:54px;font-weight:700;color:var(--gl);line-height:1.1;margin:0 0 18px;letter-spacing:1px;}
.cat-sub{font-family:'EB Garamond',serif;font-style:italic;font-size:22px;color:var(--tl);line-height:1.5;margin:0 0 14px;}
.cat-desc{font-size:17px;color:var(--tm);max-width:680px;margin:0 auto;}
.cat-hero .divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:30px 0 0;}
.cat-hero .divider .line{flex:0 0 100px;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0.5;}
.cat-hero .divider .ornament{color:var(--g);font-size:14px;letter-spacing:6px;}

/* ====== SECCIONES DE SAGA ====== */
.saga-section{margin-bottom:80px;}
.saga-header{margin-bottom:36px;text-align:center;}
.saga-eyebrow{font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;color:var(--g);text-transform:uppercase;margin-bottom:10px;opacity:0.85;}
.saga-title{font-family:'Cinzel Decorative',serif;font-size:32px;color:var(--gl);margin:0 0 8px;letter-spacing:1px;font-weight:700;}
.saga-sub{font-family:'EB Garamond',serif;font-style:italic;font-size:17px;color:var(--tm);margin:0;}
.saga-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 36px;}
.saga-divider .line{flex:0 0 80px;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent);opacity:0.4;}
.saga-divider .ornament{color:var(--g);font-size:13px;letter-spacing:6px;}

/* ====== GRID DE LIBROS ====== */
.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;}
.book-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.book-grid.cols-2{grid-template-columns:repeat(2,1fr);max-width:680px;margin:0 auto;}
.book-grid.cols-1{grid-template-columns:1fr;max-width:380px;margin:0 auto;}
@media (max-width:980px){
  .book-grid.cols-4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .book-grid.cols-4,.book-grid.cols-2{grid-template-columns:1fr;max-width:340px;margin:0 auto;}
}

.book-card{display:flex;flex-direction:column;background:linear-gradient(135deg,rgba(139,26,26,0.10),rgba(10,7,5,0.6));border:1px solid rgba(201,168,76,0.20);padding:18px;text-decoration:none;transition:all .35s;}
.book-card:hover{border-color:var(--g);background:linear-gradient(135deg,rgba(139,26,26,0.18),rgba(10,7,5,0.7));transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,0.5);}
.book-card-cover{position:relative;margin-bottom:18px;}
.book-card-cover img{width:100%;height:auto;display:block;box-shadow:0 14px 32px rgba(0,0,0,0.6);border:1px solid rgba(201,168,76,0.25);}
.book-card-badge{position:absolute;top:-8px;left:-8px;background:linear-gradient(135deg,var(--cr),var(--crb));color:var(--gl);padding:5px 11px;font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,0.5);}
.book-card-meta{flex:1;display:flex;flex-direction:column;}
.book-card-eyebrow{font-family:'Cinzel',serif;font-size:9px;letter-spacing:2.5px;color:var(--g);text-transform:uppercase;margin-bottom:8px;opacity:0.85;}
.book-card-title{font-family:'Cinzel Decorative',serif;font-size:18px;color:var(--gl);line-height:1.25;margin:0 0 10px;font-weight:700;letter-spacing:0.5px;}
.book-card-tagline{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--tl);line-height:1.5;margin:0 0 16px;flex:1;opacity:0.9;}
.book-card-langs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px;}
.book-card-lang{font-family:'Cinzel',serif;font-size:9px;letter-spacing:1px;padding:3px 7px;background:rgba(201,168,76,0.12);color:var(--tm);}
.book-card-lang.current{background:var(--g);color:var(--ink);font-weight:700;}
.book-card-cta{display:inline-block;font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;padding:10px 14px;text-transform:uppercase;text-decoration:none;border:1px solid var(--g);background:transparent;color:var(--g);text-align:center;transition:all .3s;font-weight:700;}
.book-card-cta:hover{background:var(--g);color:var(--ink);}

/* ====== FOOTER ====== */
footer{margin-top:100px;padding:40px 24px 28px;border-top:1px solid rgba(201,168,76,0.18);text-align:center;}
.flogo{font-family:'Cinzel',serif;font-size:13px;font-weight:700;color:var(--g);letter-spacing:3px;margin-bottom:6px;}
.ftag{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:var(--tm);margin-bottom:18px;}
.oeof{color:var(--g);letter-spacing:8px;font-size:10px;margin-bottom:18px;opacity:0.6;}
.flinks{list-style:none;padding:0;margin:18px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:18px;}
.flinks a{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:var(--tm);text-decoration:none;text-transform:uppercase;transition:color .3s;}
.flinks a:hover{color:var(--g);}
.fmotto{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;color:rgba(197,160,89,0.5);margin:14px 0;font-style:italic;}
.fcopy{font-family:'EB Garamond',serif;font-size:11px;color:var(--tm);}

@media (max-width:860px){
  .cat-title{font-size:36px;}
  .cat-sub{font-size:18px;}
  .saga-title{font-size:24px;}
  main{padding-left:18px;padding-right:18px;padding-top:115px;}
}
