/* =========================================================
   CÁZARES EDITORIAL — DESIGN SYSTEM v2.0
   Archivo: assets/css/editorial-design-system.css
   Uso: cargar después de site.css
   ========================================================= */

:root{
  --ce-navy:#07163d;
  --ce-navy-2:#0D1B3E;
  --ce-gold:#C9A84C;
  --ce-gold-soft:#f3ead1;
  --ce-bg:#f7f4ee;
  --ce-white:#ffffff;
  --ce-text:#111827;
  --ce-muted:#6b7280;
  --ce-border:#e5e7eb;
  --ce-danger:#b91c1c;
  --ce-success:#166534;
  --ce-radius:18px;
  --ce-radius-sm:10px;
  --ce-shadow:0 12px 34px rgba(0,0,0,.10);
  --ce-shadow-soft:0 8px 22px rgba(0,0,0,.07);
  --ce-max:1200px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--ce-bg);
  color:var(--ce-text);
  font-family:Inter, Arial, sans-serif;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  height:auto;
}

/* =========================
   CONTENEDORES
   ========================= */

.ce-container,
.wrap{
  max-width:var(--ce-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:20px;
  padding-right:20px;
}

.ce-section{
  max-width:var(--ce-max);
  margin:0 auto;
  padding:42px 20px;
}

.ce-panel,
.obra-panel,
.autor-panel,
.panel-public{
  background:var(--ce-white);
  border:1px solid rgba(0,0,0,.05);
  border-radius:var(--ce-radius);
  padding:28px;
  box-shadow:var(--ce-shadow-soft);
  margin-bottom:24px;
}

.ce-panel h2,
.obra-panel h2,
.autor-panel h2,
.panel-public h2{
  font-family:Georgia, "Times New Roman", serif;
  color:var(--ce-navy);
  margin:0 0 16px;
  font-size:30px;
}

.ce-panel p,
.obra-panel p,
.autor-panel p,
.panel-public p{
  line-height:1.8;
}

/* =========================
   TIPOGRAFÍA
   ========================= */

.ce-title,
.section-title{
  font-family:Georgia, "Times New Roman", serif;
  font-size:36px;
  line-height:1.15;
  color:var(--ce-navy);
  margin:0 0 10px;
}

.ce-subtitle{
  font-size:20px;
  line-height:1.5;
  color:var(--ce-muted);
  margin:0 0 18px;
}

.ce-muted,
.muted{
  color:var(--ce-muted);
}

.ce-lead{
  font-size:17px;
  line-height:1.8;
  color:#374151;
}

/* =========================
   BOTONES
   ========================= */

.btn,
.ce-btn,
.mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:var(--ce-radius-sm);
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
  transition:.2s ease;
  line-height:1;
}

.btn:hover,
.ce-btn:hover,
.mini-btn:hover{
  transform:translateY(-2px);
}

.btn.gold,
.ce-btn-gold{
  background:var(--ce-gold);
  color:#1f2937 !important;
}

.ce-btn-navy,
.mini-btn{
  background:var(--ce-navy);
  color:#fff !important;
}

.ce-btn-white{
  background:#fff;
  color:var(--ce-navy) !important;
  border:1px solid var(--ce-border);
}

.ce-btn-whatsapp{
  background:#128c7e;
  color:#fff !important;
}

.ce-btn-danger{
  background:var(--ce-danger);
  color:#fff !important;
}

.outline-dark{
  background:#fff;
  color:var(--ce-navy) !important;
  border:1px solid var(--ce-navy);
}

/* =========================
   TOPBAR Y NAV
   ========================= */

.topbar{
  background:#061025;
  color:#fff;
  padding:8px 7%;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}

.topbar a{
  color:var(--ce-gold);
  font-weight:900;
}

.nav{
  background:#fff;
  min-height:76px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 7%;
  box-shadow:0 2px 16px rgba(0,0,0,.08);
  position:sticky;
  top:0;
  z-index:50;
}

.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  height:62px;
  max-width:210px;
  overflow:hidden;
}

.brand img{
  width:auto !important;
  height:58px !important;
  max-width:200px !important;
  object-fit:contain;
  display:block;
  position:static !important;
}

.menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  flex-wrap:wrap;
}

.menu a{
  font-size:14px;
  font-weight:800;
  color:var(--ce-navy);
}

.menu a:hover{
  color:var(--ce-gold);
}

/* =========================
   NAVEGACIÓN INTERNA
   ========================= */

