@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap");

:root{
  --rf-paper:#f5f0e7;
  --rf-paper-2:#ebe3d7;
  --rf-paper-3:#fffaf0;
  --rf-ink:#0b1f2b;
  --rf-ink-soft:#314454;
  --rf-night:#061923;
  --rf-night-2:#082433;
  --rf-gold:#b99247;
  --rf-gold-2:#d7b56a;
  --rf-red:#8e1f24;
  --rf-red-2:#b02b30;
  --rf-line:rgba(11,31,43,.16);
  --rf-line-gold:rgba(185,146,71,.38);
  --rf-serif:"Cormorant Garamond", Georgia, serif;
  --rf-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --rf-wrap:1180px;
}

html body{
  background:
    radial-gradient(900px 420px at 8% 0%,rgba(255,255,255,.72),transparent 62%),
    radial-gradient(780px 420px at 95% 18%,rgba(215,181,106,.13),transparent 58%),
    linear-gradient(180deg,var(--rf-paper) 0%,var(--rf-paper-2) 100%) !important;
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
  font-size:18px;
  line-height:1.56;
}

html body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(11,31,43,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,31,43,.018) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.22;
}

html body > *{position:relative;z-index:1}

html body a{color:inherit}

html body .wrap,
html body .section .wrap,
html body main .wrap,
html body .feature-band .wrap,
html body .footer-inner{
  max-width:var(--rf-wrap) !important;
}

html body .site-header,
html body .site-header.site-header--dark{
  position:sticky !important;
  top:0;
  z-index:1000;
  background:rgba(6,25,35,.96) !important;
  border-bottom:1px solid rgba(215,181,106,.2) !important;
  box-shadow:0 10px 34px rgba(0,0,0,.16) !important;
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
}

html body .site-header .nav{
  min-height:78px !important;
  padding:12px clamp(18px,4vw,40px) !important;
}

html body .site-header .brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#f8f3e7 !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(20px,2vw,31px) !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:none !important;
}

html body .site-header .brand::before{
  content:"R";
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--rf-line-gold);
  margin:0;
  background:transparent;
  color:var(--rf-gold-2);
  transform:none;
  font-family:var(--rf-serif);
  font-size:28px;
  font-weight:700;
  line-height:1;
  opacity:1;
}

html body .site-header .menu{
  align-items:center !important;
  gap:clamp(14px,1.8vw,30px) !important;
}

html body .site-header .menu a{
  color:rgba(248,243,231,.86) !important;
  font-family:var(--rf-serif) !important;
  font-size:18px !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  border-bottom:1px solid transparent !important;
}

html body .site-header .menu a:hover,
html body .site-header .menu a.active{
  color:var(--rf-gold-2) !important;
  border-bottom-color:var(--rf-gold-2) !important;
}

html body .site-header .menu a.nav-resaltado{
  color:#f8f3e7 !important;
  background:linear-gradient(180deg,var(--rf-red-2),var(--rf-red)) !important;
  border:1px solid rgba(215,181,106,.32) !important;
  border-radius:3px !important;
  padding:9px 18px !important;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}

html body .site-header .menu a.nav-resaltado:hover,
html body .site-header .menu a.nav-resaltado.active{
  color:#fffaf0 !important;
  background:linear-gradient(180deg,#b83a43,var(--rf-red)) !important;
  border-color:var(--rf-gold-2) !important;
}

html body .site-header .social a{
  border-color:rgba(215,181,106,.24) !important;
  color:rgba(248,243,231,.82) !important;
}

html body .site-header .social a:hover{
  color:var(--rf-gold-2) !important;
  border-color:var(--rf-gold-2) !important;
}

html body main,
html body .section,
html body .books-section,
html body .about-band,
html body .press-band,
html body .newsletter-band,
html body .section--wide,
html body .contact-form-card,
html body .shop-info,
html body .pr-filter,
html body .col-filter{
  background:transparent !important;
  color:var(--rf-ink) !important;
}

html body .hero{
  min-height:calc(100svh - 78px) !important;
  align-items:center !important;
  padding:clamp(70px,9vw,120px) clamp(22px,4vw,54px) clamp(62px,8vw,100px) !important;
  background:
    linear-gradient(90deg,rgba(245,240,231,.96) 0%,rgba(245,240,231,.94) 48%,rgba(232,227,216,.76) 100%),
    url("../img/hero-jinete.webp") center/cover no-repeat !important;
  color:var(--rf-ink) !important;
}

html body .hero::before{
  content:"";
  position:absolute;
  left:clamp(22px,6vw,90px);
  top:50%;
  width:min(34vw,390px);
  height:min(62vh,560px);
  transform:translateY(-48%);
  z-index:1;
  background:url("../img/libros/la-resistencia-oficial-3d-clean.png") center/contain no-repeat !important;
  filter:drop-shadow(0 32px 42px rgba(6,25,35,.3));
  opacity:1;
}

html body .hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(245,240,231,.28),rgba(245,240,231,.96) 94%),
    radial-gradient(60% 70% at 18% 48%,rgba(255,255,255,.38),transparent 64%);
}

html body .hero-inner{
  position:relative;
  z-index:2;
  width:min(var(--rf-wrap),100%);
  padding:0 0 0 min(40vw,500px) !important;
  margin:0 auto !important;
}

html body .hero h1,
html body .page-hero h1,
html body .col-hero h1,
html body .pr-hero h1{
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
  font-weight:600 !important;
  line-height:.98 !important;
  letter-spacing:-.03em !important;
  text-shadow:none !important;
}

html body .hero h1{
  max-width:680px !important;
  font-size:clamp(54px,7vw,104px) !important;
}

html body section.hero#inicio .hero-inner h1,
html body section.hero#inicio .hero-inner h1.hero-title{
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(62px,7.4vw,108px) !important;
  font-weight:500 !important;
  line-height:.96 !important;
  letter-spacing:-.028em !important;
  text-transform:none !important;
  text-shadow:none !important;
}

html body section.hero#inicio .hero-inner h1 span{
  color:var(--rf-red) !important;
}

html body .hero h1::after,
html body .section-head::before,
html body .books-section h2::after{
  background:var(--rf-gold) !important;
}

html body .hero-lead,
html body .page-hero .hero-copy,
html body .col-hero .lead,
html body .pr-hero p,
html body .section-copy,
html body .section p{
  color:var(--rf-ink-soft) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(18px,1.3vw,22px) !important;
  line-height:1.48 !important;
}

html body .award-badge,
html body .award-strip,
html body .shop-info,
html body .feature-band,
html body .newsletter-card{
  background:var(--rf-night) !important;
  border-color:rgba(215,181,106,.22) !important;
  color:#f7f1e7 !important;
}

html body .award-badge *,
html body .award-strip *,
html body .shop-info *,
html body .feature-band *,
html body .newsletter-card *{
  color:inherit;
}

html body .award-line1,
html body .award-strip-icon,
html body .award-strip-cta,
html body .eyebrow,
html body .eyebrow-center,
html body .press-source,
html body .press-kicker,
html body .shop-info-num,
html body .event-type,
html body .tag-pill,
html body .badge-cat{
  color:var(--rf-gold) !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .section-title{
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
}

html body .section-title,
html body .books-section h2,
html body .page-hero h1{
  font-size:clamp(42px,4.5vw,70px) !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

html body .page-hero,
html body .page-hero.page-hero--image,
html body .col-hero,
html body .pr-hero{
  position:relative !important;
  overflow:hidden;
  padding:clamp(88px,12vw,150px) 0 clamp(58px,8vw,92px) !important;
  background:
    linear-gradient(90deg,rgba(245,240,231,.96) 0%,rgba(245,240,231,.94) 58%,rgba(235,227,215,.82) 100%),
    url("../img/hero-jinete.webp") center/cover no-repeat !important;
  border-bottom:1px solid var(--rf-line-gold) !important;
  color:var(--rf-ink) !important;
}

html body .page-hero::before,
html body .col-hero::before,
html body .pr-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(245,240,231,.18),rgba(245,240,231,.92)),
    radial-gradient(500px 240px at 82% 22%,rgba(185,146,71,.14),transparent 65%);
}

html body .page-hero .wrap,
html body .col-hero-inner,
html body .pr-hero-inner{
  position:relative;
  z-index:2;
}

html body .page-hero .eyebrow,
html body .page-hero .hero-copy,
html body .page-hero p,
html body .col-hero .eyebrow,
html body .col-hero p,
html body .pr-hero .eyebrow,
html body .pr-hero p{
  text-shadow:none !important;
}

html body .button,
html body a.button,
html body button.button,
html body .buy-submit,
html body .newsletter-form button,
html body .contact-form-card button,
html body .lead-form button{
  min-height:48px !important;
  background:linear-gradient(180deg,var(--rf-red-2),var(--rf-red)) !important;
  border:1px solid rgba(142,31,36,.9) !important;
  border-radius:3px !important;
  color:#fffaf0 !important;
  font-family:var(--rf-serif) !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:none !important;
  box-shadow:none !important;
}

html body .button.secondary,
html body .button.light,
html body a.button.secondary{
  background:transparent !important;
  color:var(--rf-ink) !important;
  border-color:var(--rf-line-gold) !important;
}

