/* ==========================================================================
   WordPress-only additions (main.css is identical to the static site)
   ========================================================================== */

/* Admin bar offset for the fixed header */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .header { top: 0; } }

/* Spam honeypot */
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Menus output by wp_nav_menu() */
.nav ul { margin: 0; }
.nav .current-menu-item > a::before { transform: scaleX(1); transform-origin: left; }
.footer__links ul, ul.footer__links { display: flex; flex-wrap: wrap; gap: 8px 30px; }

.form button[disabled] { opacity: .6; pointer-events: none; }

/* ---------- Inner pages ---------- */
.container--narrow { max-width: 860px; }

.page-hero { padding: calc(var(--header-h) + clamp(60px, 9vw, 130px)) 0 clamp(40px, 5vw, 70px); }
.page-hero .title { font-size: clamp(42px, 7vw, 110px); max-width: 1100px; }
.page-hero p { max-width: 520px; margin: 22px 0 34px; font-size: 18px; }
.page-hero--404 { min-height: 80vh; display: flex; align-items: center; }

.page-cover { border-radius: var(--radius); aspect-ratio: 16 / 8; }
.page-cover img { width: 100%; height: 100%; object-fit: cover; }
.page-body { padding-top: clamp(40px, 6vw, 80px); }

/* Post content typography */
.entry-content { font-size: 18px; line-height: 1.8; }
.entry-content > * + * { margin-top: 1.2em; }
.entry-content h2 { font-size: clamp(30px, 3.4vw, 46px); margin-top: 1.6em; }
.entry-content h3 { font-size: clamp(24px, 2.4vw, 32px); margin-top: 1.4em; }
.entry-content h4 { font-size: 22px; margin-top: 1.3em; }
.entry-content a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: .4em; }
.entry-content img { height: auto; border-radius: 14px; }
.entry-content blockquote { border-left: 3px solid var(--orange); padding: 6px 0 6px 24px; font: 400 24px/1.5 var(--ff-head); color: var(--dark); }
.entry-content pre { background: var(--dark); color: #eee; padding: 20px; border-radius: 12px; overflow-x: auto; font-size: 15px; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.entry-content .wp-block-button__link { background: var(--orange); color: var(--white); border-radius: 100px; padding: 14px 28px; text-decoration: none; }
.alignwide { margin-left: -60px; margin-right: -60px; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
@media (max-width: 960px) { .alignwide { margin-left: 0; margin-right: 0; } }
.wp-caption-text, figcaption.wp-element-caption { font-size: 14px; color: var(--muted); margin-top: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Blog grid */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(30px, 4vw, 50px) clamp(20px, 3vw, 36px); }
.post-card__media { display: block; border-radius: var(--radius); aspect-ratio: 4 / 3; margin-bottom: 20px; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.post-card:hover .post-card__media img { transform: scale(1.06); }
.post-card__meta { font: 500 13px/1 var(--ff-head); text-transform: uppercase; letter-spacing: .12em; color: var(--orange); }
.post-card__title { font-size: 26px; margin: 10px 0 10px; }
.post-card__title a:hover { color: var(--orange); }
@media (max-width: 991px) { .post-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .post-grid { grid-template-columns: 1fr; } }

.pagination { margin-top: 60px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.pagination .page-numbers { min-width: 50px; height: 50px; padding: 0 12px; border-radius: 50px; border: 1px solid var(--line); display: grid; place-items: center; font: 500 16px var(--ff-head); color: var(--dark); transition: .3s; }
.pagination .page-numbers.current, .pagination a.page-numbers:hover { background: var(--orange); border-color: var(--orange); color: var(--white); }

.empty { font-size: 20px; margin-bottom: 24px; }
.search-form { display: flex; gap: 10px; max-width: 480px; }
.search-form label { flex: 1; }
.search-form .search-field { width: 100%; height: 52px; border: 1px solid var(--line); border-radius: 50px; padding: 0 22px; font: inherit; }
.search-form .search-submit { height: 52px; padding: 0 26px; border-radius: 50px; border: 0; background: var(--dark); color: var(--white); font: 500 15px var(--ff-head); cursor: pointer; }

/* Comments */
.comments-area { margin-top: 70px; padding-top: 50px; border-top: 1px solid var(--line); }
.comment-list { list-style: none; padding: 0; }
.comment-list .comment { padding: 20px 0; border-bottom: 1px solid var(--line); }
.comment-form input:not([type="submit"]):not([type="checkbox"]), .comment-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; font: inherit; }
.comment-form .submit { background: var(--orange); color: var(--white); border: 0; border-radius: 50px; padding: 14px 30px; font: 500 15px var(--ff-head); cursor: pointer; }