.public-nav-tools{
  max-width:var(--ce-max);
  margin:24px auto 0;
  padding:0 20px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.public-nav-tools a,
.public-nav-tools button{
  background:var(--ce-navy);
  color:#fff !important;
  border:0;
  padding:10px 16px;
  border-radius:9px;
  font-weight:900;
  cursor:pointer;
  font-size:14px;
}

.breadcrumb{
  max-width:var(--ce-max);
  margin:14px auto 0;
  padding:0 20px;
  display:flex;
  gap:8px;
  align-items:center;
  color:var(--ce-muted);
  font-size:14px;
  flex-wrap:wrap;
}

.breadcrumb a{
  color:var(--ce-navy);
  font-weight:900;
}

.breadcrumb strong{
  color:var(--ce-text);
}

/* =========================
   HERO OBRA
   ========================= */

.obra-hero{
  max-width:var(--ce-max);
  margin:30px auto 0;
  padding:0 20px;
}

.obra-hero-inner{
  background:#fff;
  border-radius:24px;
  padding:34px;
  display:grid;
  grid-template-columns:300px 1fr;
  gap:38px;
  align-items:start;
  box-shadow:var(--ce-shadow);
  border:1px solid rgba(0,0,0,.05);
}

.obra-cover-card{
  width:300px;
  max-width:100%;
  background:#f4f4f4;
  border-radius:20px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}

.obra-cover-card img{
  width:auto !important;
  max-width:100% !important;
  max-height:420px !important;
  object-fit:contain !important;
  display:block;
  border-radius:12px;
}

.obra-main-info h1{
  font-family:Georgia, "Times New Roman", serif;
  font-size:46px;
  color:var(--ce-navy);
  margin:14px 0 10px;
  line-height:1.08;
}

.obra-main-info h2{
  font-size:22px;
  color:var(--ce-muted);
  margin:0 0 16px;
  font-weight:600;
}

.obra-badge,
.autor-badge{
  display:inline-block;
  background:var(--ce-gold);
  color:#111827;
  padding:8px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
}

.obra-saga{
  color:var(--ce-muted);
  font-weight:800;
  margin:14px 0 0;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:13px;
}

.obra-author a{
  color:var(--ce-navy);
  font-weight:900;
}

.obra-lead{
  font-size:17px;
  line-height:1.75;
  color:#374151;
  max-width:760px;
}

.obra-platforms{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 0;
}

.obra-share,
.autor-social{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.obra-share span,
.autor-social span{
  font-weight:900;
  color:var(--ce-navy);
}

.obra-share a,
.autor-social a,
.autor-link-list a{
  background:var(--ce-navy);
  color:white !important;
  padding:10px 14px;
  border-radius:9px;
  font-weight:900;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.obra-share a:hover,
.autor-social a:hover,
.autor-link-list a:hover{
  background:var(--ce-gold);
  color:#111827 !important;
}

/* =========================
   LAYOUT OBRA / AUTOR
   ========================= */

.obra-section,
.autor-section{
  max-width:var(--ce-max);
  margin:0 auto;
  padding:28px 20px;
}

.obra-layout,
.autor-layout{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:28px;
  align-items:start;
}

.obra-content,
.autor-content{
  min-width:0;
}

.obra-sidebar,
.autor-sidebar{
  min-width:0;
}

.obra-data-list div,
.autor-data-list div{
  border-bottom:1px solid var(--ce-border);
  padding:12px 0;
}

.obra-data-list strong,
.autor-data-list strong{
  display:block;
  color:var(--ce-navy);
  margin-bottom:4px;
}

.obra-data-list span,
.autor-data-list span{
  color:#374151;
}

.obra-buy-list,
.autor-link-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.obra-buy-list a{
  background:var(--ce-gold);
  color:#111827 !important;
  padding:12px 16px;
  border-radius:10px;
  font-weight:900;
  text-align:center;
}

/* =========================
   AUTOR HERO
   ========================= */

.autor-hero{
  max-width:var(--ce-max);
  margin:30px auto 0;
  padding:0 20px;
}

.autor-hero-inner{
  background:#fff;
  border-radius:24px;
  padding:34px;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:38px;
  align-items:start;
  box-shadow:var(--ce-shadow);
  border:1px solid rgba(0,0,0,.05);
}

.autor-photo-card{
  width:280px;
  max-width:100%;
  background:linear-gradient(135deg,#f8fafc,#f3ead1);
  border-radius:22px;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}

.autor-photo-card img{
  width:240px !important;
  height:240px !important;
  object-fit:cover !important;
  border-radius:50%;
  display:block;
  border:6px solid #fff;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
}

.autor-initial{
  width:240px;
  height:240px;
  border-radius:50%;
  background:var(--ce-navy);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:90px;
  font-weight:900;
  font-family:Georgia,serif;
}

.autor-main-info h1{
  font-family:Georgia, "Times New Roman", serif;
  font-size:46px;
  color:var(--ce-navy);
  margin:14px 0 8px;
  line-height:1.08;
}

.autor-real-name{
  color:var(--ce-muted);
  margin:0 0 12px;
  font-weight:700;
}

.autor-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0;
}

.autor-meta span{
  background:#f8fafc;
  border:1px solid var(--ce-border);
  padding:8px 12px;
  border-radius:999px;
  font-weight:800;
  color:#374151;
  font-size:14px;
}

.autor-generos{
  color:var(--ce-gold);
  font-weight:900;
  margin:12px 0;
}

.autor-lead{
  font-size:17px;
  line-height:1.75;
  color:#374151;
  max-width:760px;
}

.autor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

/* =========================
   TARJETAS DE LIBROS Y AUTORES
   ========================= */

.grid{
  display:grid;
  gap:22px;
}

.books-grid{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}

.book-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--ce-shadow-soft);
  transition:.2s ease;
  border:1px solid rgba(0,0,0,.05);
}

.book-card:hover{
  transform:translateY(-4px);
}

.book-cover{
  width:100%;
  height:300px;
  background:#f4f4f4;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:12px;
}

.book-cover img{
  width:auto !important;
  max-width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block;
}

.book-body{
  padding:16px;
  text-align:center;
}

.book-body h3{
  font-size:16px;
  color:var(--ce-text);
  margin:0 0 8px;
}

.book-body p{
  color:var(--ce-muted);
  font-size:13px;
  margin:0 0 12px;
}

.author-mini-box{
  display:grid;
  grid-template-columns:100px 1fr;
  gap:18px;
  align-items:start;
}

.avatar{
  width:86px;
  height:86px;
  background:var(--ce-navy);
  color:#fff;
  border-radius:50%;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:900;
  overflow:hidden;
}

.avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* =========================
   CTA Y FOOTER
   ========================= */

.cta{
  max-width:var(--ce-max);
  margin:40px auto;
  background:
    linear-gradient(90deg,rgba(7,22,61,.95),rgba(7,22,61,.75)),
    url('https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=1600&q=80');
  background-size:cover;
  background-position:center;
  color:#fff;
  border-radius:22px;
  padding:54px;
}

.cta h2{
  font-family:Georgia, "Times New Roman", serif;
  font-size:36px;
  margin:0 0 10px;
}

.cta p{
  max-width:650px;
  line-height:1.7;
}

.footer{
  background:#061025;
  color:#fff;
  padding:42px 7%;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:30px;
}

.footer h3,
.footer h4{
  margin-top:0;
  color:#fff;
}

.footer p{
  color:#d1d5db;
  line-height:1.7;
}

/* =========================
   RESPONSIVE
   ========================= */

@media(max-width:1000px){
  .nav{
    flex-direction:column;
    height:auto;
    gap:14px;
  }

  .menu{
    justify-content:center;
    gap:14px;
  }

  .obra-hero-inner,
  .autor-hero-inner{
    grid-template-columns:1fr;
  }

  .obra-cover-card,
  .autor-photo-card{
    width:100%;
  }

  .obra-layout,
  .autor-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .topbar{
    flex-direction:column;
    text-align:center;
  }

  .obra-hero-inner,
  .autor-hero-inner{
    padding:22px;
  }

  .obra-main-info h1,
  .autor-main-info h1{
    font-size:34px;
  }

  .obra-cover-card img{
    max-height:360px !important;
  }

  .autor-photo-card img,
  .autor-initial{
    width:190px !important;
    height:190px !important;
  }

  .author-mini-box{
    grid-template-columns:1fr;
  }

  .cta{
    margin:30px 20px;
    padding:34px 24px;
  }

  .footer{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   CÁZARES EDITORIAL — PORTADA V3 / CAPA FINAL
   ========================================================= */

:root{
    --ce-navy:#07163d;
    --ce-navy-2:#0d1b3e;
    --ce-blue:#12306d;
    --ce-gold:#c9a84c;
    --ce-gold-light:#ead99d;
    --ce-cream:#f7f3e8;
    --ce-paper:#fbfaf7;
    --ce-text:#172033;
    --ce-muted:#667085;
    --ce-border:#e7e2d7;
    --ce-shadow:0 18px 50px rgba(7,22,61,.10);
    --ce-shadow-soft:0 10px 30px rgba(7,22,61,.07);
}

body{
    background:var(--ce-paper);
    color:var(--ce-text);
    font-family:Inter,Arial,sans-serif;
}

h1,h2,h3,.brand{
    font-family:"Playfair Display",Georgia,serif;
}

.home-v3{
    overflow:hidden;
}

.ce-kicker{
    display:inline-block;
    color:var(--ce-gold);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ce-home-hero{
    max-width:1320px;
    min-height:650px;
    margin:26px auto 54px;
    padding:clamp(42px,6vw,86px);
    display:grid;
    grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);
    gap:clamp(35px,5vw,76px);
    align-items:center;
    position:relative;
    overflow:hidden;
    border-radius:30px;
    background:
        radial-gradient(circle at 77% 17%,rgba(201,168,76,.22),transparent 26%),
        linear-gradient(135deg,#06112f 0%,#0a1f52 58%,#12306d 100%);
    color:#fff;
    box-shadow:0 28px 80px rgba(7,22,61,.22);
}

.ce-home-hero::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-160px;
    bottom:-180px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    box-shadow:
        0 0 0 48px rgba(255,255,255,.03),
        0 0 0 96px rgba(255,255,255,.025);
}

.ce-home-hero__content,
.ce-home-hero__panel{
    position:relative;
    z-index:1;
}

.ce-home-hero h1{
    max-width:850px;
    margin:18px 0 24px;
    color:#fff;
    font-size:clamp(3rem,6vw,5.7rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.ce-home-hero h1 span{
    color:var(--ce-gold-light);
}

.ce-home-hero__content > p{
    max-width:760px;
    margin:0;
    color:#dfe7f6;
    font-size:clamp(1rem,1.7vw,1.18rem);
    line-height:1.75;
}

.ce-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.ce-home-hero .btn,
.ce-author-cta .btn{
    min-height:49px;
    padding:13px 22px;
    border-radius:999px;
}

.ce-home-hero .btn.outline,
.ce-author-cta .btn.outline{
    border:1px solid rgba(255,255,255,.45);
    background:transparent;
    color:#fff!important;
}

.ce-home-hero .btn.outline:hover,
.ce-author-cta .btn.outline:hover{
    border-color:var(--ce-gold);
    background:rgba(255,255,255,.08);
}

.ce-hero-proof{
    display:flex;
    flex-wrap:wrap;
    gap:28px;
    margin-top:42px;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.14);
}

.ce-hero-proof div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.ce-hero-proof strong{
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:1.65rem;
}

.ce-hero-proof span{
    color:#bfcbe0;
    font-size:.82rem;
}

.ce-home-hero__panel{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.ce-home-hero__panel a{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:16px;
    align-items:center;
    padding:21px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:18px;
    background:rgba(255,255,255,.075);
    color:#fff;
    backdrop-filter:blur(10px);
    transition:.25s ease;
}

.ce-home-hero__panel a:hover{
    transform:translateX(-5px);
    border-color:rgba(201,168,76,.75);
    background:rgba(255,255,255,.12);
}

.ce-home-hero__panel > a > span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--ce-gold);
    color:#14203a;
    font-family:"Playfair Display",serif;
    font-weight:800;
}

.ce-home-hero__panel strong{
    display:block;
    color:#fff;
    font-family:Inter,sans-serif;
    font-size:1rem;
}

.ce-home-hero__panel small{
    display:block;
    margin-top:5px;
    color:#cbd6e8;
    line-height:1.45;
}

.ce-search-shell{
    max-width:1050px;
    margin:-84px auto 70px;
    padding:0 20px;
    position:relative;
    z-index:5;
}

.ce-search{
    display:grid;
    grid-template-columns:40px 1fr auto;
    gap:10px;
    align-items:center;
    padding:10px 10px 10px 20px;
    border:1px solid var(--ce-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--ce-shadow);
}

.ce-search > span{
    color:var(--ce-gold);
    font-size:2rem;
    line-height:1;
}

.ce-search input{
    width:100%;
    min-width:0;
    padding:14px 8px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ce-text);
    font-size:1rem;
}

.ce-search button{
    min-height:48px;
    padding:0 24px;
    border:0;
    border-radius:12px;
    background:var(--ce-navy);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.ce-section{
    max-width:1240px;
    margin:0 auto;
    padding:70px 20px;
}

.ce-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin-bottom:30px;
}

.ce-section-head h2{
    margin:8px 0 8px;
    color:var(--ce-navy);
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.08;
}

.ce-section-head p{
    max-width:720px;
    margin:0;
    color:var(--ce-muted);
    line-height:1.7;
}

.ce-text-link{
    flex:0 0 auto;
    color:var(--ce-navy);
    font-weight:800;
    white-space:nowrap;
}

.ce-text-link span,
.ce-card-action span{
    color:var(--ce-gold);
}

.ce-horizontal-track{
    display:grid!important;
    grid-auto-flow:column!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    scrollbar-width:thin;
    scrollbar-color:var(--ce-gold) #ece8df;
    padding:5px 3px 20px;
}

.ce-horizontal-track::-webkit-scrollbar{
    height:8px;
}

.ce-horizontal-track::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:var(--ce-gold);
}

.ce-horizontal-track::-webkit-scrollbar-track{
    border-radius:999px;
    background:#ece8df;
}

.ce-books-track{
    grid-auto-columns:minmax(220px,260px)!important;
    gap:22px!important;
}

.ce-book-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    scroll-snap-align:start;
    border:1px solid var(--ce-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
    transition:.25s ease;
}

.ce-book-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--ce-shadow);
}