html body .button:hover,
html body a.button:hover,
html body button.button:hover{
  transform:translateY(-1px);
  background:linear-gradient(180deg,#b23a41,var(--rf-red)) !important;
  color:#fffaf0 !important;
}

html body .books-section,
html body .section{
  padding:clamp(68px,8vw,108px) clamp(20px,4vw,44px) !important;
}

html body .books-shelf,
html body .shop-grid,
html body .press-grid,
html body .col-grid,
html body section.press-grid{
  background:transparent !important;
}

html body .book,
html body .book-card,
html body .shop-item,
html body .col-card,
html body .press-card,
html body .contact-form-card,
html body .event-card,
html body .pr-kit-row,
html body .pr-kit-side,
html body .panel.card,
html body .card{
  background:rgba(255,250,240,.72) !important;
  border:1px solid rgba(185,146,71,.24) !important;
  border-radius:0 !important;
  box-shadow:0 18px 42px rgba(11,31,43,.06) !important;
  color:var(--rf-ink) !important;
}

html body .book::before{
  border-color:rgba(185,146,71,.18) !important;
}

html body .book .title,
html body .book-card .book-body h2,
html body .shop-body h2,
html body .col-card h2,
html body .press-card h3,
html body .event-body h3,
html body .contact-aside h2{
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
}

html body .book .title,
html body .shop-body h2{
  font-size:clamp(28px,2.7vw,44px) !important;
}

html body .book p,
html body .book-card p,
html body .shop-body p,
html body .col-card p,
html body .press-card p,
html body .event-card p,
html body .contact-form-card p{
  color:var(--rf-ink-soft) !important;
}

html body .cover3d,
html body .book-cover,
html body .shop-cover img,
html body .product-cover img,
html body .buy-drawer-cover{
  filter:drop-shadow(0 26px 32px rgba(6,25,35,.22)) !important;
  box-shadow:none !important;
}

html body .book-card .book-cover.la-resistencia,
html body .cover3d.resistencia{
  background-image:url("../img/libros/la-resistencia-oficial-3d-clean.png") !important;
}

html body .book-card .book-cover.crudo-invierno,
html body .cover3d.crudo,
html body .cover3d.crudo-invierno{
  background-image:url("../img/libros/el-crudo-invierno-del-91-3d-cutout.png") !important;
}

html body .book-card{
  grid-template-columns:minmax(220px,360px) minmax(0,1fr) !important;
  gap:clamp(34px,6vw,76px) !important;
  align-items:center !important;
  padding:clamp(26px,4vw,46px) !important;
}

html body .book-cover{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  min-height:360px;
}

html body .shop-info{
  padding:clamp(34px,5vw,64px) 0 !important;
}

html body .shop-info-item{
  border-color:rgba(215,181,106,.22) !important;
}

html body .shop-info-item p{
  color:rgba(247,241,231,.74) !important;
  font-family:var(--rf-serif) !important;
}

html body .shop-info-item strong{
  color:#f7f1e7 !important;
  font-family:var(--rf-serif) !important;
  font-size:22px !important;
}

html body .shop-item{
  grid-template-columns:minmax(180px,300px) minmax(0,1fr) !important;
  padding:clamp(24px,4vw,42px) !important;
}

html body .shop-cover{
  background:transparent !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
}

html body .shop-price,
html body .product-price .amount,
html body .buy-drawer-price{
  color:var(--rf-red) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(34px,4vw,54px) !important;
  font-weight:600 !important;
}

html body input,
html body textarea,
html body select{
  background:rgba(255,250,240,.72) !important;
  border:1px solid rgba(11,31,43,.2) !important;
  border-radius:2px !important;
  color:var(--rf-ink) !important;
  font-family:var(--rf-sans) !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

html body input:focus,
html body textarea:focus,
html body select:focus{
  outline:2px solid rgba(185,146,71,.32) !important;
  outline-offset:0;
  border-color:var(--rf-gold) !important;
}

html body input::placeholder,
html body textarea::placeholder{
  color:rgba(49,68,84,.62) !important;
}

html body .buy-form,
html body .product-panel,
html body .contact-form-card form{
  border-color:rgba(185,146,71,.22) !important;
}

html body .col-hero{
  min-height:auto !important;
}

html body .col-hero-inner{
  width:min(var(--rf-wrap),calc(100% - 48px)) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(220px,340px) !important;
  gap:clamp(30px,6vw,72px) !important;
  align-items:center !important;
  margin:0 auto !important;
}

html body .col-hero-photo{
  background:transparent !important;
  border:1px solid rgba(185,146,71,.24) !important;
  box-shadow:0 18px 42px rgba(11,31,43,.08) !important;
}

html body .col-filter,
html body .pr-filter{
  border-top:1px solid var(--rf-line-gold) !important;
  border-bottom:1px solid var(--rf-line-gold) !important;
  padding:18px clamp(20px,4vw,40px) !important;
}

html body .col-filter a,
html body .pr-filter a,
html body .event-filters button{
  background:rgba(255,250,240,.72) !important;
  border:1px solid rgba(185,146,71,.28) !important;
  border-radius:2px !important;
  color:var(--rf-ink-soft) !important;
  font-family:var(--rf-sans) !important;
}

html body .col-filter a.is-active,
html body .pr-filter a.is-active,
html body .event-filters button.is-active{
  background:var(--rf-night) !important;
  border-color:var(--rf-gold) !important;
  color:#f7f1e7 !important;
}

html body .col-card-cover{
  background:
    linear-gradient(180deg,rgba(6,25,35,.32),rgba(6,25,35,.62)),
    url("../img/hero-jinete.webp") center/cover no-repeat !important;
  color:#f7f1e7 !important;
  border-bottom:1px solid rgba(185,146,71,.22);
}

html body .col-card-cover h2,
html body .col-card-cover .num{
  color:#f7f1e7 !important;
}

html body .col-card-body{
  background:transparent !important;
}

html body .pr-kit{
  background:var(--rf-night) !important;
  border-color:rgba(215,181,106,.24) !important;
  color:#f7f1e7 !important;
}

html body .pr-kit h2,
html body .pr-kit h3,
html body .pr-kit p,
html body .pr-kit strong,
html body .pr-kit dd{
  color:#f7f1e7 !important;
}

html body .pr-kit .label,
html body .pr-kit .num,
html body .pr-kit .arrow{
  color:var(--rf-gold-2) !important;
}

html body .event-date{
  background:linear-gradient(180deg,var(--rf-red-2),var(--rf-red)) !important;
  color:#fffaf0 !important;
  border:1px solid rgba(185,146,71,.28) !important;
}

html body .event-date *,
html body .event-badge{
  color:#fffaf0 !important;
}

html body .feature-band{
  padding:clamp(46px,7vw,82px) !important;
}

html body .feature-band .section-title,
html body .feature-band h2,
html body .feature-band p,
html body .newsletter-card h2,
html body .newsletter-card p{
  color:#f7f1e7 !important;
}

html body .contact-grid{
  gap:clamp(38px,6vw,80px) !important;
}

html body .contact-aside p,
html body .contact-aside .meta-item span{
  color:var(--rf-ink-soft) !important;
}

html body .contact-aside .meta-item strong{
  color:var(--rf-gold) !important;
}

html body .site-footer,
html body .site-footer.footer-mockup{
  background:#04121a !important;
  border-top:1px solid rgba(215,181,106,.18) !important;
  color:rgba(247,241,231,.72) !important;
}

html body .site-footer h5,
html body .site-footer .brand-col h5{
  color:#f7f1e7 !important;
  font-family:var(--rf-serif) !important;
}

html body .site-footer a,
html body .site-footer p,
html body .site-footer span{
  color:rgba(247,241,231,.68) !important;
}

html body .site-footer a:hover{
  color:var(--rf-gold-2) !important;
}

html body .colophon{
  color:rgba(247,241,231,.42) !important;
  border-top:1px solid rgba(247,241,231,.08) !important;
}

html body .rf-cookie-banner,
html body .rf-exit-box,
html body .buy-drawer-panel{
  background:var(--rf-night) !important;
  border-color:rgba(215,181,106,.32) !important;
  color:#f7f1e7 !important;
}

html body .rf-cookie-banner p,
html body .rf-exit-box p,
html body .buy-drawer-body > p{
  color:rgba(247,241,231,.72) !important;
}

@media (max-width:1080px){
  html body .hero::before{
    position:relative;
    display:block;
    left:auto;
    top:auto;
    transform:none;
    width:min(62vw,360px);
    height:430px;
    margin:0 auto 28px;
  }

  html body .hero{
    display:block;
    min-height:auto !important;
  }

  html body .hero-inner{
    padding:0 !important;
    text-align:center;
  }

  html body .hero h1,
  html body .hero-lead{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body .hero .actions{
    justify-content:center;
  }

  html body .book-card,
  html body .shop-item,
  html body .product-grid,
  html body .contact-grid,
  html body .col-hero-inner{
    grid-template-columns:1fr !important;
  }

  html body .book-cover{
    min-height:300px;
  }
}

@media (max-width:980px){
  html body .site-header .nav{
    min-height:68px !important;
  }

  html body .site-header .brand{
    font-size:20px !important;
  }

  html body .site-header .brand::before{
    width:36px;
    height:36px;
    font-size:24px;
  }

  html body .site-header .menu{
    background:rgba(6,25,35,.98) !important;
  }

  html body .site-header .menu a,
  html body .site-header .menu a.nav-resaltado{
    color:#f7f1e7 !important;
    font-family:var(--rf-serif) !important;
    background:transparent !important;
    border-radius:0 !important;
    border-bottom:1px solid rgba(215,181,106,.16) !important;
  }
}

@media (max-width:620px){
  html body .hero::before{
    width:min(78vw,310px);
    height:360px;
  }

  html body .hero h1{
    font-size:clamp(46px,14vw,68px) !important;
  }

  html body .section-title,
  html body .books-section h2,
  html body .page-hero h1{
    letter-spacing:.04em !important;
  }

  html body .button,
  html body a.button,
  html body button.button{
    width:100%;
  }
}

/* Capa final: fuerza el sistema editorial crema/azul sobre reglas antiguas muy específicas. */
html body,
html body.light-content{
  background:var(--rf-paper) !important;
  color:var(--rf-ink) !important;
}

html body main,
html body .section.section.section,
html body .books-section.books-section.books-section,
html body .page-hero.page-hero.page-hero,
html body .col-hero.col-hero.col-hero,
html body .pr-hero.pr-hero.pr-hero,
html body .col-filter.col-filter.col-filter,
html body .pr-filter.pr-filter.pr-filter,
html body .events-grid.events-grid.events-grid,
html body .col-grid.col-grid,
html body .col-grid-wrap.col-grid-wrap,
html body .books-shelf.books-shelf,
html body .about-grid.about-grid,
html body .press-grid.press-grid{
  background-color:var(--rf-paper) !important;
  background-image:none !important;
  color:var(--rf-ink) !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .section-title.section-title,
html body .page-hero h1,
html body .hero h1,
html body .col-hero-text h1,
html body .pr-hero h1{
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
  letter-spacing:0 !important;
}

html body p,
html body li,
html body td,
html body .lead,
html body .section p,
html body .section-copy,
html body .hero-lead,
html body .hero-copy,
html body .col-card .bajada,
html body .press-summary,
html body .event-empty p,
html body .book-body p,
html body .book-body .meta-list span{
  color:var(--rf-ink-soft) !important;
}

html body strong,
html body b,
html body .book-body .meta-list b{
  color:var(--rf-ink) !important;
}

html body .eyebrow,
html body .eyebrow-center,
html body .press-kicker,
html body .press-source,
html body .col-card .num,
html body .col-card .badge-cat,
html body .col-card .cta,
html body .shop-tag,
html body .price,
html body .book-price{
  color:var(--rf-gold) !important;
}

html body .site-header.site-header{
  position:sticky !important;
  top:0 !important;
  background:rgba(9,35,49,.96) !important;
  border-bottom:1px solid rgba(215,181,106,.26) !important;
  color:var(--rf-paper) !important;
}

html body .site-header .brand,
html body .site-header .menu a,
html body .site-header .social a{
  color:var(--rf-paper) !important;
}

html body .site-header .menu a:hover,
html body .site-header .menu a.active,
html body .site-header .menu li.active a{
  color:var(--rf-gold-2) !important;
}

html body .site-header .menu a.nav-resaltado,
html body .site-header .menu a[href*="la-resistencia"]{
  background:var(--rf-red) !important;
  border:1px solid rgba(255,250,240,.18) !important;
  color:#fffaf0 !important;
  padding:10px 15px !important;
  border-radius:999px !important;
}

html body .nav-toggle span,
html body .menu-toggle span{
  background:var(--rf-paper) !important;
}

html body .nav-toggle-input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

html body .nav-toggle{
  display:none !important;
}

html body .hero.hero{
  background-color:var(--rf-paper) !important;
  color:var(--rf-ink) !important;
}

html body .hero.hero::after{
  opacity:.22 !important;
}

html body .book.book,
html body .book-card.book-card.book-card,
html body .shop-item.shop-item.shop-item,
html body .col-card.col-card.col-card,
html body .press-card.press-card.press-card,
html body .event-card.event-card.event-card,
html body .contact-form-card.contact-form-card.contact-form-card,
html body .product-panel.product-panel,
html body .summary.summary,
html body .box.box{
  background:linear-gradient(180deg,rgba(255,250,240,.94),rgba(244,232,210,.9)) !important;
  border:1px solid rgba(151,111,52,.28) !important;
  color:var(--rf-ink) !important;
  box-shadow:0 18px 48px rgba(9,35,49,.08) !important;
}

html body .book h3,
html body .book-card h2,
html body .book-card h3,
html body .shop-item h2,
html body .shop-item h3,
html body .col-card h2,
html body .col-card h3,
html body .press-card h3,
html body .event-card h3{
  color:var(--rf-ink) !important;
}

html body .button.button.button,
html body a.button.button,
html body button.button.button,
html body .cta-primary.cta-primary,
html body .buy-submit.buy-submit,
html body .newsletter-form button,
html body .contact-form-card button,
html body .lead-form button,
html body .award-strip-cta.award-strip-cta,
html body .ver-mas--reserva.ver-mas--reserva{
  background:var(--rf-red) !important;
  border-color:var(--rf-red) !important;
  color:#fffaf0 !important;
  border-radius:999px !important;
  font-family:var(--rf-sans) !important;
  box-shadow:0 14px 30px rgba(128,32,35,.2) !important;
}

html body .button.button.button:hover,
html body a.button.button:hover,
html body button.button.button:hover,
html body .cta-primary.cta-primary:hover,
html body .buy-submit.buy-submit:hover,
html body .newsletter-form button:hover,
html body .contact-form-card button:hover,
html body .lead-form button:hover{
  background:#641a1d !important;
  border-color:#641a1d !important;
  color:#fffaf0 !important;
}

html body .button.button.button.secondary,
html body .button.button.button.light,
html body a.button.button.secondary,
html body a.button.button.light,
html body .cta-secondary.cta-secondary,
html body .book-card .button.light,
html body .section .button.light{
  background:transparent !important;
  border-color:rgba(9,35,49,.42) !important;
  color:var(--rf-ink) !important;
  box-shadow:none !important;
}

html body .button.button.button.secondary:hover,
html body .button.button.button.light:hover,
html body a.button.button.secondary:hover,
html body a.button.button.light:hover,
html body .cta-secondary.cta-secondary:hover,
html body .book-card .button.light:hover,
html body .section .button.light:hover{
  background:rgba(151,111,52,.12) !important;
  border-color:var(--rf-gold) !important;
  color:var(--rf-ink) !important;
}

html body input,
html body textarea,
html body select,
html body .buy-form-grid input,
html body .buy-form-grid textarea{
  background:#fffaf0 !important;
  border:1px solid rgba(9,35,49,.18) !important;
  color:var(--rf-ink) !important;
  border-radius:8px !important;
  font-family:var(--rf-sans) !important;
}

html body input:focus,
html body textarea:focus,
html body select:focus{
  border-color:var(--rf-gold) !important;
  box-shadow:0 0 0 4px rgba(151,111,52,.12) !important;
}

html body .about-band.about-band.about-band,
html body .press-band.press-band.press-band{
  background:var(--rf-paper-2) !important;
  color:var(--rf-ink) !important;
}

html body .award-strip.award-strip.award-strip,
html body .shop-info.shop-info.shop-info,
html body .feature-band.feature-band.feature-band,
html body .newsletter-band.newsletter-band.newsletter-band,
html body .newsletter-card.newsletter-card,
html body .pr-kit.pr-kit.pr-kit,
html body .site-footer.site-footer.site-footer{
  background:var(--rf-ink) !important;
  color:var(--rf-paper) !important;
  border-color:rgba(215,181,106,.22) !important;
}

html body .award-strip h2,
html body .award-strip h3,
html body .shop-info h2,
html body .shop-info h3,
html body .feature-band h2,
html body .feature-band h3,
html body .newsletter-band h2,
html body .newsletter-band h3,
html body .newsletter-card h2,
html body .newsletter-card h3,
html body .pr-kit h2,
html body .pr-kit h3,
html body .site-footer h2,
html body .site-footer h3,
html body .site-footer .brand{
  color:var(--rf-paper) !important;
}

html body .award-strip p,
html body .award-strip span,
html body .shop-info p,
html body .feature-band p,
html body .newsletter-band p,
html body .newsletter-card p,
html body .pr-kit p,
html body .site-footer p,
html body .site-footer li,
html body .site-footer a{
  color:rgba(247,241,231,.78) !important;
}

html body .newsletter-band input,
html body .newsletter-card input,
html body .site-footer input{
  background:rgba(255,250,240,.08) !important;
  border-color:rgba(247,241,231,.24) !important;
  color:#fffaf0 !important;
}

html body .rf-cookie-banner,
html body .rf-exit-box,
html body .buy-drawer-panel{
  background:var(--rf-ink) !important;
  color:var(--rf-paper) !important;
  border-color:rgba(215,181,106,.32) !important;
}

html body .buy-drawer-body h3,
html body .rf-exit-box h2{
  color:var(--rf-paper) !important;
}

@media (max-width:980px){
  html body .site-header .nav{
    min-height:68px !important;
  }

  html body .site-header .social{
    display:none !important;
  }

  html body .site-header .nav-toggle{
    display:flex !important;
    width:44px !important;
    height:44px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(247,241,231,.22) !important;
    border-radius:999px !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:1002 !important;
  }

  html body .site-header .nav-toggle span,
  html body .site-header .nav-toggle::before,
  html body .site-header .nav-toggle::after{
    content:"" !important;
    display:block !important;
    width:18px !important;
    height:2px !important;
    background:#f7f1e7 !important;
    border-radius:2px !important;
    position:absolute !important;
    transition:transform .22s ease, opacity .22s ease !important;
  }

  html body .site-header .nav-toggle::before{
    transform:translateY(-6px) !important;
  }

  html body .site-header .nav-toggle::after{
    transform:translateY(6px) !important;
  }

  html body .site-header .nav-toggle-input:checked + .nav-toggle span{
    opacity:0 !important;
  }

  html body .site-header .nav-toggle-input:checked + .nav-toggle::before{
    transform:rotate(45deg) !important;
  }

  html body .site-header .nav-toggle-input:checked + .nav-toggle::after{
    transform:rotate(-45deg) !important;
  }

  html body .site-header .menu{
    position:fixed !important;
    inset:68px 0 auto 0 !important;
    display:grid !important;
    gap:0 !important;
    width:100% !important;
    max-height:calc(100vh - 68px) !important;
    overflow:auto !important;
    padding:12px 22px 28px !important;
    background:rgba(6,25,35,.985) !important;
    border-top:1px solid rgba(215,181,106,.2) !important;
    box-shadow:0 30px 60px rgba(0,0,0,.28) !important;
    transform:translateY(-116%) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:transform .26s ease, opacity .2s ease !important;
    z-index:1001 !important;
  }

  html body .site-header .nav-toggle-input:checked ~ .menu{
    transform:translateY(0) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  html body .site-header .menu li{
    list-style:none !important;
  }

  html body .site-header .menu a,
  html body .site-header .menu a.nav-resaltado,
  html body .site-header .menu a[href*="la-resistencia"]{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:52px !important;
    padding:14px 4px !important;
    border:0 !important;
    border-bottom:1px solid rgba(215,181,106,.16) !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#f7f1e7 !important;
    box-shadow:none !important;
    font-family:var(--rf-serif) !important;
    font-size:20px !important;
    letter-spacing:.02em !important;
    text-transform:none !important;
  }

html body .site-header .menu a.nav-resaltado,
  html body .site-header .menu a[href*="la-resistencia"]{
    color:var(--rf-gold-2) !important;
  }
}

/* Ajuste de fidelidad: portada editorial como la referencia aprobada. */
html body .hero.hero{
  min-height:calc(100svh - 78px) !important;
  display:flex !important;
  align-items:center !important;
  position:relative !important;
  overflow:hidden !important;
  padding:clamp(76px,8vw,112px) clamp(24px,5vw,80px) clamp(58px,7vw,88px) !important;
  background:
    linear-gradient(90deg,rgba(245,240,231,.98) 0%,rgba(245,240,231,.98) 39%,rgba(245,240,231,.74) 62%,rgba(235,228,216,.92) 100%) !important;
  color:var(--rf-ink) !important;
}

html body .hero.hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:auto !important;
  right:clamp(18px,6vw,92px) !important;
  top:48% !important;
  width:min(40vw,610px) !important;
  height:min(88vh,940px) !important;
  transform:translateY(-50%) !important;
  z-index:3 !important;
  background:url("../img/libros/la-resistencia-oficial-3d-clean.png") center/contain no-repeat !important;
  filter:contrast(1.16) saturate(1.12) brightness(.92) drop-shadow(0 28px 34px rgba(6,25,35,.28)) !important;
  opacity:1 !important;
}

html body .hero.hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:1 !important;
  background:
    radial-gradient(650px 420px at 78% 46%,rgba(215,181,106,.18),transparent 68%),
    linear-gradient(90deg,rgba(245,240,231,1) 0%,rgba(245,240,231,.94) 43%,rgba(245,240,231,.62) 62%,rgba(245,240,231,.86) 100%) !important;
}

html body .hero .hero-inner{
  position:relative !important;
  z-index:4 !important;
  width:min(1180px,100%) !important;
  margin:0 auto !important;
  padding:0 min(42vw,560px) 0 0 !important;
  text-align:left !important;
}

html body .hero .award-badge{
  display:grid !important;
  grid-template-columns:auto auto auto !important;
  align-items:center !important;
  gap:16px !important;
  width:min(100%,430px) !important;
  margin:0 0 clamp(24px,4vw,44px) !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  color:var(--rf-ink) !important;
  box-shadow:none !important;
}

html body .hero .award-badge::before,
html body .hero .award-badge::after{
  content:"" !important;
  display:block !important;
  height:1px !important;
  width:148px !important;
  background:rgba(185,146,71,.42) !important;
}

html body .hero .award-seal{
  grid-column:2 !important;
  grid-row:1 !important;
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  background:var(--rf-red) !important;
  border:4px solid rgba(142,31,36,.18) !important;
  box-shadow:0 0 0 1px rgba(142,31,36,.55) !important;
}

html body .hero .award-seal svg{
  display:none !important;
}

html body .hero .award-meta{
  grid-column:1 / -1 !important;
  display:block !important;
  margin-top:14px !important;
}

html body .hero .award-line1,
html body .hero .award-line3{
  display:none !important;
}

html body .hero .award-line2{
  display:block !important;
  font-family:var(--rf-sans) !important;
  color:var(--rf-gold) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.24em !important;
  text-transform:uppercase !important;
  line-height:1.35 !important;
}

html body .hero h1{
  max-width:720px !important;
  margin:0 0 28px !important;
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(62px,7.4vw,108px) !important;
  font-weight:500 !important;
  line-height:.96 !important;
  letter-spacing:-.028em !important;
  text-transform:none !important;
  text-shadow:none !important;
}

html body .hero h1 span{
  color:var(--rf-red) !important;
}

html body .hero h1::after{
  display:none !important;
}

html body .hero .hero-lead{
  max-width:590px !important;
  margin:0 0 34px !important;
  color:var(--rf-ink-soft) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(21px,1.9vw,30px) !important;
  line-height:1.42 !important;
  font-style:normal !important;
  text-shadow:none !important;
}

html body section.hero#inicio .hero-inner .hero-lead{
  color:var(--rf-ink-soft) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(21px,1.9vw,30px) !important;
  line-height:1.42 !important;
  font-style:normal !important;
  text-shadow:none !important;
}

html body .hero .actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  justify-content:flex-start !important;
  align-items:center !important;
}

html body .hero .button.button,
html body .hero a.button.button{
  min-height:58px !important;
  padding:17px 28px !important;
  border-radius:0 !important;
  background:var(--rf-ink) !important;
  border-color:var(--rf-ink) !important;
  color:#fffaf0 !important;
  box-shadow:0 18px 30px rgba(6,25,35,.14) !important;
  font-family:var(--rf-sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
}

html body .hero .button.secondary{
  background:transparent !important;
  border-color:rgba(9,35,49,.28) !important;
  color:var(--rf-ink) !important;
  box-shadow:none !important;
}

html body section.hero#inicio .hero-inner .button.secondary{
  background:rgba(255,250,240,.5) !important;
  border:1px solid rgba(9,35,49,.28) !important;
  color:var(--rf-ink) !important;
}

html body .hero .button:hover{
  background:var(--rf-red) !important;
  border-color:var(--rf-red) !important;
  color:#fffaf0 !important;
}

html body .hero .button.secondary:hover{
  background:rgba(255,250,240,.76) !important;
  color:var(--rf-red) !important;
  border-color:var(--rf-red) !important;
}

html body .books-section.books-section{
  background:var(--rf-paper) !important;
  padding-top:clamp(82px,9vw,132px) !important;
}

html body .books-section .eyebrow-center{
  color:var(--rf-red) !important;
}

html body .books-section h2{
  color:var(--rf-ink) !important;
  font-size:clamp(48px,6vw,88px) !important;
  font-weight:500 !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
}

html body .books-shelf{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(24px,3.5vw,52px) !important;
  align-items:stretch !important;
}

html body .book.book{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:20px !important;
}

html body .book.book::before{
  display:none !important;
}

html body .book .cover3d{
  min-height:360px !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  filter:drop-shadow(0 26px 34px rgba(6,25,35,.24)) !important;
}

/* The Arriero cover has a taller photographic composition; give it the same
   visual presence as the neighboring books instead of shrinking its canvas. */
html body .books-section .book .cover3d.arriero{
  min-height:430px !important;
  background-image:url('../img/libros/el-ultimo-arriero-de-pucon-3d-transparent.png') !important;
  background-size:contain !important;
  background-position:center !important;
}

html body .book .title{
  margin-top:18px !important;
  color:var(--rf-ink) !important;
  font-size:clamp(25px,2.2vw,36px) !important;
  line-height:1.05 !important;
  text-align:center !important;
}

html body .book .ver-mas{
  margin-top:12px !important;
  color:var(--rf-red) !important;
  font-family:var(--rf-sans) !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  border:0 !important;
}

html body .page-hero,
html body .page-hero.page-hero--image,
html body .col-hero,
html body .pr-hero{
  background:
    linear-gradient(90deg,rgba(245,240,231,.99) 0%,rgba(245,240,231,.96) 52%,rgba(235,228,216,.9) 100%) !important;
}

html body .page-hero::before,
html body .col-hero::before,
html body .pr-hero::before{
  background:
    linear-gradient(90deg,rgba(245,240,231,.98),rgba(245,240,231,.58)),
    url("../img/libros/la-resistencia-cover-1200.webp") right center/42% auto no-repeat !important;
  opacity:.28 !important;
}

html body .page-hero h1,
html body .col-hero h1,
html body .pr-hero h1{
  color:var(--rf-ink) !important;
  font-size:clamp(54px,7vw,96px) !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
  text-transform:none !important;
  line-height:.98 !important;
}

@media (max-width:1080px){
  html body .hero.hero{
    min-height:auto !important;
    padding-top:46px !important;
  }

  html body .hero.hero::before{
    position:relative !important;
    display:block !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    width:min(72vw,390px) !important;
    height:clamp(430px,70vw,620px) !important;
    margin:0 auto 20px !important;
  }

  html body .hero.hero::after{
    background:
      linear-gradient(180deg,rgba(245,240,231,.98) 0%,rgba(245,240,231,.88) 100%),
      url("../img/libros/la-resistencia-cover-1200.webp") center top/95% auto no-repeat !important;
    opacity:1 !important;
  }

  html body .hero .hero-inner{
    padding:0 !important;
    text-align:center !important;
  }

  html body .hero .award-badge{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body .hero .actions{
    justify-content:center !important;
  }

  html body .books-shelf{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:620px){
  html body .hero h1{
    font-size:clamp(50px,15vw,72px) !important;
  }

  html body .hero .hero-lead{
    font-size:21px !important;
  }

  html body .hero .button.button{
    width:100% !important;
  }
}

/* Portada home clonada del lenguaje visual de /la-resistencia/. */
html body .site-header .brand.brand--rich{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  min-width:260px !important;
  color:#f8f3e7 !important;
  padding:0 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

html body .site-header .brand.brand--rich::before{
  display:none !important;
}

html body .brand-mark{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:56px !important;
  height:56px !important;
  border:1px solid var(--rf-line-gold) !important;
  color:var(--rf-gold-2) !important;
  font-family:var(--rf-serif) !important;
  font-size:30px !important;
  font-weight:700 !important;
  letter-spacing:-.03em !important;
}

html body .brand-mark::before{
  content:"" !important;
  position:absolute !important;
  top:-10px !important;
  width:20px !important;
  height:10px !important;
  border-top:2px solid var(--rf-gold-2) !important;
  border-left:2px solid var(--rf-gold-2) !important;
  border-right:2px solid var(--rf-gold-2) !important;
  clip-path:polygon(0 100%,20% 0,50% 70%,80% 0,100% 100%) !important;
}

html body .brand-copy strong{
  display:block !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(20px,2.1vw,34px) !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
  color:#f8f3e7 !important;
}

html body .brand-copy span{
  display:block !important;
  margin-top:5px !important;
  font-family:var(--rf-sans) !important;
  font-size:12px !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
  color:var(--rf-gold-2) !important;
}

html body section.rf-home-hero.hero{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  min-height:auto !important;
  padding:0 !important;
  background:linear-gradient(90deg,rgba(245,240,231,.96) 0%,rgba(232,239,242,.9) 42%,rgba(202,219,228,.82) 100%) !important;
}

html body section.rf-home-hero.hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  z-index:-2 !important;
  background:url("../img/libros/la-resistencia-cover-1200.webp") center right 15%/58% auto no-repeat !important;
  opacity:.16 !important;
  filter:grayscale(18%) blur(.5px) !important;
}

html body section.rf-home-hero.hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:linear-gradient(180deg,rgba(245,240,231,.3),rgba(245,240,231,.96) 94%),radial-gradient(60% 70% at 80% 40%,rgba(255,255,255,.12),transparent 65%) !important;
  opacity:1 !important;
}

html body .rf-home-hero .hero-grid{
  width:min(1280px,calc(100% - 64px)) !important;
  min-height:760px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px) !important;
  gap:48px !important;
  align-items:center !important;
  padding:72px 0 58px !important;
}

html body .rf-home-hero .hero-copy{
  padding-top:8px !important;
  text-align:left !important;
  width:100% !important;
  max-width:none !important;
  color:var(--rf-ink) !important;
}

html body .rf-home-hero .flourish{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin-bottom:18px !important;
  color:var(--rf-red) !important;
}

html body .rf-home-hero .flourish::before,
html body .rf-home-hero .flourish::after{
  content:"" !important;
  width:150px !important;
  max-width:22vw !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,var(--rf-gold)) !important;
}

