/* WordPress content and controls inherit the demo's editorial design. */
[hidden], .news-card[hidden], .load-more[hidden] { display: none !important; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: #171717; display: block; font-size: 14px; height: auto; left: 12px; padding: 15px; top: 12px; width: auto; z-index: 100000; }
.main-nav a[aria-current="page"], .main-nav .current-menu-item > a, .main-nav .current-menu-ancestor > a { color: #d51920; }
.main-nav a[aria-current="page"]:after, .main-nav .current-menu-item > a:after, .main-nav .current-menu-ancestor > a:after { transform: scaleX(1); }
.main-nav .menu { display: flex; align-items: center; justify-content: center; gap: 32px; list-style: none; padding: 0; margin: 0; }
.main-nav .menu li { margin: 0; padding: 0; }
.main-nav .menu-item { position: relative; }
.main-nav .sub-menu { display: none; position: absolute; z-index: 10; top: 100%; left: 0; min-width: 190px; margin: 0; padding: 8px 18px; list-style: none; background: #fff; border: 1px solid #dedede; }
.main-nav .sub-menu a { display: block; line-height: 1.5; padding: 9px 0; white-space: normal; }
.main-nav .menu-item:hover > .sub-menu, .main-nav .menu-item:focus-within > .sub-menu { display: block; }
.custom-logo-link { display: block; }
.masthead .custom-logo { width: 100%; height: auto; object-fit: contain; filter: none; }
.search-dialog:not([open]) { display: none; }
.search-dialog .search-form { margin: 0; }
.search-dialog input[type="search"] { box-sizing: border-box; border-radius: 0; color: #171717; background: #fff; }
.search-dialog input[type="search"]:focus-visible { outline: 2px solid #d51920; outline-offset: 2px; }
.ce-empty { padding: 28px; border: 1px solid #dedede; background: #f7f7f7; color: #626262; font-size: 16px; line-height: 1.6; }
.ce-empty h2, .ce-empty h3 { color: #171717; font-family: Georgia, 'Times New Roman', serif; }
.ce-empty p { margin: 0 0 12px; }
.ce-empty p:last-child { margin-bottom: 0; }
.ce-image-placeholder { display: grid; place-items: center; min-height: 100%; width: 100%; background: #eee; color: #626262; padding: 18px; text-align: center; font: 12px/1.5 Arial, Helvetica, sans-serif; }
.ce-cover-card .card-image { aspect-ratio: 3 / 4.25; background: #f4f4f4; padding: 12px; }
.ce-cover-card .card-image img, .ce-cover-card img { object-fit: contain; }
.single-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; padding-top: 35px; padding-bottom: 52px; }
.article-content, .page-content { min-width: 0; }
.article-header { margin: 0 0 28px; }
.article-header h1 { font: 700 clamp(34px, 3.4vw, 54px)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -1.1px; margin: 12px 0 22px; text-wrap: pretty; }
.article-header .byline { font-size: 13px; }
.article-excerpt { font: 18px/1.6 Georgia, 'Times New Roman', serif; color: #626262; margin: 0 0 20px; }
.article-featured-image { margin: 0 0 32px; }
.article-featured-image img { width: 100%; height: auto; max-height: 650px; object-fit: contain; filter: none; background: #f7f7f7; }
.article-featured-image figcaption { font: 12px/1.6 Arial, Helvetica, sans-serif; color: #626262; margin-top: 10px; }
.entry-content { font: 19px/1.75 Georgia, 'Times New Roman', serif; overflow-wrap: anywhere; }
.entry-content > :first-child { margin-top: 0; }
.entry-content p { margin: 0 0 1.4em; }
.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { font-family: Georgia, 'Times New Roman', serif; line-height: 1.25; color: #171717; margin: 1.5em 0 .65em; }
.entry-content h2 { font-size: 32px; letter-spacing: -.5px; }
.entry-content h3 { font-size: 27px; }
.entry-content a { color: #d51920; text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: #171717; }
.entry-content ul, .entry-content ol { padding-left: 1.5em; margin: 0 0 1.4em; }
.entry-content li { margin-bottom: .45em; }
.entry-content blockquote { margin: 1.5em 0; padding: 8px 0 8px 24px; border-left: 4px solid #d51920; font-size: 23px; line-height: 1.5; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content img { width: auto; max-width: 100%; height: auto; object-fit: contain; filter: none; }
.entry-content figure { max-width: 100%; margin: 1.5em 0; }
.entry-content figcaption, .entry-content .wp-caption-text { color: #626262; font: 12px/1.6 Arial, Helvetica, sans-serif; margin-top: 10px; }
.entry-content .wp-caption { max-width: 100%; }
.entry-content iframe, .entry-content video, .entry-content audio { max-width: 100%; }
.entry-content .wp-block-embed__wrapper { position: relative; }
.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.entry-content .wp-embed-aspect-16-9 iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.entry-content td, .entry-content th { border: 1px solid #dedede; padding: 10px 12px; text-align: left; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content pre { background: #f7f7f7; padding: 20px; overflow-x: auto; font-size: 14px; }
.entry-content code { font-size: .9em; }
.entry-content hr { border: 0; border-top: 1px solid #dedede; margin: 2em 0; }
.entry-content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.entry-content .alignwide, .entry-content .alignfull { width: 100%; max-width: 100%; margin-left: 0; margin-right: 0; }
.entry-content .alignleft { float: left; margin: 0 24px 20px 0; }
.entry-content .alignright { float: right; margin: 0 0 20px 24px; }
.entry-content:after { content: ''; display: block; clear: both; }
.page-content { padding-top: 34px; padding-bottom: 48px; }
.page-content > .entry-content { max-width: 920px; }
.pagination, .nav-links { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 28px; font: 700 14px/1.5 Arial, Helvetica, sans-serif; }
.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid #dedede; }
.page-numbers.current, a.page-numbers:hover { background: #d51920; border-color: #d51920; color: #fff; }
.page-numbers.dots { border: 0; }
.post-navigation { border-top: 1px solid #dedede; margin-top: 36px; padding-top: 24px; }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.post-navigation .nav-next { text-align: right; }
.post-navigation a:hover { color: #d51920; }
.post-navigation .nav-subtitle { display: block; color: #626262; font-size: 12px; margin-bottom: 6px; }
.comments-area { margin-top: 38px; border-top: 1px solid #dedede; padding-top: 28px; font: 16px/1.6 Arial, Helvetica, sans-serif; }
.comments-area h2, .comments-area h3 { font-family: Georgia, 'Times New Roman', serif; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 24px; }
.comment-body { padding: 22px 0; border-bottom: 1px solid #dedede; }
.comment-author .avatar { display: inline-block; width: 40px; height: 40px; border-radius: 50%; vertical-align: middle; margin-right: 10px; }
.comment-metadata { font-size: 12px; color: #626262; margin: 8px 0 14px; }
.comment-reply-link { color: #d51920; font-weight: 700; font-size: 13px; }
.comment-form label { display: block; font-size: 14px; margin-bottom: 6px; }
.comment-form input:not([type="checkbox"]):not([type="submit"]), .comment-form textarea, .post-password-form input[type="password"] { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #aaa; background: #fff; color: #171717; font: inherit; border-radius: 0; }
.comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 9px; }
.comment-form-cookies-consent input { margin-top: 6px; }
.comment-form input[type="submit"], .post-password-form input[type="submit"] { border: 1px solid #d51920; color: #fff; background: #d51920; padding: 14px 22px; cursor: pointer; font: 700 14px Arial, Helvetica, sans-serif; }
.comment-form input[type="submit"]:hover, .post-password-form input[type="submit"]:hover { background: #171717; border-color: #171717; }
.load-more:disabled { opacity: .65; cursor: wait; }
.load-more-status:empty { display: none; }
@media (max-width: 1150px) {
  .main-nav .menu { gap: 23px; }
  .single-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 30px; }
}
@media (max-width: 900px) {
  .single-layout { grid-template-columns: 1fr; gap: 34px; }
}
@media (max-width: 760px) {
  .main-nav .menu { justify-content: flex-start; gap: 23px; }
  .main-nav.is-open .menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 0 23px; }
  .main-nav.is-open .container:has(> .menu) { display: block; }
  .main-nav .sub-menu { position: static; min-width: 0; padding: 0 0 8px 12px; border: 0; }
  .main-nav .sub-menu a { font-size: 12px; padding: 6px 0; }
  .single-layout { padding-top: 27px; padding-bottom: 35px; }
  .article-header h1 { font-size: clamp(31px, 8.2vw, 40px); line-height: 1.15; letter-spacing: -.6px; }
  .article-excerpt { font-size: 17px; }
  .entry-content { font-size: 18px; line-height: 1.7; }
  .entry-content h2 { font-size: 28px; }
  .entry-content h3 { font-size: 24px; }
  .entry-content blockquote { font-size: 21px; padding-left: 18px; }
  .entry-content .alignleft, .entry-content .alignright { float: none; margin: 20px 0; }
  .page-content { padding-top: 27px; padding-bottom: 35px; }
}
/* Category pairs stay readable on wider phones while narrow phones stack. */
@media (min-width: 600px) and (max-width: 760px) {
  .section-stories, .category-layout .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; }
  .section-stories h2, .category-grid .news-card h2, .category-grid .news-card:first-child h2 { font-size: 24px; }
  .category-grid .news-card:first-child { grid-column: auto; }
}
/* A single article uses the readable column without an empty sidebar. */
.single-layout { display: block; max-width: 1050px; }
.portada-grid .ce-cover-card { display: block; }
.portada-grid .ce-cover-card .card-image { width: 100%; }
.search-form { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.search-form label { flex-basis: 100%; font: 700 14px Arial, Helvetica, sans-serif; }
.search-form input[type="search"] { flex: 1; min-width: 160px; padding: 13px; border: 1px solid #aaa; font: 16px Arial, Helvetica, sans-serif; }
.admin-bar .main-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .main-nav { top: 46px; } }