.ce-book-cover{
    height:340px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#f0ede5,#faf9f5);
}

.ce-book-cover img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:16px;
    transition:.35s ease;
}

.ce-book-card:hover .ce-book-cover img{
    transform:scale(1.035);
}

.ce-cover-badge{
    position:absolute;
    left:14px;
    top:14px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(7,22,61,.92);
    color:#fff;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.04em;
}

.ce-book-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px;
}

.ce-card-meta{
    color:#8c6b19;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ce-book-body h3{
    margin:9px 0 7px;
    color:var(--ce-navy);
    font-size:1.28rem;
    line-height:1.25;
}

.ce-book-body h3 a{
    color:inherit;
}

.ce-book-body p{
    margin:0 0 18px;
    color:var(--ce-muted);
    font-size:.9rem;
}

.ce-card-action{
    margin-top:auto;
    color:var(--ce-navy);
    font-weight:800;
}

.ce-swipe-hint{
    display:none;
    margin:8px 0 0;
    color:var(--ce-muted);
    font-size:.78rem;
}

.ce-featured-author{
    max-width:1240px;
    margin:50px auto 20px;
    padding:clamp(28px,5vw,58px);
    display:grid;
    grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
    gap:clamp(30px,5vw,70px);
    align-items:center;
    position:relative;
    border-radius:28px;
    background:var(--ce-cream);
    box-shadow:var(--ce-shadow-soft);
}

