/* Un mismo lenguaje visual para portada, catálogo, lectura y navegación. */
:root { --paper: #f6f3ed; --surface: #fffdf9; --line: #d8d3c9; }
.bdp-header { border-top: 4px solid var(--accent); }
.bdp-masthead { padding-block: 25px 22px; }
.bdp-nav-bar { min-height: 46px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--ink); }
.bdp-menu { gap: 8px 28px; padding-block: 12px; font-size: 14px; }
.bdp-menu a { padding-block: 6px; }
.bdp-search-trigger { background: var(--surface); }
.bdp-intro { padding-block: 32px; gap: 38px; }
.bdp-intro h1 { font-size: clamp(38px, 4.4vw, 60px); }
.bdp-intro-copy p { font-size: 16px; }
.bdp-feature-grid { gap: 24px 28px; padding-bottom: 32px; }
.bdp-feature { background: var(--surface); border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.bdp-feature-copy { padding: 21px 24px 24px; }
.bdp-feature-copy h2 { font-size: 36px; line-height: 1.15; }
.bdp-feature-small { display: flex; flex-direction: column; }
.bdp-feature-small .bdp-feature-copy { padding: 15px 19px 18px; flex: 1; }
.bdp-feature-small .bdp-feature-copy h2 { font-size: 25px; }
.bdp-feature-small .bdp-feature-image { aspect-ratio: 2.45 / 1; }
.bdp-feature-meta .bdp-eyebrow { font-size: 10px; letter-spacing: .1em; }
.bdp-feature-actions { gap: 12px 20px; margin-top: 18px; }
.bdp-section-head h2 { font-size: 35px; }
.bdp-section-head > div { border-left: 3px solid var(--accent); padding-left: 15px; }
.bdp-editorial-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px 18px; }
.bdp-grid { gap: 26px 20px; }
.bdp-card > a { display: flex; flex-direction: column; height: 100%; }
.bdp-card .bdp-poster { border-radius: 3px; border: 1px solid rgba(34,37,31,.08); }
.bdp-card-title { font-size: 20px; line-height: 1.3; margin-top: 12px; }
.bdp-card-meta { margin-top: auto; padding-top: 8px; }
.bdp-card-state { border-radius: 2px; background: rgba(255,253,249,.96); }
.bdp-card > a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.bdp-genre-section { background: var(--accent-soft); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 3px; padding: 30px 34px; gap: 38px; }
.bdp-genre-section h2 { font-size: 37px; }
.bdp-genre-grid { gap: 10px; }
.bdp-genre-grid a { background: var(--surface); border: 1px solid var(--line); padding: 11px 14px; border-radius: 2px; font-size: 13px; }
.bdp-genre-grid a:hover { color: var(--accent); border-color: var(--accent); }
.bdp-lower-grid { gap: 36px; margin-top: 22px; }
.bdp-calendar-list article,
.bdp-ranked-list > a { background: var(--surface); border: 1px solid var(--line); border-radius: 3px; padding: 16px; margin-bottom: 10px; }
.bdp-calendar-list h3,
.bdp-ranked-list strong { font-size: 20px; }
.bdp-calendar-list time { padding-right: 10px; border-right: 1px solid var(--line); }
.bdp-ranked-list > a:hover { border-color: var(--accent); }
.bdp-page-head { padding-block: 30px 28px; margin-bottom: 8px; }
.bdp-page-title { font-size: clamp(36px, 4.6vw, 54px); }
.bdp-page-description { font-size: 15px; }
.bdp-catalog-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); gap: 40px; align-items: end; }
.bdp-catalog-search { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 3px; }
.bdp-catalog-search label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.bdp-catalog-search > div { display: flex; gap: 8px; }
.bdp-catalog-search input[type="search"] { width: 100%; min-width: 0; border: 1px solid var(--line); padding: 10px 12px; background: var(--paper); border-radius: 2px; font-size: 14px; }
.bdp-catalog-search .bdp-btn { padding: 10px 14px; border-radius: 2px; }
.page-numbers { background: var(--surface); border-radius: 2px; min-width: 38px; text-align: center; }
.bdp-empty { grid-column: 1 / -1; background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--accent); padding: 30px; margin-bottom: 25px; border-radius: 3px; }
.bdp-article { background: var(--surface); max-width: 880px; padding: 34px 38px; border: 1px solid var(--line); border-radius: 3px; margin-block: 32px 48px; }
.bdp-article > h1 { font-size: clamp(32px, 4vw, 46px); }
.bdp-article-content { overflow-wrap: anywhere; }
.bdp-article-content h2 { font-size: 29px; line-height: 1.25; }
.bdp-article-content img { border-radius: 3px; }
.bdp-footer { background: #eee8dc; border-top: 3px solid var(--accent); }
.bdp-footer-links a { padding-block: 5px; border-bottom: 1px solid var(--line); }
.bdp-footer-copy { font-size: 14px; }
.bdp-footer-bottom { font-size: 12px; }
.bdp-editorial-theme .bdpal-footer { background: #eee8dc; color: var(--muted); border-top: 1px solid var(--line); }
.bdp-editorial-theme .bdpal-footer-inner { max-width: 1380px; padding-block: 16px; }
.bdp-editorial-theme .bdpal-footer span { color: var(--ink); font-weight: 600; }
.bdp-editorial-theme .bdpal-footer a { color: var(--muted); }
.bdp-editorial-theme .bdpal-footer a:hover { color: var(--accent); }
dialog { border-radius: 4px; box-shadow: 0 20px 70px rgba(34,37,31,.2); }
.bdp-search-panel h2 { font-size: 34px; }
.bdp-search-form input[type="search"] { background: #fff; border-radius: 2px; }
.bdp-btn { border-radius: 2px; }

@media (max-width: 1100px) {
    .bdp-editorial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bdp-feature-copy h2 { font-size: 32px; }
    .bdp-feature-small .bdp-feature-copy h2 { font-size: 23px; }
    .bdp-genre-section { gap: 26px; padding: 28px; }
    .bdp-genre-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .bdp-masthead { padding-block: 21px 19px; }
    .bdp-nav-bar { min-height: 0; border-top: 0; }
    .bdp-menu { gap: 12px 24px; font-size: 14px; }
    .bdp-intro { grid-template-columns: 1fr; gap: 19px; padding-block: 27px; }
    .bdp-intro h1 { font-size: 43px; }
    .bdp-intro-copy { justify-self: start; }
    .bdp-feature-grid { gap: 17px; }
    .bdp-feature-copy { padding: 18px; }
    .bdp-feature-copy h2 { font-size: 30px; }
    .bdp-feature-small { display: grid; grid-template-columns: 38% minmax(0, 1fr); gap: 0; }
    .bdp-feature-small .bdp-feature-image { height: 100%; aspect-ratio: auto; }
    .bdp-feature-small .bdp-feature-copy { padding: 15px; }
    .bdp-feature-small .bdp-feature-copy h2 { font-size: 23px; }
    .bdp-feature-small .bdp-feature-meta { flex-wrap: wrap; gap: 4px; }
    .bdp-section-head h2 { font-size: 31px; }
    .bdp-genre-section { padding: 25px; gap: 23px; }
    .bdp-genre-section h2 { font-size: 33px; }
    .bdp-lower-grid { gap: 0; }
    .bdp-catalog-head { grid-template-columns: 1fr; gap: 20px; }
    .bdp-catalog-search { padding: 17px; }
    .bdp-article { padding: 25px; }
}
@media (max-width: 480px) {
    .bdp-intro h1 { font-size: 39px; }
    .bdp-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
    .bdp-card-title { font-size: 18px; }
    .bdp-feature-small .bdp-feature-copy { padding: 13px; }
    .bdp-feature-small .bdp-feature-copy h2 { font-size: 21px; }
    .bdp-feature-small .bdp-feature-actions { gap: 9px; }
    .bdp-feature-small .bdp-text-link,
    .bdp-feature-small .bdp-trailer-link { font-size: 11px; }
    .bdp-section-head h2 { font-size: 28px; }
    .bdp-section-head > div { padding-left: 12px; }
    .bdp-genre-section { padding: 21px 18px; }
    .bdp-genre-grid a { padding: 10px; font-size: 12px; }
    .bdp-calendar-list article { grid-template-columns: 53px minmax(0, 1fr) 15px; gap: 11px; padding: 14px; }
    .bdp-calendar-list h3,
    .bdp-ranked-list strong { font-size: 18px; }
    .bdp-article { padding: 23px 19px; }
    .bdp-article-content { font-size: 16px; }
    .bdp-article-content h2 { font-size: 26px; }
    .bdp-search-panel h2 { font-size: 28px; }
    .bdp-search-form input[type="search"],
    .bdp-catalog-search input[type="search"] { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .bdp-poster img,
    .bdp-feature-image img { transition: none; }
    .bdp-card > a:hover img,
    .bdp-feature-image:hover img { transform: none; }
}
