/* WordPress core classes styled with the Promatics design tokens (site.css defines the tokens). */

/* Accessibility */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; width: auto; height: auto; padding: var(--s-3) var(--s-4); margin: 0; background: var(--surface); color: var(--ink); z-index: 100000; left: var(--s-2); top: var(--s-2); box-shadow: var(--shadow); }

/* Brand logo from the media library keeps the design size */
.brand img, .brand .custom-logo, .brand-logo { width: 176px; height: auto; }

/* Alignments (classic and block content) */
.alignleft { float: left; margin: 0 var(--s-5) var(--s-4) 0; }
.alignright { float: right; margin: 0 0 var(--s-4) var(--s-5); }
.aligncenter { display: block; margin-inline: auto; }
.alignwide { max-width: min(1240px, 100vw - 2 * var(--gutter)); }
.alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.prose .alignwide, .prose .alignfull { max-width: 100%; margin-inline: 0; width: auto; }
.prose img, .prose video, .prose iframe { max-width: 100%; height: auto; }

/* Media captions and galleries */
.wp-caption, figure.wp-block-image { max-width: 100%; margin: var(--s-5) 0; }
.wp-caption-text, .wp-element-caption, .gallery-caption, figcaption { font-size: var(--step--1); color: var(--muted); margin-top: var(--s-2); }
.gallery { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); margin: var(--s-5) 0; }
.gallery-item { margin: 0; }
.wp-block-gallery { gap: var(--s-3); }

/* Common blocks */
.wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: 0.7rem 1.3rem; border-radius: var(--radius-sm); background: var(--lake); color: #fff; font-weight: 650; text-decoration: none; }
.wp-block-button__link:hover { background: var(--lake-700); color: #fff; }
.is-style-outline > .wp-block-button__link { background: transparent; color: var(--ink); border: 2px solid var(--ink); }
.wp-block-quote, blockquote.wp-block-quote { border-left: 4px solid var(--lake); padding-left: var(--s-5); margin: var(--s-5) 0; }
.wp-block-pullquote { border-top: 3px solid var(--lake); border-bottom: 3px solid var(--lake); padding: var(--s-5) 0; text-align: center; }
.wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: var(--s-6) 0; }
.wp-block-table table { width: 100%; border-collapse: collapse; }
.wp-block-table td, .wp-block-table th { border: 1px solid var(--line); padding: var(--s-2) var(--s-3); }
.wp-block-code, pre { background: var(--sand); padding: var(--s-4); border-radius: var(--radius-sm); overflow-x: auto; }
.wp-block-details { border-bottom: 1px solid var(--line); padding: var(--s-3) 0; }
.wp-block-details summary { font-weight: 650; cursor: pointer; }
.wp-block-cover { border-radius: var(--radius); }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }

/* Posts, comments, pagination, search */
.sticky .card-kicker::after { content: " · Featured"; }
.bypostauthor > .comment-body .comment-author .fn { font-weight: 700; }
.comments-area { margin-top: var(--s-7); }
.comment-list { list-style: none; padding: 0; }
.comment-list .comment { border-top: 1px solid var(--line); padding: var(--s-4) 0; }
.comment-list .children { list-style: none; padding-left: var(--s-5); }
.comment-meta { font-size: var(--step--1); color: var(--muted); }
.comment-form label { display: block; font-weight: 650; margin-bottom: var(--s-1); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; }
.navigation.pagination { margin-top: var(--s-7); }
.nav-links { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--s-3); border: 1px solid var(--control-border); border-radius: var(--radius-sm); text-decoration: none; color: var(--ink); }
.nav-links .page-numbers.current { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.search-form label { display: block; font-weight: 650; margin-bottom: var(--s-2); }
.search-row { display: flex; gap: var(--s-2); max-width: 36rem; }
.search-row input[type="search"] { flex: 1; min-width: 0; font: inherit; min-height: 48px; padding: 0.7rem 0.8rem; border: 1.5px solid var(--control-border); border-radius: var(--radius-sm); background: var(--surface); }
.search-form { margin-top: var(--s-6); }

/* Sub-menus in the primary navigation (when an editor adds child items) */
.nav-list .sub-menu { list-style: none; margin: 0; padding: 0 0 0 var(--s-4); }
@media (min-width: 70rem) {
  .nav-list .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 14rem; padding: var(--s-2); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); z-index: 60; }
  .nav-list > li:hover > .sub-menu, .nav-list > li:focus-within > .sub-menu { display: block; }
  .nav-list .sub-menu a { display: block; padding: var(--s-2) var(--s-3); min-height: 44px; color: var(--ink); text-decoration: none; }
}

/* Footer widget area */
.footer-extra { border-top: 1px solid #333A46; margin-top: var(--s-6); padding-top: var(--s-5); }
.footer-extra .widget-title { font-family: var(--mono); font-size: var(--step--1); letter-spacing: .06em; text-transform: uppercase; color: #9AA1AC; font-weight: 500; }

/* Admin bar: keep the sticky header below it */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Block styles (registered in inc/template-tags.php) reuse the site's component styles */
.is-style-check-list, .is-style-x-list, .is-style-dot-list { list-style: none; padding: 0; margin: 0 0 var(--s-4); }
.is-style-check-list li, .is-style-x-list li, .is-style-dot-list li { position: relative; padding-left: 1.75rem; margin-bottom: var(--s-3); }
.is-style-check-list li::before { content: ""; position: absolute; left: 0.1rem; top: 0.45em; width: 0.9rem; height: 0.5rem; border-left: 2.5px solid var(--ok); border-bottom: 2.5px solid var(--ok); transform: rotate(-45deg); }
.is-style-x-list li::before, .is-style-x-list li::after { content: ""; position: absolute; left: 0.1rem; top: 0.72em; width: 0.95rem; height: 2.5px; background: var(--err); transform: rotate(45deg); }
.is-style-x-list li::after { transform: rotate(-45deg); }
.is-style-dot-list li::before { content: ""; position: absolute; left: 0.3rem; top: 0.62em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--lake); }
.wp-block-group.is-style-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--s-5); }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--paper); color: var(--ink); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: #fff; color: var(--ink); }

/* Featured images, multi-page navigation, tags */
.post-thumbnail { margin: 0 0 var(--s-6); }
.post-thumbnail img { border-radius: var(--radius); width: 100%; height: auto; }
.card-media { width: 100%; height: auto; border-radius: var(--radius-sm); }
.page-links { margin: var(--s-6) 0; font-weight: 600; }
.post-tags a { margin-right: var(--s-1); }