.ce-featured-author__image{
    aspect-ratio:4/5;
    max-height:500px;
    overflow:hidden;
    border-radius:22px;
    background:var(--ce-navy);
    box-shadow:0 20px 45px rgba(7,22,61,.18);
}

.ce-featured-author__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.ce-featured-author__image > span{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:6rem;
}

.ce-featured-author__content h2{
    margin:10px 0 12px;
    color:var(--ce-navy);
    font-size:clamp(2.2rem,4vw,4rem);
}

.ce-featured-author__content > p{
    color:#4b5565;
    font-size:1.03rem;
    line-height:1.85;
}

.ce-featured-author__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px;
}

.ce-featured-author__meta span{
    padding:7px 11px;
    border:1px solid rgba(7,22,61,.12);
    border-radius:999px;
    background:#fff;
    color:var(--ce-navy);
    font-size:.75rem;
    font-weight:700;
}

.ce-featured-author blockquote{
    position:absolute;
    right:35px;
    bottom:25px;
    max-width:330px;
    margin:0;
    color:rgba(7,22,61,.38);
    font-family:"Playfair Display",serif;
    font-size:1.15rem;
    font-style:italic;
}

.ce-authors-track{
    grid-auto-columns:minmax(245px,285px)!important;
    gap:20px!important;
}

.ce-author-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    scroll-snap-align:start;
    border:1px solid var(--ce-border);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
    transition:.25s ease;
}

.ce-author-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--ce-shadow);
}

.ce-author-avatar{
    height:250px;
    overflow:hidden;
    background:linear-gradient(145deg,var(--ce-navy),var(--ce-blue));
}

.ce-author-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.ce-author-avatar > span{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:5rem;
}

.ce-author-body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px;
}

.ce-author-label{
    align-self:flex-start;
    padding:5px 9px;
    border-radius:999px;
    background:var(--ce-gold);
    color:#16213b;
    font-size:.65rem;
    font-weight:800;
    text-transform:uppercase;
}

.ce-author-body h3{
    margin:11px 0 5px;
    color:var(--ce-navy);
    font-size:1.35rem;
}

.ce-author-body p,
.ce-author-body small{
    color:var(--ce-muted);
}

.ce-author-body p{
    margin:0 0 5px;
}

.ce-author-link{
    margin-top:auto;
    padding-top:18px;
    color:var(--ce-navy);
    font-weight:800;
}