html body .rf-home-hero .flourish::after{
  background:linear-gradient(90deg,var(--rf-gold),transparent) !important;
}

html body .rf-home-hero .flourish span{
  display:block !important;
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  background:radial-gradient(circle at 50% 45%,#c73739 0 28%,#7d1419 31% 100%) !important;
  box-shadow:0 0 0 3px rgba(142,31,36,.08) !important;
}

html body section.rf-home-hero.hero .hero-copy h1{
  max-width:720px !important;
  margin:0 !important;
  color:var(--rf-ink) !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(58px,7.3vw,112px) !important;
  font-weight:600 !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
  text-transform:none !important;
  text-shadow:none !important;
}

html body section.rf-home-hero.hero .hero-copy h1 em{
  font-style:normal !important;
  color:var(--rf-red) !important;
}

html body .rf-home-hero .hero-sub{
  max-width:620px !important;
  margin:28px 0 0 !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(23px,2.1vw,31px) !important;
  line-height:1.28 !important;
  color:var(--rf-ink-soft) !important;
  text-shadow:none !important;
}

html body .rf-home-hero .hero-sub em{
  color:var(--rf-ink) !important;
  font-style:italic !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy p.hero-sub,
html body section.hero.rf-home-hero .hero-grid .hero-copy p.hero-sub.hero-sub{
  color:var(--rf-ink-soft) !important;
  text-shadow:none !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy p.hero-sub em{
  color:var(--rf-ink) !important;
}

html body .rf-home-hero .cta-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  margin-top:32px !important;
}

html body .rf-home-hero .button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:58px !important;
  padding:16px 28px !important;
  border:1px solid var(--rf-ink) !important;
  border-radius:0 !important;
  font-family:var(--rf-serif) !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  transition:.18s ease !important;
}

html body .rf-home-hero .button svg{
  width:22px !important;
  height:22px !important;
  flex:0 0 auto !important;
}

html body .rf-home-hero .button.primary{
  background:var(--rf-night) !important;
  color:#fff !important;
  border-color:var(--rf-gold) !important;
  box-shadow:0 10px 24px rgba(6,25,35,.18) !important;
}

html body .rf-home-hero .button.secondary{
  background:rgba(255,255,255,.38) !important;
  color:var(--rf-ink) !important;
  border-color:rgba(11,31,43,.45) !important;
  box-shadow:none !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy .cta-row a.button.secondary,
html body section.hero.rf-home-hero .hero-grid .hero-copy .cta-row a.button.secondary svg{
  color:var(--rf-ink) !important;
  stroke:currentColor !important;
}

html body .rf-home-hero .button.primary:hover{
  background:var(--rf-red) !important;
  border-color:var(--rf-red) !important;
  transform:translateY(-1px) !important;
}

html body .rf-home-hero .button.secondary:hover{
  background:#fff !important;
  border-color:var(--rf-gold) !important;
  color:var(--rf-ink) !important;
}

html body .rf-home-hero .hero-facts{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:26px !important;
  margin-top:52px !important;
  color:var(--rf-ink-soft) !important;
  text-shadow:none !important;
}

html body .rf-home-hero .fact{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:150px !important;
  font-size:17px !important;
  line-height:1.2 !important;
  color:var(--rf-ink-soft) !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts,
html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts .fact,
html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts .fact span{
  color:var(--rf-ink-soft) !important;
  text-shadow:none !important;
}

html body .rf-home-hero .fact svg{
  width:28px !important;
  height:28px !important;
  color:var(--rf-ink) !important;
  stroke-width:1.5 !important;
  flex:0 0 auto !important;
}

html body .rf-home-hero .fact strong{
  display:block !important;
  font-family:var(--rf-sans) !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  color:var(--rf-ink) !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts .fact svg{
  color:var(--rf-ink) !important;
  stroke:currentColor !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts .fact span,
html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts .fact span strong{
  color:var(--rf-ink) !important;
  text-shadow:none !important;
}

html body section.hero.rf-home-hero .hero-grid .hero-copy .hero-facts .fact span{
  color:var(--rf-ink-soft) !important;
}

html body .rf-home-hero .book-stage{
  position:relative !important;
  align-self:end !important;
  margin:0 !important;
}

html body .rf-home-hero .book-stage::before{
  content:"" !important;
  position:absolute !important;
  left:10% !important;
  right:6% !important;
  bottom:1% !important;
  height:36px !important;
  background:rgba(6,25,35,.28) !important;
  filter:blur(18px) !important;
  border-radius:50% !important;
  z-index:-1 !important;
}

html body .rf-home-hero .book-stage img{
  display:block !important;
  width:min(380px,100%) !important;
  max-height:80vh !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  filter:contrast(1.04) saturate(1.04) drop-shadow(0 26px 36px rgba(6,25,35,.30)) !important;
}

@media (max-width:980px){
  html body .site-header .brand.brand--rich{
    min-width:0 !important;
    gap:12px !important;
  }

  html body .brand-mark{
    width:44px !important;
    height:44px !important;
    font-size:24px !important;
  }

  html body .brand-copy strong{
    font-size:20px !important;
  }

  html body .brand-copy span{
    font-size:10px !important;
  }

  html body .rf-home-hero .hero-grid{
    width:calc(100% - 40px) !important;
    min-height:auto !important;
    grid-template-columns:1fr !important;
    padding:28px 0 44px !important;
    gap:22px !important;
  }

  html body .rf-home-hero .book-stage{
    order:-1 !important;
    align-self:center !important;
  }

  html body .rf-home-hero .book-stage img{
    width:min(270px,68vw) !important;
    max-height:44vh !important;
  }

  html body section.rf-home-hero.hero .hero-copy h1{
    font-size:clamp(48px,14vw,74px) !important;
  }

  html body .rf-home-hero .hero-sub{
    font-size:22px !important;
  }

  html body .rf-home-hero .button{
    width:100% !important;
    min-height:54px !important;
    font-size:16px !important;
  }
}

/* Inicio mobile first: la portada respira y el contenido conserva prioridad. */
@media (min-width:981px){
  html body .rf-home-hero .hero-grid{
    min-height:820px !important;
    grid-template-columns:minmax(0,1fr) minmax(320px,380px) !important;
    padding:48px 0 42px !important;
  }
}

@media (max-width:760px){
  html body .rf-home-hero .hero-grid{
    width:calc(100% - 32px) !important;
    padding:24px 0 38px !important;
    gap:20px !important;
  }
  html body .rf-home-hero .book-stage img{
    width:min(250px,64vw) !important;
    max-height:42vh !important;
  }
  html body section.rf-home-hero.hero .hero-copy h1{
    font-size:clamp(42px,12.5vw,58px) !important;
    line-height:.98 !important;
  }
  html body .rf-home-hero .hero-sub{
    margin-top:20px !important;
    font-size:20px !important;
    line-height:1.3 !important;
  }
  html body .rf-home-hero .hero-facts{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:16px 12px !important;
    margin-top:30px !important;
  }
  html body .rf-home-hero .fact{
    min-width:0 !important;
    font-size:15px !important;
  }
}

/* Obras: keep every text block fully visible while preserving the compact layout. */
html body.obras-body main > .section--wide,
html body.obras-body main > .section--wide > .wrap,
html body.obras-body main > .section--wide .book-card,
html body.obras-body main > .section--wide .book-body,
html body.obras-body main > .section--wide .book-body .section-copy,
html body.obras-body main > .section--wide .book-body .meta-list,
html body.obras-body main > .section--wide .book-body .actions {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body.obras-body main > .section--wide .book-body > strong {
  display:block !important;
  font-size:11px !important;
  margin:0 0 3px !important;
  line-height:1.05 !important;
}
html body.obras-body main > .section--wide .book-body .section-title {
  font-size:clamp(32px,3.8vw,52px) !important;
  line-height:.92 !important;
  margin:2px 0 7px !important;
}
html body.obras-body main > .section--wide .book-body .section-copy {
  font-size:14px !important;
  line-height:1.22 !important;
  margin:0 0 6px !important;
}
html body.obras-body main > .section--wide .book-body .meta-list {
  gap:2px !important;
  margin:0 0 5px !important;
  font-size:11px !important;
  line-height:1.14 !important;
}
html body.obras-body main > .section--wide .book-body .meta-list span {
  margin:0 !important;
}
html body.obras-body main > .section--wide .book-body .actions {
  margin-top:4px !important;
}

@media (max-width:760px){
  html body.obras-body main > .section--wide .book-body > strong {
    font-size:10px !important;
    margin-bottom:2px !important;
    line-height:1.08 !important;
  }
  html body.obras-body main > .section--wide .book-body .section-title {
    font-size:clamp(24px,7vw,34px) !important;
    line-height:.92 !important;
    margin-top:1px !important;
    margin-bottom:3px !important;
  }
  html body.obras-body main > .section--wide .book-body .section-copy {
    font-size:12px !important;
    line-height:1.18 !important;
    margin-top:0 !important;
    margin-bottom:3px !important;
  }
  html body.obras-body main > .section--wide .meta-list {
    font-size:10px !important;
    line-height:1.12 !important;
    margin-top:0 !important;
    margin-bottom:3px !important;
  }
  html body.obras-body main > .section--wide .actions {
    margin-top:2px !important;
  }
}

/* Final override for the compact author composition on Inicio. */
html body.home-page .home-sheet--author .about-grid{
  grid-template-columns:minmax(220px,300px) minmax(0,1fr) !important;
  gap:clamp(30px,4vw,58px) !important;
  align-items:start !important;
}
html body.home-page .home-sheet--author .about-photo{
  width:100% !important;
  max-width:300px !important;
  margin:0 !important;
}
html body.home-page .home-sheet--author .about-photo img{
  width:100% !important;
  height:clamp(300px,34vw,420px) !important;
  object-fit:cover !important;
  object-position:center top !important;
}
html body.home-page .home-sheet--author .about-body{
  padding:0 !important;
  max-width:720px !important;
}
html body.home-page .home-sheet--author .about-body .section-copy{
  margin:0 0 16px !important;
  font-size:18px !important;
  line-height:1.55 !important;
}
@media (max-width:760px){
  html body.home-page .home-sheet--author .about-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  html body.home-page .home-sheet--author .about-photo{
    width:min(180px,52vw) !important;
    max-width:none !important;
  }
  html body.home-page .home-sheet--author .about-photo img{
    height:250px !important;
  }
  html body.home-page .home-sheet--author .about-body .section-title{
    margin-bottom:16px !important;
    font-size:clamp(40px,11vw,54px) !important;
    line-height:.98 !important;
  }
  html body.home-page .home-sheet--author .about-body .section-copy{
    font-size:17px !important;
    line-height:1.48 !important;
    margin-bottom:14px !important;
  }
}

/* Sobre el autor compacto: imagen y texto comparten una misma composición. */
html body.home-page .home-sheet--author .about-band{
  padding-top:clamp(28px,4vw,56px) !important;
  padding-bottom:clamp(34px,5vw,64px) !important;
}

html body.home-page .home-sheet--author .about-grid{
  grid-template-columns:minmax(220px,300px) minmax(0,1fr) !important;
  gap:clamp(30px,4vw,58px) !important;
  align-items:start !important;
}

html body.home-page .home-sheet--author .about-photo{
  width:100% !important;
  max-width:300px !important;
  margin:0 !important;
}

html body.home-page .home-sheet--author .about-photo img{
  width:100% !important;
  height:clamp(300px,34vw,420px) !important;
  object-fit:cover !important;
  object-position:center top !important;
  box-shadow:0 16px 30px rgba(6,25,35,.14) !important;
}

html body.home-page .home-sheet--author .about-body{
  padding:0 !important;
  max-width:720px !important;
}

html body.home-page .home-sheet--author .about-body .section-title{
  margin-bottom:20px !important;
  font-size:clamp(42px,4.8vw,68px) !important;
  line-height:.98 !important;
}

html body.home-page .home-sheet--author .about-body .section-copy{
  margin:0 0 16px !important;
  font-size:18px !important;
  line-height:1.55 !important;
}

@media (max-width:760px){
  html body.home-page .home-sheet--author .about-band{
    padding-top:26px !important;
    padding-bottom:38px !important;
  }
  html body.home-page .home-sheet--author .about-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  html body.home-page .home-sheet--author .about-photo{
    width:min(180px,52vw) !important;
    max-width:none !important;
    margin:0 !important;
  }
  html body.home-page .home-sheet--author .about-photo img{
    height:250px !important;
  }
  html body.home-page .home-sheet--author .about-body .section-title{
    margin-bottom:16px !important;
    font-size:clamp(40px,11vw,54px) !important;
  }
  html body.home-page .home-sheet--author .about-body .section-copy{
    font-size:17px !important;
    line-height:1.48 !important;
    margin-bottom:14px !important;
  }
}

/* Legibilidad: textos oscuros sobre fondos crema en páginas editoriales. */
html body .col-hero.col-hero{
  background:
    linear-gradient(90deg,rgba(245,240,231,.98) 0%,rgba(245,240,231,.94) 58%,rgba(235,227,215,.86) 100%) !important;
  color:var(--rf-ink) !important;
}

html body .col-hero::before{
  opacity:.18 !important;
}

html body .col-hero .col-hero-text,
html body .col-hero .col-hero-text *,
html body .col-hero .eyebrow,
html body .col-hero h1,
html body .col-hero h1 .accent,
html body .col-hero .lead{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
  text-shadow:none !important;
}

html body .col-hero .eyebrow{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

html body .col-hero h1 .accent{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

html body .col-hero .lead{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}

html body .col-hero .tag-pill{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
  background:rgba(255,250,240,.68) !important;
  border:1px solid rgba(185,146,71,.34) !important;
  text-shadow:none !important;
}

html body .col-filter.col-filter{
  background:var(--rf-paper) !important;
  border-color:var(--rf-line-gold) !important;
}

html body .col-filter a,
html body .col-filter a:visited{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
  background:rgba(255,250,240,.76) !important;
  border:1px solid rgba(185,146,71,.42) !important;
  text-shadow:none !important;
}

html body .col-filter a.is-active,
html body .col-filter a:hover{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  background:var(--rf-ink) !important;
  background-color:var(--rf-ink) !important;
  border-color:var(--rf-ink) !important;
}

html body .col-filter a.is-active.is-active{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  background:var(--rf-ink) !important;
  background-color:var(--rf-ink) !important;
  border-color:var(--rf-ink) !important;
}

html body .col-card .col-card-body,
html body .col-card .col-card-body p,
html body .col-card .col-card-body .meta,
html body .col-card .col-card-body .meta span{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
  text-shadow:none !important;
}

html body .col-card .col-card-body .cta{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

/* Legibilidad global: páginas claras nunca deben heredar text-fill blanco. */
html body .page-hero,
html body .page-hero *,
html body .section:not(.section--dark),
html body .section:not(.section--dark) *,
html body .books-section,
html body .books-section *,
html body .book-card,
html body .book-card *,
html body .contact-grid,
html body .contact-grid *,
html body .contact-form-card,
html body .contact-form-card *,
html body .events-grid,
html body .events-grid *,
html body .event-card,
html body .event-card *,
html body .pr-hero,
html body .pr-hero *,
html body .press-grid,
html body .press-grid *,
html body .press-card,
html body .press-card *{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
  text-shadow:none !important;
}

html body .page-hero .eyebrow,
html body .page-hero .hero-copy,
html body .page-hero p,
html body .section-copy,
html body .book-card p,
html body .contact-aside p,
html body .contact-form-card label,
html body .event-meta,
html body .event-lugar,
html body .press-summary,
html body .press-meta,
html body .pr-hero p{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}

html body .page-hero .eyebrow,
html body .book-card strong,
html body .press-kicker,
html body .press-source,
html body .press-link,
html body .contact-aside .eyebrow,
html body .event-type,
html body .event-badge{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

html body .button,
html body .button *,
html body a.button,
html body a.button *,
html body button.button,
html body button.button *{
  -webkit-text-fill-color:currentColor !important;
}

html body .button:not(.light):not(.secondary),
html body .buy-submit,
html body .contact-form-card button,
html body .newsletter-form button{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}

html body .feature-band,
html body .feature-band *,
html body .newsletter-band,
html body .newsletter-band *,
html body .newsletter-card,
html body .newsletter-card *,
html body .award-strip,
html body .award-strip *,
html body .shop-info,
html body .shop-info *,
html body .pr-kit,
html body .pr-kit *,
html body .site-footer,
html body .site-footer *{
  color:#f7f1e7 !important;
  -webkit-text-fill-color:#f7f1e7 !important;
}

html body .feature-band p,
html body .newsletter-band p,
html body .newsletter-card p,
html body .award-strip p,
html body .award-strip span,
html body .shop-info p,
html body .pr-kit p,
html body .site-footer p,
html body .site-footer a,
html body .site-footer li{
  color:rgba(247,241,231,.78) !important;
  -webkit-text-fill-color:rgba(247,241,231,.78) !important;
}

/* La identidad de La Resistencia se replica en toda la navegación pública. */
html body .site-header .nav{
  width:min(1380px,calc(100% - 56px)) !important;
  min-height:86px !important;
  padding:0 !important;
}

html body .site-header .brand.brand--rich{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  min-width:260px !important;
  color:#f8f3e7 !important;
  font-family:var(--rf-serif) !important;
  font-size:inherit !important;
  font-weight:600 !important;
  letter-spacing:normal !important;
}

html body .site-header .brand.brand--rich::before{display:none !important}

html body .site-header .brand--rich .brand-mark{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:56px !important;
  height:56px !important;
  border:1px solid var(--rf-line-gold) !important;
  color:var(--rf-gold-2) !important;
  font-family:var(--rf-serif) !important;
  font-size:30px !important;
  font-weight:700 !important;
  letter-spacing:-.03em !important;
  line-height:1 !important;
}

html body .site-header .brand--rich .brand-mark::before{
  content:"" !important;
  position:absolute !important;
  top:-10px !important;
  width:20px !important;
  height:10px !important;
  border-top:2px solid var(--rf-gold-2) !important;
  border-left:2px solid var(--rf-gold-2) !important;
  border-right:2px solid var(--rf-gold-2) !important;
  clip-path:polygon(0 100%,20% 0,50% 70%,80% 0,100% 100%) !important;
}

html body .site-header .brand--rich .brand-copy strong{
  display:block !important;
  color:#f8f3e7 !important;
  font-family:var(--rf-serif) !important;
  font-size:clamp(20px,2.1vw,34px) !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
}

html body .site-header .brand--rich .brand-copy span{
  display:block !important;
  margin-top:5px !important;
  color:var(--rf-gold-2) !important;
  font-family:var(--rf-sans) !important;
  font-size:12px !important;
  letter-spacing:.34em !important;
  text-transform:uppercase !important;
}

html body .site-header .menu a.nav-resaltado{
  background:rgba(185,146,71,.05) !important;
  color:var(--rf-gold-2) !important;
  border:1px solid var(--rf-line-gold) !important;
  border-radius:6px !important;
  padding:9px 18px !important;
  box-shadow:none !important;
}

html body .site-header .menu a.nav-resaltado:hover,
html body .site-header .menu a.nav-resaltado.active{
  background:rgba(185,146,71,.12) !important;
  color:var(--rf-gold-2) !important;
  border-color:var(--rf-line-gold) !important;
}

html body .page-hero.page-hero--image{
  background:
    linear-gradient(90deg,rgba(245,240,231,.97) 0%,rgba(245,240,231,.93) 48%,rgba(222,235,241,.78) 100%),
    url("../img/libros/la-resistencia-cover-1200.webp") center right 15%/58% auto no-repeat !important;
  color:var(--rf-ink) !important;
}

html body .page-hero.page-hero--image::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(245,240,231,.12),rgba(245,240,231,.72) 94%) !important;
  pointer-events:none !important;
}

html body .page-hero.page-hero--image > .wrap{position:relative;z-index:1}

html body main .page-hero.page-hero--image{
  background-color:var(--rf-paper) !important;
  background-image:
    linear-gradient(90deg,rgba(245,240,231,.97) 0%,rgba(245,240,231,.93) 48%,rgba(222,235,241,.78) 100%),
    url("../img/libros/la-resistencia-cover-1200.webp") !important;
  background-position:center, right 15% !important;
  background-size:auto, 58% auto !important;
  background-repeat:no-repeat !important;
}

html body main section.page-hero.page-hero--image.page-hero--image{
  background-image:
    linear-gradient(90deg,rgba(245,240,231,.97) 0%,rgba(245,240,231,.93) 48%,rgba(222,235,241,.78) 100%),
    url("../img/libros/la-resistencia-cover-1200.webp") !important;
}

/* Componentes que viven sobre azul: texto claro real, sin herencias cruzadas. */
html body .section .feature-band,
html body .section .feature-band *{
  color:#f7f1e7 !important;
  -webkit-text-fill-color:#f7f1e7 !important;
}

html body .section .feature-band .eyebrow,
html body .section .feature-band .eyebrow *{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

html body .section .feature-band .button,
html body .section .feature-band .button *{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}

html body .event-card,
html body .event-card *{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}

html body .event-card .event-badge{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  background:var(--rf-ink) !important;
}

html body .event-filters button{
  min-height:44px !important;
  padding:10px 16px !important;
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
  font-size:14px !important;
  letter-spacing:.16em !important;
}

html body .event-filters button.is-active{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  background:var(--rf-ink) !important;
}

html body .mini-cal h4,
html body .mini-cal th,
html body .mini-cal td{
  font-size:15px !important;
}

html body .page-hero .eyebrow,
html body .pr-hero .eyebrow,
html body .col-hero .eyebrow,
html body .contact-aside .eyebrow,
html body .book-card > .book-body > strong{
  font-size:13px !important;
}

html body .book-card .book-cover.arriero{
  background-image:url("../img/libros/el-ultimo-arriero-de-pucon-3d-clean.png") !important;
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}

html body .book-card .book-cover.crudo-invierno{
  background-image:url("../img/libros/el-crudo-invierno-del-91-3d-clean.png") !important;
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-color:transparent !important;
}

/* Contraste final de las superficies claras: color y relleno siempre coinciden. */
html body main .page-hero .hero-copy,
html body main .pr-hero p,
html body main .col-hero .lead,
html body main .contact-aside p,
html body main .section:not(.section--dark) .book-card .book-body,
html body main .section:not(.section--dark) .book-card .book-body *{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}

html body main .section:not(.section--dark) .book-card .book-body h2,
html body main .section:not(.section--dark) .book-card .book-body h3,
html body main .section:not(.section--dark) .book-card .book-body b,
html body main .section:not(.section--dark) .event-card h3,
html body main .section:not(.section--dark) .press-card h3,
html body main .section:not(.section--dark) .contact-form-card h3{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}

html body main .section:not(.section--dark) .book-card .book-body > strong,
html body main .section:not(.section--dark) .book-card .book-body .cta,
html body main .section:not(.section--dark) .press-kicker,
html body main .section:not(.section--dark) .press-source,
html body main .section:not(.section--dark) .press-link,
html body main .section:not(.section--dark) .event-type{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

html body main .section:not(.section--dark) .book-card .book-body .button,
html body main .section:not(.section--dark) .book-card .book-body .button *{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}

html body main .section:not(.section--dark) .book-card .book-body .button.light,
html body main .section:not(.section--dark) .book-card .book-body .button.light *{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}

html body main .page-hero.page-hero--image .hero-copy,
html body main .event-card p,
html body main .event-card .event-lugar,
html body main .book-card .book-body p.section-copy{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}

/* Calendario: superficie clara y cifras legibles. */
html body main .mini-cal{
  background:rgba(255,250,240,.92) !important;
  background-color:rgba(255,250,240,.92) !important;
  border:1px solid var(--rf-line-gold) !important;
  color:var(--rf-ink) !important;
}

html body main .mini-cal h4,
html body main .mini-cal table,
html body main .mini-cal th,
html body main .mini-cal td{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}

html body main .mini-cal th{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}

html body main .mini-cal td.has-event{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

/* Acciones de libros: el botón principal debe leerse como acción primaria. */
html body main .book-card .book-body .button:not(.light){
  background:var(--rf-ink) !important;
  background-color:var(--rf-ink) !important;
  border:1px solid var(--rf-gold) !important;
  border-radius:2px !important;
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}

html body main .book-card .book-body .button.light{
  background:transparent !important;
  background-color:transparent !important;
  border:1px solid rgba(11,31,43,.42) !important;
  border-radius:2px !important;
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}

/* Ninguna portada debe heredar el panel oscuro de la hoja editorial. */
html body main .book-card .book-cover,
html body main .book-card .book-cover.la-resistencia,
html body main .book-card .book-cover.arriero,
html body main .book-card .book-cover.crudo-invierno{
  background-color:transparent !important;
  background-blend-mode:normal !important;
}

/* Ajuste de lectura: un poco mas de cuerpo para que el contenido respire. */
html body{
  font-size:19px !important;
}

html body .site-header .menu a{
  font-size:19px !important;
}

html body .page-hero .hero-copy,
html body .pr-hero p,
html body .col-hero .lead,
html body .section-copy,
html body .book-card p,
html body .event-meta,
html body .event-lugar,
html body .press-summary,
html body .contact-aside p,
html body .contact-form-card input,
html body .contact-form-card select,
html body .contact-form-card textarea{
  font-size:19px !important;
}

html body .col-card .col-card-body p,
html body .col-card .col-card-body .meta{
  font-size:18px !important;
}

html body .button,
html body .buy-submit,
html body .contact-form-card button{
  font-size:19px !important;
}

@media (max-width:860px){
  html body{font-size:18px !important}
  html body .site-header .menu a{font-size:18px !important}
  html body .page-hero .hero-copy,
  html body .pr-hero p,
  html body .col-hero .lead,
  html body .section-copy,
  html body .book-card p,
  html body .event-meta,
  html body .event-lugar,
  html body .press-summary,
  html body .contact-aside p{font-size:18px !important}
}

/* Final home-page contrast pass: outrank legacy premium theme overrides. */
html body .about-band.about-band.about-band .section-title,
html body .press-band.press-band.press-band .section-title,
html body .about-band.about-band.about-band .section-copy,
html body .about-band.about-band.about-band p,
html body .press-band.press-band.press-band p{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body .about-band.about-band.about-band .section-copy,
html body .about-band.about-band.about-band p{
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
}
html body .about-band.about-band.about-band .section-copy strong,
html body .about-band.about-band.about-band .section-copy em{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body .about-band.about-band.about-band .eyebrow,
html body .press-band.press-band.press-band .eyebrow,
html body .press-band.press-band.press-band .press-source{
  color:#9c2929 !important;
  -webkit-text-fill-color:#9c2929 !important;
}
html body .press-band.press-band.press-band .press-quote p,
html body .press-band.press-band.press-band .press-quote .link-arrow{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}

html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card{
  width:100% !important;
  max-width:1160px !important;
  min-height:560px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr) !important;
  gap:72px !important;
  align-items:center !important;
  background-image:url('../img/libros/la-resistencia-oficial-3d-clean.png') !important;
  background-repeat:no-repeat !important;
  background-position:right 50% !important;
  background-size:min(31vw,330px) auto !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .wrap{
  display:block !important;
  grid-template-columns:none !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta,
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form{
  width:100% !important;
  max-width:none !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta .section-title{
  max-width:11ch !important;
  font-size:clamp(44px,4.6vw,76px) !important;
  line-height:1.02 !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta .section-copy{
  max-width:52ch !important;
  font-size:20px !important;
  color:#d7cfc2 !important;
  -webkit-text-fill-color:#d7cfc2 !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form{
  align-self:end !important;
  padding-bottom:18px !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form input{
  width:100% !important;
  box-sizing:border-box !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form button{
  max-width:100% !important;
}

/* Keep the author copy comfortably inside the editorial frame. */
html body .about-band.about-band.about-band .wrap{
  max-width:1440px !important;
}
html body .about-band.about-band.about-band .about-grid{
  grid-template-columns:minmax(420px,560px) minmax(0,1fr) !important;
  gap:clamp(64px,7vw,112px) !important;
}
html body .about-band.about-band.about-band .about-body{
  min-width:0 !important;
  padding-right:clamp(24px,4vw,72px) !important;
}
html body .about-band.about-band.about-band .section-copy{
  max-width:62ch !important;
  font-size:18px !important;
  line-height:1.76 !important;
}

html body .rf-home-hero .hero-facts .fact,
html body .rf-home-hero .hero-facts .fact svg,
html body .rf-home-hero .hero-facts .fact svg *{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
  stroke:#0b1f2b !important;
}

@media (max-width:860px){
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card{
    min-height:0 !important;
    display:block !important;
    background-image:none !important;
  }
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form{
    margin-top:34px !important;
  }
}

/* Inicio: lectura previa clara, directa y con la portada como atmósfera. */
html body .newsletter-band.newsletter-band.newsletter-band{
  background:
    linear-gradient(90deg,rgba(255,250,240,.98) 0%,rgba(255,250,240,.93) 52%,rgba(225,235,240,.72) 100%),
    url('../img/libros/la-resistencia-oficial-3d-clean.png') right center/52% auto no-repeat !important;
  background-color:#fffaf0 !important;
  padding:clamp(92px,10vw,150px) 0 !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .wrap{
  max-width:1280px !important;
  padding:0 40px !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card{
  display:block !important;
  width:100% !important;
  max-width:1080px !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:0 !important;
  background:none !important;
  text-align:center !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta,
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta .eyebrow{
  display:none !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta .section-title{
  max-width:none !important;
  margin:0 auto 20px !important;
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
  font-size:clamp(48px,5.6vw,82px) !important;
  line-height:1.02 !important;
  text-align:center !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta .section-copy{
  max-width:none !important;
  margin:0 auto 58px !important;
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
  font-size:21px !important;
  line-height:1.45 !important;
  text-align:center !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 254px !important;
  align-items:stretch !important;
  margin:0 auto !important;
  padding:0 !important;
  max-width:1080px !important;
  text-align:left !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form input{
  min-width:0 !important;
  height:84px !important;
  margin:0 !important;
  padding:0 30px !important;
  border:1px solid rgba(11,31,43,.20) !important;
  border-right:0 !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.82) !important;
  color:#0b1f2b !important;
  font-size:20px !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form input::placeholder{
  color:#64717b !important;
  opacity:1 !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form button{
  width:100% !important;
  max-width:none !important;
  min-height:84px !important;
  margin:0 !important;
  border:1px solid #0b1f2b !important;
  border-radius:0 !important;
  background:#0b1f2b !important;
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  font-family:var(--rf-serif) !important;
  font-size:20px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
html body .newsletter-band.newsletter-band.newsletter-band .newsletter-note{
  margin:18px 0 0 !important;
  color:#64717b !important;
  -webkit-text-fill-color:#64717b !important;
  font-family:var(--rf-sans) !important;
  font-size:16px !important;
  text-align:center !important;
}

@media (max-width:720px){
  html body .newsletter-band.newsletter-band.newsletter-band{
    background:
      linear-gradient(180deg,rgba(255,250,240,.97),rgba(255,250,240,.95)),
      url('../img/libros/la-resistencia-oficial-3d-clean.png') center bottom/72% auto no-repeat !important;
  }
  html body .newsletter-band.newsletter-band.newsletter-band .wrap{
    padding:0 24px !important;
  }
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-card-meta .section-title{
    font-size:clamp(42px,11vw,62px) !important;
  }
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form{
    display:block !important;
  }
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form input,
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form button{
    width:100% !important;
    border:1px solid rgba(11,31,43,.22) !important;
  }
  html body .newsletter-band.newsletter-band.newsletter-band .newsletter-form button{
    margin-top:10px !important;
  }
}

/* Inicio: portadas sin el rectángulo claro del lienzo original. */
html body .books-section .book .cover3d.crudo,
html body .books-section .book .cover3d.crudo-invierno{
  background-image:url('../img/libros/el-crudo-invierno-del-91-3d-transparent.png') !important;
  background-color:transparent !important;
}
html body .books-section .book .cover3d.resistencia{
  background-image:url('../img/libros/la-resistencia-oficial-3d-transparent.png') !important;
  background-color:transparent !important;
}

/* Mobile QA pass: reset desktop widths before stacking the editorial layout. */
@media (max-width:760px){
  html body,
  html body main,
  html body section,
  html body .wrap,
  html body .footer-inner,
  html body .site-footer{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  html body,
  html body main{
    overflow-x:hidden !important;
  }

  html body .site-header .nav{
    width:100% !important;
    min-height:72px !important;
    padding:14px 18px !important;
    box-sizing:border-box !important;
  }
  html body .site-header .brand{
    min-width:0 !important;
    max-width:220px !important;
  }
  html body .site-header .brand-copy strong{
    font-size:18px !important;
  }
  html body .site-header .social{
    display:none !important;
  }
  html body .site-header .menu{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    padding:14px 24px 22px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  html body .site-header .nav-toggle-input:checked ~ .menu,
  html body.menu-open .site-header .menu{
    display:flex !important;
  }
  html body .site-header .menu a{
    width:100% !important;
    box-sizing:border-box !important;
    padding:14px 0 !important;
  }

  html body .wrap,
  html body .newsletter-band .wrap,
  html body .pr-hero-inner{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  html body .section,
  html body .books-section,
  html body .press-band,
  html body .about-band,
  html body .newsletter-band{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  html body .books-shelf{
    grid-template-columns:1fr !important;
    gap:46px !important;
  }
  html body .books-section .book.book{
    width:100% !important;
    padding:0 !important;
  }
  html body .books-section .book .cover3d,
  html body .books-section .book .cover3d.arriero{
    min-height:360px !important;
    max-height:430px !important;
  }
  html body .books-section .book .title{
    font-size:34px !important;
    line-height:1.08 !important;
  }

  html body .about-band.about-band.about-band .wrap{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  html body .about-band.about-band.about-band .about-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:36px !important;
    width:100% !important;
  }
  html body .about-band.about-band.about-band .about-photo{
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
  }
  html body .about-band.about-band.about-band .about-body{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    padding:0 !important;
  }
  html body .about-band.about-band.about-band .section-title,
  html body .about-band.about-band.about-band .section-copy{
    width:100% !important;
    max-width:none !important;
  }
  html body .about-band.about-band.about-band .section-title{
    font-size:clamp(42px,12vw,60px) !important;
    line-height:1.04 !important;
  }
  html body .about-band.about-band.about-band .section-copy{
    font-size:18px !important;
    line-height:1.65 !important;
  }

  html body .newsletter-band .newsletter-form{
    width:100% !important;
    max-width:none !important;
  }

  html body .events-grid,
  html body .contact-grid,
  html body .press-grid,
  html body .col-grid,
  html body .pr-kit,
  html body .pr-kit-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:none !important;
  }
  html body .event-cards{
    width:100% !important;
    min-width:0 !important;
  }
  html body .mini-cal{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  html body .col-grid,
  html body .press-grid{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  html body .col-card,
  html body .press-card,
  html body .event-card,
  html body .contact-form-card,
  html body .pr-kit-side{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  html body .col-card-cover h2,
  html body .press-card h3,
  html body .event-card h3{
    overflow-wrap:anywhere !important;
  }

  html body .page-hero h1,
  html body .col-hero h1,
  html body .pr-hero h1{
    font-size:clamp(42px,12vw,62px) !important;
    line-height:1.02 !important;
    max-width:100% !important;
  }
  html body .page-hero .hero-copy,
  html body .col-hero .lead,
  html body .pr-hero-inner > p:not(.eyebrow){
    font-size:19px !important;
    line-height:1.5 !important;
    max-width:100% !important;
  }
  html body .page-hero .button,
  html body .feature-band .button,
  html body .contact-form-card button,
  html body .book-card .button{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  html body input,
  html body select,
  html body textarea,
  html body button{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  html body .res-form-grid,
  html body .form-row,
  html body .res-preorder .form-row{
    grid-template-columns:minmax(0,1fr) !important;
  }
  html body #formReservar{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0,1fr) !important;
  }
  html body #formReservar > *,
  html body #formReservar input,
  html body #formReservar select,
  html body #formReservar textarea,
  html body #formReservar button{
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
  }
  html body .res-preorder input,
  html body .res-preorder select,
  html body .res-preorder button,
  html body .res-form input,
  html body .res-form select,
  html body .res-form button{
    width:100% !important;
    min-width:0 !important;
  }

  html body .footer-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:30px !important;
    padding:42px 24px !important;
  }
  html body .footer-inner > *{
    width:100% !important;
    min-width:0 !important;
  }
  html body .footer-inner .newsletter-col input,
  html body .footer-inner .newsletter-col button{
    width:100% !important;
  }
}

/* Cross-page polish: keep secondary pages in the same visual world as Inicio. */
html body.prensa-body .pr-hero.pr-hero{
  min-height:clamp(430px,52vw,650px) !important;
  display:flex !important;
  align-items:center !important;
  background:
    linear-gradient(90deg,#f5f0e7 0%,rgba(245,240,231,.98) 34%,rgba(245,240,231,.78) 52%,rgba(245,240,231,.18) 100%),
    url('../img/prensa-atril.webp') center/cover no-repeat !important;
  background-color:#f5f0e7 !important;
}
html body.prensa-body .pr-hero.pr-hero::before{
  display:none !important;
}
html body.prensa-body .pr-hero-inner{
  max-width:1280px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:clamp(64px,8vw,112px) 40px !important;
}
html body.prensa-body .pr-hero-inner h1,
html body.prensa-body .pr-hero-inner p{
  max-width:18ch !important;
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body.prensa-body .pr-hero-inner p{
  max-width:52ch !important;
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
}
html body.prensa-body .pr-hero-inner .eyebrow{
  color:#9c2929 !important;
  -webkit-text-fill-color:#9c2929 !important;
}

html body.eventos-body .page-hero.page-hero--image,
html body.contacto-body .page-hero.page-hero--image{
  background:
    linear-gradient(90deg,rgba(245,240,231,.98) 0%,rgba(245,240,231,.91) 46%,rgba(245,240,231,.42) 100%),
    url('../img/hero-jinete.webp') center/cover no-repeat !important;
}
html body.eventos-body .page-hero.page-hero--image::before,
html body.contacto-body .page-hero.page-hero--image::before{
  display:none !important;
}

/* Shared editorial rule for hero labels and controls. */
html body .page-hero .eyebrow,
html body .col-hero .eyebrow,
html body .pr-hero .eyebrow{
  position:relative !important;
  padding-left:54px !important;
  color:#9c2929 !important;
  -webkit-text-fill-color:#9c2929 !important;
}
html body .page-hero .eyebrow::before,
html body .col-hero .eyebrow::before,
html body .pr-hero .eyebrow::before{
  content:'' !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:38px !important;
  height:1px !important;
  background:#c9a85f !important;
  transform:translateY(-50%) !important;
}
html body .event-filters button,
html body .col-filter a,
html body .pr-filter a{
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
  border-color:rgba(11,31,43,.22) !important;
  background:#fffaf0 !important;
}
html body .event-filters button.is-active,
html body .col-filter a.is-active,
html body .pr-filter a.is-active{
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
  background:#9c2929 !important;
  border-color:#9c2929 !important;
}

@media (max-width:720px){
  html body.prensa-body .pr-hero.pr-hero{
    min-height:520px !important;
    background:
      linear-gradient(180deg,rgba(245,240,231,.96) 0%,rgba(245,240,231,.82) 52%,rgba(245,240,231,.28) 100%),
      url('../img/prensa-atril.webp') center/cover no-repeat !important;
  }
  html body.prensa-body .pr-hero-inner{
    padding:64px 24px !important;
  }
  html body .page-hero .eyebrow,
  html body .col-hero .eyebrow,
  html body .pr-hero .eyebrow{
    padding-left:42px !important;
  }
}

html body .section:not(.section--dark),
html body .books-section,
html body .contact-grid,
html body .events-grid,
html body .press-grid{
  background:rgba(245,240,231,.72) !important;
}

html body .book-card,
html body .event-card,
html body .press-card,
html body .contact-form-card{
  background:rgba(255,250,240,.78) !important;
  border-color:var(--rf-line-gold) !important;
}

html body .book-card .book-cover.crudo-invierno,
html body .book-card .book-cover.arriero{
  background-color:transparent !important;
  box-shadow:0 24px 48px -28px rgba(6,25,35,.34) !important;
}

@media (max-width:860px){
  html body .site-header .nav{width:calc(100% - 32px) !important;min-height:72px !important}
  html body .site-header .brand.brand--rich{min-width:0 !important;gap:12px !important}
  html body .site-header .brand--rich .brand-mark{width:44px !important;height:44px !important;font-size:24px !important}
  html body .site-header .brand--rich .brand-copy strong{font-size:20px !important}
  html body .site-header .brand--rich .brand-copy span{font-size:10px !important}
}

@media (max-width:480px){
  html body .site-header .brand--rich .brand-copy strong{font-size:17px !important}
  html body .site-header .brand--rich .brand-copy span{letter-spacing:.18em !important}
}

/* Ultimas correcciones de componentes heredados. */
html body main .events-grid aside.mini-cal.mini-cal{
  background:rgba(255,250,240,.96) !important;
  background-color:rgba(255,250,240,.96) !important;
  border:1px solid var(--rf-line-gold) !important;
}

html body main .events-grid aside.mini-cal.mini-cal h4,
html body main .events-grid aside.mini-cal.mini-cal table,
html body main .events-grid aside.mini-cal.mini-cal th,
html body main .events-grid aside.mini-cal.mini-cal td{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}

html body main .events-grid aside.mini-cal.mini-cal th{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}

html body main .events-grid aside.mini-cal.mini-cal td.has-event{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}

html body main article.book-card .book-body button.button.button:not(.light),
html body main article.book-card .book-body a.button.button:not(.light){
  background:var(--rf-ink) !important;
  background-color:var(--rf-ink) !important;
  border:1px solid var(--rf-gold) !important;
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}

html body main article.book-card .book-cover.arriero,
html body main article.book-card .book-cover.crudo-invierno,
html body main article.book-card .book-cover.la-resistencia{
  box-shadow:none !important;
  filter:drop-shadow(0 24px 28px rgba(6,25,35,.24)) !important;
}

/* Light editorial invitation block: keep the cream surface, but restore ink contrast. */
html body main .feature-band.feature-band--light{
  background:rgba(255,250,240,.92) !important;
  background-color:rgba(255,250,240,.92) !important;
  border:1px solid var(--rf-line-gold) !important;
  box-shadow:none !important;
}
html body main .feature-band.feature-band--light h2,
html body main .feature-band.feature-band--light p.section-copy{
  color:var(--rf-ink) !important;
  -webkit-text-fill-color:var(--rf-ink) !important;
}
html body main .feature-band.feature-band--light p.section-copy{
  color:var(--rf-ink-soft) !important;
  -webkit-text-fill-color:var(--rf-ink-soft) !important;
}
html body main .feature-band.feature-band--light .eyebrow{
  color:var(--rf-red) !important;
  -webkit-text-fill-color:var(--rf-red) !important;
}
html body main .feature-band.feature-band--light .button{
  background:var(--rf-ink) !important;
  background-color:var(--rf-ink) !important;
  border:1px solid var(--rf-gold) !important;
  border-radius:2px !important;
  color:#fffaf0 !important;
  -webkit-text-fill-color:#fffaf0 !important;
}

/* Eventos: composicion mas amplia y equilibrada en escritorio. */
html body main .section:has(.events-grid) .wrap{
  width:min(1320px,calc(100% - 64px)) !important;
  max-width:1320px !important;
}

html body main .section:has(.events-grid){
  width:100% !important;
  max-width:none !important;
}

html body main .section:has(.events-grid) .event-filters{
  width:100% !important;
  justify-content:center !important;
}

html body main .section:has(.events-grid) .events-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:minmax(0,1fr) minmax(340px,400px) !important;
  gap:56px !important;
  align-items:start !important;
}

html body main .section:has(.events-grid) .event-card{
  min-height:150px !important;
  padding:28px 30px !important;
}

@media (max-width:860px){
  html body main .section:has(.events-grid) .wrap{width:calc(100% - 36px) !important}
  html body main .section:has(.events-grid) .events-grid{grid-template-columns:1fr !important;gap:30px !important}
  html body main .section:has(.events-grid) .event-filters{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    justify-content:stretch !important;
    overflow:visible !important;
    padding-bottom:8px !important;
  }
  html body main .section:has(.events-grid) .event-filters button{
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding:10px 8px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    font-size:11px !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }
}

/* Home editorial sections: dark ink on cream surfaces. */
html body .about-band,
html body .press-band{
  background:#ebe3d7 !important;
  background-color:#ebe3d7 !important;
}
html body .about-band .eyebrow,
html body .press-band .eyebrow{
  color:#9c2929 !important;
  -webkit-text-fill-color:#9c2929 !important;
}
html body .about-band .section-title,
html body .press-band .section-title,
html body .about-band .section-copy,
html body .about-band p,
html body .press-band p{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body .about-band .section-copy,
html body .about-band p{
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
}
html body .about-band .section-copy strong,
html body .about-band .section-copy em{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body .about-band .about-grid{
  grid-template-columns:minmax(380px,430px) minmax(0,1fr) !important;
  gap:clamp(56px,7vw,104px) !important;
  align-items:start !important;
}
html body .about-band .about-photo img{
  box-shadow:0 24px 44px rgba(6,25,35,.18) !important;
}
html body .about-band .about-photo::after{
  display:none !important;
}
html body .press-band .press-quote{
  background:#fffaf0 !important;
  border-color:#75613a !important;
}
html body .press-band .press-source{
  color:#9c2929 !important;
  -webkit-text-fill-color:#9c2929 !important;
}
html body .press-band .press-quote p{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body .press-band .press-quote .link-arrow{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
  border-bottom-color:#c9a85f !important;
}

/* The preview section uses the same editorial balance as the landing visual. */
html body .newsletter-band .wrap{
  max-width:1280px !important;
}
html body .newsletter-band .newsletter-card{
  width:100% !important;
  max-width:1160px !important;
  min-height:560px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr) !important;
  gap:72px !important;
  align-items:center !important;
  background-image:url('../img/libros/la-resistencia-oficial-3d-clean.png') !important;
  background-repeat:no-repeat !important;
  background-position:right 50% !important;
  background-size:min(31vw,330px) auto !important;
}
html body .newsletter-band .newsletter-card-meta,
html body .newsletter-band .newsletter-form{
  width:100% !important;
  max-width:none !important;
}
html body .newsletter-band .newsletter-card-meta .section-title{
  max-width:11ch !important;
  font-size:clamp(44px,4.6vw,76px) !important;
  line-height:1.02 !important;
}
html body .newsletter-band .newsletter-card-meta .section-copy{
  max-width:52ch !important;
  font-size:20px !important;
  color:#d7cfc2 !important;
  -webkit-text-fill-color:#d7cfc2 !important;
}
html body .newsletter-band .newsletter-form{
  align-self:end !important;
  padding-bottom:18px !important;
}
html body .newsletter-band .newsletter-form input{
  width:100% !important;
  box-sizing:border-box !important;
}
html body .newsletter-band .newsletter-form button{
  max-width:100% !important;
}

/* Icons in light hero surfaces must follow the same ink system as their labels. */
html body .rf-home-hero .hero-facts .fact,
html body .rf-home-hero .hero-facts .fact svg{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
  stroke:currentColor !important;
}
html body .rf-home-hero .hero-facts .fact span,
html body .rf-home-hero .hero-facts .fact span strong{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body .rf-home-hero .hero-facts .fact span{
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
}

@media (max-width:860px){
  html body .about-band .about-grid{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }
  html body .about-band .about-photo{
    max-width:440px !important;
    margin:0 auto !important;
  }
  html body .newsletter-band .newsletter-card{
    min-height:0 !important;
    display:block !important;
    background-image:none !important;
  }
  html body .newsletter-band .newsletter-card-meta .section-title{
    max-width:12ch !important;
  }
  html body .newsletter-band .newsletter-form{
    margin-top:34px !important;
  }
}

/* Mobile and compact desktop final pass. These rules intentionally sit last so
   legacy page styles cannot reintroduce overflow, low contrast or collisions. */
html body .site-header .brand--rich .brand-mark,
html body .site-header .brand-mark{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border:1px solid var(--rf-gold) !important;
  border-radius:0 !important;
  background:rgba(255,250,240,.08) !important;
  box-shadow:none !important;
  color:var(--rf-gold) !important;
  -webkit-text-fill-color:var(--rf-gold) !important;
  font-family:var(--rf-serif) !important;
  font-size:18px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  line-height:1 !important;
}
html body .site-header .brand--rich .brand-mark::before,
html body .site-header .brand--rich .brand-mark::after,
html body .site-header .brand-mark::before,
html body .site-header .brand-mark::after{display:none !important;content:none !important}

html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible{
  outline:3px solid var(--rf-gold) !important;
  outline-offset:4px !important;
  box-shadow:0 0 0 2px var(--rf-ink) !important;
}

html body .button,
html body .actions .button,
html body .book-body .button,
html body .feature-band .button{
  min-height:48px !important;
  padding:13px 20px !important;
  font-size:15px !important;
  line-height:1.15 !important;
  letter-spacing:.1em !important;
  font-family:var(--rf-sans) !important;
}

@media (min-width:761px) and (max-width:1280px){
  html body .hero h1,
  html body .page-hero h1,
  html body .col-hero h1,
  html body .pr-hero h1{
    font-size:clamp(50px,5.6vw,74px) !important;
    line-height:1 !important;
  }
  html body .section-title{font-size:clamp(42px,4.8vw,68px) !important}
}

@media (max-width:760px){
  html body .site-header .nav{min-height:64px !important;height:auto !important;padding:10px 16px !important;display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:space-between !important}
  html body .site-header .nav-toggle{margin:0 0 0 auto !important;flex:0 0 auto !important}
  html body .site-header .brand--rich .brand-mark{width:36px !important;height:36px !important;min-width:36px !important;font-size:16px !important}
  html body .site-header .brand--rich .brand-copy strong{font-size:16px !important;line-height:1.05 !important}
  html body .site-header .brand--rich .brand-copy span{font-size:9px !important}
  html body .site-header .nav-toggle{width:38px !important;height:38px !important}

  html body .button,
  html body .actions .button,
  html body .book-body .button,
  html body .feature-band .button{
    min-height:48px !important;
    width:100% !important;
    max-width:none !important;
    padding:13px 16px !important;
    font-size:14px !important;
    letter-spacing:.08em !important;
  }

  html body .rf-home-hero::before,
  html body .rf-home-hero::after,
  html body .hero::before,
  html body .hero::after{
    opacity:0 !important;
    display:none !important;
  }
  html body.prensa-body .pr-hero.pr-hero{
    min-height:auto !important;
    background:#f5f0e7 !important;
    background-image:none !important;
  }
  html body.prensa-body .pr-hero-inner{padding:76px 24px 56px !important}
  html body.prensa-body .pr-hero-inner h1,
  html body.prensa-body .pr-hero-inner p{max-width:100% !important}

  html body main article.book-card{overflow:visible !important;min-width:0 !important}
  html body main article.book-card .book-cover,
  html body main article.book-card .book-cover.arriero,
  html body main article.book-card .book-cover.crudo-invierno,
  html body main article.book-card .book-cover.la-resistencia{
    width:min(100%,330px) !important;
    max-width:330px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    background-position:center !important;
    background-size:contain !important;
  }

  html body .cb-toggle{
    width:46px !important;
    height:46px !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom)) !important;
    font-size:20px !important;
    opacity:.92 !important;
  }
  html body .cb-window{
    right:12px !important;
    left:12px !important;
    bottom:calc(70px + env(safe-area-inset-bottom)) !important;
    max-width:none !important;
  }
}

/* Light editorial pages use ink for headings; this prevents a dark-theme rule
   from turning titles white over the cream surfaces. */
html body.author-page .author-page h1,
html body.author-page h1,
html body.eventos-body .page-hero h1,
html body.eventos-body .page-hero .hero-copy,
html body.contacto-body .page-hero h1,
html body.contacto-body .page-hero .hero-copy,
html body.prensa-body .pr-hero-inner h1,
html body.prensa-body .pr-hero-inner > p:not(.eyebrow),
html body.obras-body .page-hero h1,
html body.obras-body .page-hero .hero-copy{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
  opacity:1 !important;
}

/* Inicio en cuatro láminas: altura flexible para que el contenido nunca quede
   recortado, especialmente en pantallas pequeñas. */
html body.home-page{
  background:var(--rf-paper) !important;
  overflow-x:hidden !important;
}

html body.home-page .home-sheet{
  position:relative !important;
  min-height:calc(100svh - 64px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  overflow:visible !important;
}

html body.home-page .home-sheet--hero{
  min-height:calc(100svh - 64px) !important;
}

html body.home-page .home-sheet--books{
  background:var(--rf-paper) !important;
  padding:clamp(48px,7vw,92px) 0 !important;
}

html body.home-page .home-sheet--author{
  background:var(--rf-paper-2) !important;
  padding:clamp(48px,7vw,92px) 0 !important;
}

html body.home-page .home-sheet--reading{
  background:var(--rf-night) !important;
  padding:clamp(48px,7vw,92px) 0 !important;
}

/* Las láminas de contenido no deben reservar una pantalla vacía: se leen como
   una secuencia editorial compacta y continúan naturalmente al deslizar. */
html body.home-page .home-sheet--books,
html body.home-page .home-sheet--author,
html body.home-page .home-sheet--reading{
  min-height:auto !important;
  display:block !important;
  padding-top:clamp(42px,5vw,72px) !important;
  padding-bottom:clamp(48px,6vw,84px) !important;
}

html body.home-page .home-sheet--books .books-section{
  padding:clamp(32px,4vw,58px) 0 !important;
  margin:0 !important;
}

html body.home-page .home-sheet--books .books-section h2{
  margin:0 0 22px !important;
  font-size:clamp(42px,5vw,68px) !important;
  line-height:1 !important;
}

html body.home-page .home-sheet--books .books-shelf{
  margin-top:12px !important;
  gap:clamp(18px,2.6vw,36px) !important;
}

html body.home-page .home-sheet--books .book.book{
  padding:0 !important;
}

html body.home-page .home-sheet--books .book .cover3d{
  min-height:300px !important;
  height:min(360px,42vw) !important;
}

html body.home-page .home-sheet--author .about-band,
html body.home-page .home-sheet--author .press-band,
html body.home-page .home-sheet--reading .newsletter-band{
  padding-top:clamp(36px,4vw,64px) !important;
  padding-bottom:clamp(42px,5vw,72px) !important;
}

@media (min-width:981px){
  html body.home-page .home-sheet--books,
  html body.home-page .home-sheet--author,
  html body.home-page .home-sheet--reading{min-height:auto !important}
}

@media (max-width:760px){
  html body.home-page .home-sheet{
    min-height:calc(100svh - 64px) !important;
    justify-content:flex-start !important;
  }
  html body.home-page .home-sheet--hero{
    min-height:calc(100svh - 64px) !important;
  }
  html body.home-page .home-sheet--books,
  html body.home-page .home-sheet--author,
  html body.home-page .home-sheet--reading{
    padding-top:28px !important;
    padding-bottom:38px !important;
  }
  html body.home-page .home-sheet--books .award-strip{
    margin-bottom:16px !important;
  }
  html body.home-page .home-sheet--books .books-section{padding:28px 0 !important}
  html body.home-page .home-sheet--books .books-section h2{
    margin-bottom:16px !important;
    font-size:clamp(38px,11vw,54px) !important;
  }
  html body.home-page .home-sheet--books .books-shelf{margin-top:8px !important;gap:30px !important}
  html body.home-page .home-sheet--books .book .cover3d{
    min-height:270px !important;
    height:300px !important;
  }
  html body.home-page .home-sheet--author .about-band,
  html body.home-page .home-sheet--author .press-band,
  html body.home-page .home-sheet--reading .newsletter-band{
    padding-top:28px !important;
    padding-bottom:38px !important;
  }
}

/* Compact author layout must win over the older global editorial rules. */
html body.home-page .home-sheet--author .about-grid{grid-template-columns:minmax(220px,300px) minmax(0,1fr) !important;gap:clamp(30px,4vw,58px) !important;align-items:start !important}
html body.home-page .home-sheet--author .about-photo{width:100% !important;max-width:300px !important;margin:0 !important}
html body.home-page .home-sheet--author .about-photo img{width:100% !important;height:clamp(300px,34vw,420px) !important;object-fit:cover !important;object-position:center top !important}
html body.home-page .home-sheet--author .about-body{padding:0 !important;max-width:720px !important}
html body.home-page .home-sheet--author .about-body .section-copy{margin:0 0 16px !important;font-size:18px !important;line-height:1.55 !important}
@media (max-width:760px){
  html body.home-page .home-sheet--author .about-grid{grid-template-columns:1fr !important;gap:18px !important}
  html body.home-page .home-sheet--author .about-photo{width:min(180px,52vw) !important;max-width:none !important}
  html body.home-page .home-sheet--author .about-photo img{height:250px !important}
  html body.home-page .home-sheet--author .about-body .section-title{margin-bottom:16px !important;font-size:clamp(40px,11vw,54px) !important;line-height:.98 !important}
  html body.home-page .home-sheet--author .about-body .section-copy{font-size:17px !important;line-height:1.48 !important;margin-bottom:14px !important}
}

/* Texto del autor: escala y ancho controlados, sin herencia de los diseños antiguos. */
html body.home-page .home-sheet--author .about-body .section-copy,
html body.home-page .home-sheet--author .about-body .section-copy *{
  font-family:var(--rf-serif) !important;
  font-size:18px !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
  color:#314454 !important;
  -webkit-text-fill-color:#314454 !important;
}
html body.home-page .home-sheet--author .about-body .section-copy strong,
html body.home-page .home-sheet--author .about-body .section-copy em{
  color:#0b1f2b !important;
  -webkit-text-fill-color:#0b1f2b !important;
}
html body.home-page .home-sheet--author .about-body .section-copy a{
  color:#8f1f24 !important;
  -webkit-text-fill-color:#8f1f24 !important;
}
@media (max-width:760px){
  html body.home-page .home-sheet--author .about-body .section-copy,
  html body.home-page .home-sheet--author .about-body .section-copy *{
    font-size:16px !important;
    line-height:1.48 !important;
  }
}

/* Pagina editorial del autor: tres columnas con la fotografia integrada. */
html body.home-page .home-sheet--author .about-grid{
  display:block !important;
  width:100% !important;
}
html body.home-page .home-sheet--author .about-body{
  width:100% !important;
  max-width:none !important;
}
html body.home-page .home-sheet--author .about-body > .eyebrow,
html body.home-page .home-sheet--author .about-body > .section-title{
  max-width:820px !important;
}
html body.home-page .home-sheet--author .author-columns{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(22px,3vw,48px) !important;
  align-items:start !important;
  margin-top:clamp(28px,4vw,52px) !important;
}
html body.home-page .home-sheet--author .author-column{
  min-width:0 !important;
}
html body.home-page .home-sheet--author .author-column .section-copy{
  margin:0 0 18px !important;
  max-width:none !important;
}
html body.home-page .home-sheet--author .author-column--portrait .about-photo{
  width:100% !important;
  max-width:none !important;
  margin:0 0 22px !important;
}
html body.home-page .home-sheet--author .author-column--portrait .about-photo img{
  width:100% !important;
  height:clamp(260px,30vw,400px) !important;
  object-fit:cover !important;
  object-position:center top !important;
}
@media (max-width:760px){
  html body.home-page .home-sheet--author .author-columns{
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin-top:24px !important;
  }
  html body.home-page .home-sheet--author .author-column--portrait .about-photo{
    width:min(180px,52vw) !important;
    margin-bottom:20px !important;
  }
  html body.home-page .home-sheet--author .author-column--portrait .about-photo img{
    height:250px !important;
  }
  html body.home-page .home-sheet--author .author-column{
    padding-bottom:4px !important;
  }
}

/* La foto debe verse completa y el asistente necesita una superficie opaca. */
html body.home-page .home-sheet--author .author-column--portrait .about-photo img{
  height:auto !important;
  max-height:420px !important;
  aspect-ratio:533 / 800 !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:#ebe3d7 !important;
}
html body .cb-toggle{
  background:#8f1f24 !important;
  color:#fffaf0 !important;
  opacity:1 !important;
  border:2px solid #fffaf0 !important;
  box-shadow:0 8px 24px rgba(6,25,35,.32) !important;
}
html body .cb-window{
  background:#061923 !important;
  opacity:1 !important;
  border:1px solid rgba(215,181,106,.5) !important;
}
html body .cb-msg.cb-bot{
  background:#173342 !important;
  color:#f7f1e7 !important;
  border-color:rgba(215,181,106,.35) !important;
}
html body .cb-msg.cb-user{
  background:#8f1f24 !important;
  color:#fffaf0 !important;
}

/* Obras como laminas: cada libro tiene su propio campo visual, sin recortar
   la portada ni forzar una altura fija cuando el texto necesita crecer. */
html body.obras-body main > .section--wide{
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  padding:8px clamp(12px,2vw,24px) !important;
  overflow:visible !important;
}
html body.obras-body main > .section--wide > .wrap{
  width:min(1180px,100%) !important;
  margin:0 auto !important;
}
html body.obras-body main > .section--wide .book-card{
  grid-template-columns:minmax(220px,300px) minmax(0,620px) !important;
  gap:clamp(22px,4vw,48px) !important;
  align-items:center !important;
  min-height:0 !important;
  padding:0 !important;
}
html body.obras-body main > .section--wide .book-cover{
  width:100% !important;
  min-height:290px !important;
  height:clamp(290px,34vw,400px) !important;
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  overflow:visible !important;
}
html body.obras-body main > .section--wide .book-body{
  min-width:0 !important;
  max-width:680px !important;
}
html body.obras-body main > .section--wide .book-body .section-title{
  font-size:clamp(36px,4.2vw,58px) !important;
  line-height:.98 !important;
  margin:8px 0 14px !important;
}
html body.obras-body main > .section--wide .book-body .section-copy{
  font-size:16px !important;
  line-height:1.4 !important;
  margin-bottom:14px !important;
}
@media (max-width:760px){
  html body.obras-body main > .page-hero.page-hero--image{
    min-height:250px !important;
    padding:68px 16px 24px !important;
  }
  html body.obras-body main > .page-hero.page-hero--image h1{
    font-size:clamp(40px,11vw,56px) !important;
    line-height:1 !important;
    margin-bottom:14px !important;
  }
  html body.obras-body main > .page-hero.page-hero--image .hero-copy{
    font-size:15px !important;
    line-height:1.4 !important;
  }
  html body.obras-body main > .section--wide{
    min-height:auto !important;
    display:block !important;
  padding:4px 8px 8px !important;
  }
  html body.obras-body main > .section--wide .book-card{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  html body.obras-body main > .section--wide .book-cover{
    width:min(100%,148px) !important;
    min-height:0 !important;
    height:180px !important;
    margin:0 auto !important;
  }
  html body.obras-body main > .section--wide .book-body{
    max-width:none !important;
  }
  html body.obras-body main > .section--wide .book-body .section-title{
    font-size:clamp(25px,7.3vw,34px) !important;
    margin:2px 0 5px !important;
  }
  html body.obras-body main > .section--wide .book-body .section-copy{
    font-size:13px !important;
    line-height:1.26 !important;
    margin-bottom:5px !important;
  }
  html body.obras-body main > .section--wide .meta-list{
    gap:2px !important;
    margin-bottom:5px !important;
    font-size:11px !important;
    line-height:1.18 !important;
  }
  html body.obras-body main > .section--wide .actions{gap:10px !important}
  html body.obras-body main > .section--wide .actions .button{min-height:36px !important;padding:7px 10px !important}
}