.ce-news-section{
    max-width:none;
    margin-top:35px;
    padding-left:max(20px,calc((100vw - 1200px)/2));
    padding-right:max(20px,calc((100vw - 1200px)/2));
    background:#f0ede6;
}

.ce-news-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
    gap:24px;
}

.ce-news-main{
    display:grid;
    grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
    overflow:hidden;
    border-radius:22px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
}

.ce-news-main__image{
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:var(--ce-navy);
}

.ce-news-main__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ce-news-main__image span{
    color:var(--ce-gold);
    font-size:5rem;
}

.ce-news-main__body{
    display:flex;
    flex-direction:column;
    padding:clamp(28px,4vw,50px);
}

.ce-news-badge{
    align-self:flex-start;
    padding:7px 11px;
    border-radius:999px;
    background:var(--ce-gold);
    color:#16213b;
    font-size:.7rem;
    font-weight:800;
    text-transform:uppercase;
}

.ce-news-main h3{
    margin:18px 0 16px;
    color:var(--ce-navy);
    font-size:clamp(1.8rem,3vw,3.2rem);
    line-height:1.08;
}

.ce-news-main h3 a,
.ce-news-small h3 a{
    color:inherit;
}

.ce-news-main__body > p{
    color:var(--ce-muted);
    line-height:1.8;
}

.ce-news-footer{
    display:flex;
    justify-content:space-between;
    gap:16px;
    margin-top:auto;
    padding-top:22px;
    border-top:1px solid var(--ce-border);
    color:var(--ce-muted);
    font-size:.82rem;
}

.ce-news-footer a{
    color:var(--ce-navy);
    font-weight:800;
}

.ce-news-side{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.ce-news-small{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:16px;
    min-height:122px;
    padding:12px;
    border-radius:16px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
}

.ce-news-small__image{
    min-height:98px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:11px;
    background:var(--ce-navy);
}

.ce-news-small__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ce-news-small__image span{
    color:var(--ce-gold);
    font-size:2rem;
}

.ce-news-small h3{
    margin:7px 0 9px;
    color:var(--ce-navy);
    font-family:"Playfair Display",serif;
    font-size:1.05rem;
    line-height:1.25;
}

.ce-news-small small{
    color:var(--ce-muted);
}

.ce-library-grid,
.ce-services-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.ce-library-grid > a{
    min-height:240px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:25px;
    border:1px solid var(--ce-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
    transition:.25s ease;
}

.ce-library-grid > a:hover{
    transform:translateY(-5px);
    border-color:var(--ce-gold);
    box-shadow:var(--ce-shadow);
}

.ce-library-icon{
    font-size:2rem;
}

.ce-library-grid strong{
    margin-top:25px;
    color:var(--ce-navy);
    font-family:"Playfair Display",serif;
    font-size:1.45rem;
}

.ce-library-grid p{
    margin:8px 0 20px;
    color:var(--ce-muted);
    line-height:1.6;
}

.ce-library-button{
    width:100%;
    min-height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:auto;
    padding:10px 14px;
    border:2px solid var(--ce-gold);
    border-radius:11px;
    background:var(--ce-navy);
    color:#fff!important;
    font-size:.82rem;
    font-weight:800;
    box-shadow:0 8px 18px rgba(7,22,61,.16);
}

.ce-library-grid > a:hover .ce-library-button{
    background:var(--ce-gold);
    color:#111827!important;
}

.ce-services-grid > a{
    min-height:220px;
    padding:28px;
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:var(--ce-navy);
    color:#fff;
    transition:.25s ease;
}

.ce-services-grid > a:nth-child(even){
    background:var(--ce-blue);
}

.ce-services-grid > a:hover{
    transform:translateY(-5px);
    box-shadow:var(--ce-shadow);
}

.ce-services-grid > a > span{
    color:var(--ce-gold);
    font-family:"Playfair Display",serif;
    font-size:2rem;
}

.ce-services-grid h3{
    margin:42px 0 10px;
    color:#fff;
    font-size:1.45rem;
}

.ce-services-grid p{
    margin:0;
    color:#d8e1f0;
    line-height:1.6;
}

.ce-author-cta{
    max-width:1240px;
    margin:70px auto;
    padding:clamp(34px,6vw,72px);
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
    gap:50px;
    align-items:center;
    overflow:hidden;
    border-radius:28px;
    background:
        radial-gradient(circle at 92% 10%,rgba(201,168,76,.28),transparent 22%),
        linear-gradient(135deg,#06112f,#12306d);
    color:#fff;
    box-shadow:0 25px 70px rgba(7,22,61,.20);
}

.ce-author-cta h2{
    max-width:800px;
    margin:12px 0 18px;
    color:#fff;
    font-size:clamp(2.2rem,4vw,4.2rem);
    line-height:1.04;
}

.ce-author-cta > div > p{
    max-width:760px;
    color:#dce5f3;
    line-height:1.8;
}

.ce-cta-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:25px;
}

.ce-cta-benefits span{
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:.78rem;
}

.ce-author-cta aside{
    padding:35px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:22px;
    background:rgba(255,255,255,.08);
    text-align:center;
    backdrop-filter:blur(10px);
}

.ce-author-cta aside > span{
    width:90px;
    height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    border-radius:50%;
    background:var(--ce-gold);
    color:var(--ce-navy);
    font-family:"Playfair Display",serif;
    font-size:2.3rem;
    font-weight:800;
}

.ce-author-cta aside strong{
    display:block;
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:1.55rem;
}

.ce-author-cta aside p{
    color:#dce5f3;
    line-height:1.7;
}

.ce-newsletter{
    max-width:1240px;
    margin:80px auto 0;
    padding:34px 38px;
    display:grid;
    grid-template-columns:1fr minmax(300px,.8fr);
    gap:30px;
    align-items:center;
    border-radius:22px 22px 0 0;
    background:var(--ce-cream);
    border:1px solid var(--ce-border);
}

.ce-newsletter h2{
    margin:8px 0;
    color:var(--ce-navy);
    font-size:2rem;
}

.ce-newsletter p{
    margin:0;
    color:var(--ce-muted);
}

.ce-newsletter form{
    display:grid;
    grid-template-columns:1fr auto;
    padding:6px;
    border:1px solid var(--ce-border);
    border-radius:12px;
    background:#fff;
}

.ce-newsletter input{
    min-width:0;
    padding:12px 14px;
    border:0;
    outline:0;
}

.ce-newsletter button{
    padding:12px 18px;
    border:0;
    border-radius:9px;
    background:var(--ce-navy);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}

.ce-footer{
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(260px,1.3fr) repeat(3,minmax(155px,.7fr))!important;
    gap:42px!important;
    padding:65px max(24px,calc((100vw - 1200px)/2)) 28px!important;
    background:#050e25!important;
    color:#fff!important;
}

.ce-footer-brand img{
    width:auto;
    max-width:170px;
    max-height:72px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}

.ce-footer-brand p{
    max-width:330px;
    color:#aebbd0!important;
    line-height:1.7;
}

.ce-footer-brand > a{
    display:inline-block;
    margin-top:10px;
    color:var(--ce-gold)!important;
    font-weight:800;
}

.ce-footer nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

.ce-footer h4{
    margin:0 0 8px;
    color:#fff!important;
    font-family:Inter,sans-serif;
    font-size:.76rem;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.ce-footer nav a{
    display:block!important;
    margin:0!important;
    padding:0!important;
    color:#aebbd0!important;
    line-height:1.5;
    transition:.2s ease;
}

.ce-footer nav a:hover{
    color:var(--ce-gold)!important;
    transform:translateX(3px);
}

.ce-footer-bottom{
    grid-column:1/-1;
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:20px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#8390a7;
    font-size:.75rem;
}

/* Botones externos de Biblioteca: contraste definitivo */
.external-btn{
    min-height:46px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    margin-top:auto!important;
    padding:12px 18px!important;
    border:2px solid var(--ce-gold)!important;
    border-radius:12px!important;
    background:var(--ce-navy)!important;
    color:#fff!important;
    font-weight:900!important;
    text-align:center!important;
    text-decoration:none!important;
    box-shadow:0 8px 18px rgba(7,22,61,.18)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}

.external-btn:hover{
    background:var(--ce-gold)!important;
    color:#111827!important;
    transform:translateY(-2px);
}

/* Navegación */
.ce-site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(7,22,61,.08);
    backdrop-filter:blur(16px);
}

.ce-nav{
    max-width:1280px;
    margin:0 auto;
}

.ce-nav-toggle{
    display:none;
    width:44px;
    height:44px;
    padding:10px;
    border:0;
    border-radius:10px;
    background:var(--ce-navy);
    cursor:pointer;
}

.ce-nav-toggle span{
    display:block;
    height:2px;
    margin:5px 0;
    border-radius:999px;
    background:#fff;
}

.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(max-width:1050px){
    .ce-home-hero{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .ce-home-hero__panel{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ce-home-hero__panel a{
        grid-template-columns:1fr;
    }

    .ce-news-layout,
    .ce-news-main{
        grid-template-columns:1fr;
    }

    .ce-news-main__image{
        min-height:360px;
    }

    .ce-library-grid,
    .ce-services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ce-footer{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .ce-footer-bottom{
        grid-column:1/-1;
    }
}

@media(max-width:850px){
    .ce-topbar{
        display:none!important;
    }

    .ce-nav{
        position:relative;
    }

    .ce-nav-toggle{
        display:block;
        margin-left:auto;
    }

    .ce-nav .menu{
        position:absolute;
        left:16px;
        right:16px;
        top:calc(100% + 8px);
        display:none!important;
        padding:14px;
        border:1px solid var(--ce-border);
        border-radius:16px;
        background:#fff;
        box-shadow:var(--ce-shadow);
    }

    .ce-nav .menu.open{
        display:flex!important;
        flex-direction:column;
        align-items:stretch;
    }

    .ce-nav .menu a{
        padding:12px 13px;
        border-radius:9px;
    }

    .ce-featured-author,
    .ce-author-cta{
        grid-template-columns:1fr;
    }

    .ce-featured-author__image{
        max-width:420px;
        width:100%;
        justify-self:center;
    }

    .ce-featured-author blockquote{
        display:none;
    }

    .ce-author-cta aside{
        max-width:450px;
    }
}

@media(max-width:680px){
    .ce-home-hero{
        margin:12px 12px 52px;
        padding:38px 24px;
        border-radius:22px;
    }

    .ce-home-hero h1{
        font-size:clamp(2.65rem,14vw,4.1rem);
    }

    .ce-home-hero__panel{
        grid-template-columns:1fr;
    }

    .ce-hero-proof{
        gap:20px;
    }

    .ce-search-shell{
        margin:-74px auto 45px;
    }

    .ce-search{
        grid-template-columns:30px 1fr;
        padding:10px 14px;
    }

    .ce-search button{
        grid-column:1/-1;
        width:100%;
    }

    .ce-section{
        padding:52px 16px;
    }

    .ce-section-head{
        align-items:flex-start;
        flex-direction:column;
        margin-bottom:22px;
    }

    .ce-books-track{
        grid-auto-columns:minmax(205px,74vw)!important;
    }

    .ce-authors-track{
        grid-auto-columns:minmax(230px,78vw)!important;
    }

    .ce-swipe-hint{
        display:block;
    }

    .ce-featured-author{
        margin:30px 12px 5px;
        padding:28px 20px;
        border-radius:22px;
    }

    .ce-featured-author__image{
        max-height:410px;
    }

    .ce-news-main__image{
        min-height:260px;
    }

    .ce-news-small{
        grid-template-columns:90px 1fr;
    }

    .ce-library-grid,
    .ce-services-grid{
        grid-template-columns:1fr;
    }

    .ce-library-grid > a,
    .ce-services-grid > a{
        min-height:200px;
    }

    .ce-author-cta{
        margin:55px 12px;
        padding:34px 22px;
        border-radius:22px;
    }

    .ce-newsletter{
        margin:50px 12px 0;
        padding:28px 20px;
        grid-template-columns:1fr;
        border-radius:18px 18px 0 0;
    }

    .ce-newsletter form{
        grid-template-columns:1fr;
        gap:8px;
    }

    .ce-footer{
        grid-template-columns:1fr!important;
        gap:30px!important;
        padding:48px 24px 24px!important;
    }

    .ce-footer-bottom{
        flex-direction:column;
    }
}


/* =========================================================
   CÁZARES EDITORIAL — PORTADA V4 (CAPA DEFINITIVA)
   ========================================================= */

.home-v4{
    overflow:hidden;
}

.ce-v4-hero{
    max-width:1240px;
    min-height:430px;
    margin:22px auto 42px;
    padding:clamp(34px,5vw,66px);
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(245px,.5fr);
    gap:40px;
    align-items:center;
    position:relative;
    overflow:hidden;
    border-radius:26px;
    background:
        radial-gradient(circle at 85% 12%,rgba(201,168,76,.25),transparent 23%),
        linear-gradient(135deg,#06112f 0%,#0b2257 68%,#12306d 100%);
    color:#fff;
    box-shadow:0 24px 65px rgba(7,22,61,.2);
}

.ce-v4-hero::after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-210px;
    width:430px;
    height:430px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
    box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.02);
}

.ce-v4-hero__copy,
.ce-v4-hero__edition{
    position:relative;
    z-index:1;
}

.ce-v4-hero h1{
    margin:13px 0 19px;
    color:#fff;
    font-size:clamp(2.7rem,5.2vw,5rem);
    line-height:1;
    letter-spacing:-.04em;
}

.ce-v4-hero h1 span{
    color:var(--ce-gold-light);
}

.ce-v4-hero__copy > p{
    max-width:760px;
    margin:0;
    color:#dce5f3;
    font-size:1.05rem;
    line-height:1.75;
}

.ce-v4-hero__text-link{
    align-self:center;
    color:#fff;
    font-weight:800;
}

.ce-v4-hero__edition{
    padding:27px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:20px;
    background:rgba(255,255,255,.075);
    backdrop-filter:blur(12px);
}

.ce-v4-hero__edition > span{
    color:var(--ce-gold);
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.17em;
}

.ce-v4-hero__edition strong{
    display:block;
    margin:14px 0 7px;
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:1.55rem;
    line-height:1.2;
}

.ce-v4-hero__edition small{
    display:block;
    color:#c7d3e6;
    line-height:1.5;
}

.ce-v4-hero__edition a{
    display:inline-block;
    margin-top:20px;
    color:#fff;
    font-weight:800;
}

.ce-section-head--compact{
    margin-bottom:22px;
}

.ce-v4-current{
    padding-top:34px;
}

.ce-v4-current-card{
    min-height:390px;
    display:grid;
    grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);
    overflow:hidden;
    border:1px solid var(--ce-border);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--ce-shadow);
}

.ce-v4-current-card__media{
    min-height:390px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:var(--ce-navy);
}

.ce-v4-current-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ce-v4-current-card__media > span{
    color:var(--ce-gold);
    font-size:5rem;
}

.ce-v4-current-card__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(30px,5vw,58px);
}

.ce-v4-current-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    color:var(--ce-muted);
    font-size:.77rem;
}

.ce-v4-current-card h3{
    margin:18px 0 11px;
    color:var(--ce-navy);
    font-size:clamp(2rem,3.5vw,3.65rem);
    line-height:1.04;
}

.ce-v4-current-card h3 a{
    color:inherit;
}

.ce-v4-current-card__subtitle{
    margin:0 0 10px!important;
    color:#7d6422!important;
    font-family:"Playfair Display",serif;
    font-size:1.1rem;
    font-style:italic;
}

.ce-v4-current-card__body > p{
    color:var(--ce-muted);
    line-height:1.75;
}

.ce-v4-current-card__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid var(--ce-border);
    color:var(--ce-muted);
    font-size:.8rem;
}

.ce-v4-week{
    padding-top:38px;
    padding-bottom:38px;
}

.ce-v4-week-card{
    min-height:480px;
    display:grid;
    grid-template-columns:minmax(230px,.48fr) minmax(0,1.3fr) 100px;
    gap:clamp(28px,5vw,65px);
    align-items:center;
    padding:clamp(30px,5vw,58px);
    position:relative;
    overflow:hidden;
    border-radius:27px;
    background:var(--ce-cream);
    box-shadow:var(--ce-shadow-soft);
}

.ce-v4-week-card__cover{
    height:390px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:16px;
    background:#e8e3d8;
    box-shadow:0 20px 40px rgba(7,22,61,.15);
}

.ce-v4-week-card__cover img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:14px;
}

.ce-v4-week-card__content h2{
    margin:10px 0 9px;
    color:var(--ce-navy);
    font-size:clamp(2.3rem,4.5vw,4.4rem);
    line-height:1.02;
}

.ce-v4-week-card__subtitle{
    margin:0 0 17px!important;
    color:#7c6425!important;
    font-family:"Playfair Display",serif;
    font-size:1.15rem;
}

.ce-v4-week-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 20px;
}

.ce-v4-week-card__meta span{
    padding:7px 11px;
    border:1px solid rgba(7,22,61,.12);
    border-radius:999px;
    background:#fff;
    color:var(--ce-navy);
    font-size:.73rem;
    font-weight:700;
}

.ce-v4-week-card__content > p{
    max-width:720px;
    color:#4e596a;
    line-height:1.8;
}

.ce-v4-week-card__stamp{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:100px;
    height:100px;
    border:2px solid var(--ce-gold);
    border-radius:50%;
    color:var(--ce-navy);
    transform:rotate(7deg);
}

.ce-v4-week-card__stamp span,
.ce-v4-week-card__stamp small{
    font-size:.55rem;
    font-weight:900;
    letter-spacing:.1em;
}

.ce-v4-week-card__stamp strong{
    font-family:"Playfair Display",serif;
    font-size:1.55rem;
}

.ce-v4-director{
    max-width:1050px;
    margin:10px auto 46px;
    padding:24px 28px;
    display:grid;
    grid-template-columns:60px 1fr auto;
    gap:22px;
    align-items:center;
    border-left:5px solid var(--ce-gold);
    border-radius:0 16px 16px 0;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
}

.ce-v4-director__mark{
    color:var(--ce-gold);
    font-family:"Playfair Display",serif;
    font-size:5rem;
    line-height:.8;
}

.ce-v4-director p{
    margin:7px 0;
    color:#3f4a5a;
    font-family:"Playfair Display",serif;
    font-size:1.15rem;
    line-height:1.55;
}

.ce-v4-director small{
    color:var(--ce-muted);
}

.ce-v4-director > a{
    color:var(--ce-navy);
    font-weight:800;
    white-space:nowrap;
}

.ce-v4-author-feature{
    padding-top:45px;
    padding-bottom:45px;
}

.ce-v4-carousel-dots{
    display:flex;
    gap:7px;
}

.ce-v4-carousel-dots i{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d4cec0;
}

.ce-v4-carousel-dots i.active{
    width:24px;
    border-radius:999px;
    background:var(--ce-gold);
}

.ce-v4-author-card{
    min-height:300px;
    display:grid;
    grid-template-columns:230px minmax(0,1fr) 230px;
    gap:32px;
    align-items:center;
    padding:28px;
    border:1px solid var(--ce-border);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
}

.ce-v4-author-card__portrait{
    width:210px;
    height:250px;
    overflow:hidden;
    border-radius:16px;
    background:linear-gradient(145deg,var(--ce-navy),var(--ce-blue));
}

.ce-v4-author-card__portrait img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.ce-v4-author-card__portrait > span{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-family:"Playfair Display",serif;
    font-size:5rem;
}

.ce-v4-author-card__content h3{
    margin:9px 0;
    color:var(--ce-navy);
    font-size:clamp(2rem,3.5vw,3rem);
}

.ce-v4-author-card__content > p{
    color:var(--ce-muted);
    line-height:1.75;
}

.ce-v4-author-card__quote{
    padding:24px;
    border-radius:17px;
    background:var(--ce-navy);
    color:#fff;
}

.ce-v4-author-card__quote > span{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--ce-gold);
    color:var(--ce-navy);
    font-family:"Playfair Display",serif;
    font-weight:800;
}

.ce-v4-author-card__quote p{
    margin:20px 0 0;
    color:#d8e1ef;
    font-family:"Playfair Display",serif;
    line-height:1.6;
}

.ce-v4-more-news__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.ce-v4-more-news__grid article{
    overflow:hidden;
    border:1px solid var(--ce-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--ce-shadow-soft);
}

.ce-v4-more-news__image{
    height:190px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:var(--ce-navy);
}

.ce-v4-more-news__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ce-v4-more-news__image > span{
    color:var(--ce-gold);
    font-size:3rem;
}

.ce-v4-more-news__grid article > div{
    padding:21px;
}

.ce-v4-more-news__grid h3{
    margin:8px 0 10px;
    color:var(--ce-navy);
    font-size:1.25rem;
    line-height:1.25;
}

.ce-v4-more-news__grid h3 a{
    color:inherit;
}

.ce-v4-more-news__grid p{
    color:var(--ce-muted);
    line-height:1.6;
}

.ce-v4-more-news__grid small{
    color:var(--ce-muted);
}

@media(max-width:1000px){
    .ce-v4-current-card,
    .ce-v4-week-card,
    .ce-v4-author-card{
        grid-template-columns:1fr;
    }

    .ce-v4-week-card__cover{
        max-width:310px;
        width:100%;
        justify-self:center;
    }

    .ce-v4-week-card__stamp{
        position:absolute;
        right:25px;
        top:25px;
    }

    .ce-v4-author-card__portrait{
        justify-self:center;
    }

    .ce-v4-author-card__quote{
        display:none;
    }
}

@media(max-width:800px){
    .ce-v4-hero{
        grid-template-columns:1fr;
        min-height:auto;
        margin:12px 12px 30px;
        padding:35px 24px;
        border-radius:22px;
    }

    .ce-v4-current-card__media{
        min-height:260px;
    }

    .ce-v4-director{
        margin-left:16px;
        margin-right:16px;
        grid-template-columns:45px 1fr;
    }

    .ce-v4-director > a{
        grid-column:2;
    }

    .ce-v4-more-news__grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .ce-v4-current-card__footer{
        align-items:flex-start;
        flex-direction:column;
    }

    .ce-v4-week-card{
        padding:27px 20px;
    }

    .ce-v4-week-card__stamp{
        width:78px;
        height:78px;
    }

    .ce-v4-author-card{
        padding:20px;
    }

    .ce-v4-author-card__portrait{
        width:100%;
        max-width:270px;
        height:300px;
    }
}
