/*
 * WordPress additions to the original design (main.css is the unmodified
 * index-1.css from FuturetecHTML). Everything here reuses main.css tokens.
 */

/* Sticky header sits below the admin bar for logged-in users. */
.admin-bar .head{ top:32px; }
@media (max-width:782px){ .admin-bar .head{ top:46px; } }
@media (max-width:600px){ .admin-bar .head{ top:0; } }

/* Developer rows without a link (same look, no hover). */
.roster .roster__row{
  display:grid; grid-template-columns:34px minmax(0,1fr) 20px; align-items:center; gap:44px;
  padding:34px 48px;
}
@media (max-width:860px){ .roster .roster__row{ padding:26px 12px; gap:22px; } }

/* Footer "other offices" comes from a WYSIWYG field (wrapped in <p>). */
.foot__offices p + p{ margin-top:6px; }

/* Screen-reader text used by WordPress core output. */
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------------------------------------------------------------------
 * Inner pages: title band + readable content column.
 * ------------------------------------------------------------------- */
.page-banner{ padding:96px 0 90px; background:var(--navy); }
.page-banner__title{ max-width:900px; font-size:clamp(2rem, 4vw, 3.4rem); }
.page-banner__meta{ margin-top:14px; color:rgba(255,255,255,.75); }

.page-body{ padding:90px 0 110px; }

.entry{ max-width:820px; margin-inline:auto; font-size:1.06rem; line-height:1.8; }
.entry > * + *{ margin-top:1.2em; }
.entry h2, .entry h3, .entry h4{ margin-top:1.8em; font-family:var(--ff-head); color:var(--ink); line-height:1.25; }
.entry h2{ font-size:2rem; }
.entry h3{ font-size:1.5rem; }
.entry h4{ font-size:1.2rem; }
.entry a:not(.btn){ color:var(--cyan-2); text-decoration:underline; text-underline-offset:3px; }
.entry a:not(.btn):hover{ color:var(--coral); }
.entry ul, .entry ol{ padding-left:1.4em; }
.entry ul{ list-style:disc; }
.entry ol{ list-style:decimal; }
.entry li + li{ margin-top:.4em; }
.entry blockquote{ padding:6px 0 6px 24px; border-left:3px solid var(--coral); font-family:var(--ff-head); font-size:1.25rem; color:var(--ink); }
.entry img{ height:auto; }
.entry figure{ margin:0; }
.entry figcaption{ margin-top:8px; font-size:.88rem; color:var(--ink-2); }
.entry table{ width:100%; border-collapse:collapse; }
.entry th, .entry td{ padding:10px 12px; border:1px solid var(--line); text-align:left; }
.entry .alignleft{ float:left; margin:0 24px 16px 0; }
.entry .alignright{ float:right; margin:0 0 16px 24px; }
.entry .aligncenter{ margin-inline:auto; }
.entry::after{ content:""; display:table; clear:both; }
.entry__media{ margin-bottom:40px !important; }
.entry__media img{ width:100%; }
.entry__nav{ display:flex; justify-content:space-between; gap:24px; margin-top:60px !important; padding-top:28px; border-top:1px solid var(--line); font-family:var(--ff-head); font-weight:500; }
.entry__nav a{ color:var(--navy) !important; text-decoration:none !important; }
.entry__nav a:hover{ color:var(--coral) !important; }

/* Pagination under post grids. */
.pager{ margin-top:56px; }
.pager .nav-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.pager .page-numbers{
  min-width:46px; height:46px; padding:0 16px; display:inline-grid; place-items:center;
  border:1px solid var(--line); border-radius:6px;
  font-weight:500; color:var(--navy); transition:background .2s, color .2s, border-color .2s;
}
.pager .page-numbers.current, .pager a.page-numbers:hover{ background:var(--navy); border-color:var(--navy); color:#fff; }

/* Search form (404 / empty results). */
.search-form{ display:flex; gap:8px; max-width:460px; margin-top:24px; }
.search-form label{ flex:1 1 auto; }
.search-form .search-field{ width:100%; height:50px; padding:0 16px; border:1px solid var(--line); border-radius:6px; font:inherit; }
.search-form .search-submit{ height:50px; padding:0 24px; border:0; border-radius:6px; background:var(--navy); color:#fff; font:inherit; cursor:pointer; }

@media (max-width:860px){
  .page-banner{ padding:70px 0 64px; }
  .page-body{ padding:64px 0 80px; }
}

/* Service pages (service-detail.css is the design file, kept unchanged):
   the step tickets and figures row are laid out for exactly 5 and 3 items.
   Follow the actual count on wide screens; narrower layouts are unchanged. */
@media (min-width:1101px){
  .single-service .sd-tickets{ grid-template-columns:repeat(var(--n, 5), minmax(0,1fr)); }
}
@media (min-width:861px){
  .single-service .sd-stats{ grid-template-columns:repeat(var(--n, 3), minmax(0,1fr)); }
}

/* Static blog template with image + text sections (single-post-*.php) */
.entry--sections{ max-width:1100px; }
.bp-lead{ max-width:820px; margin-inline:auto; font-size:1.2rem; line-height:1.75; color:var(--ink); }
.bp-row{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:56px; align-items:center; margin-top:72px; }
.bp-row__media img{ width:100%; aspect-ratio:10/7; object-fit:cover; border-radius:6px; }
.bp-row__body h2{ margin-top:0; margin-bottom:16px; font-size:1.7rem; }
.bp-row__body p + p{ margin-top:1em; }
.bp-row--rev .bp-row__media{ order:2; }
@media (max-width:820px){
  .bp-row{ grid-template-columns:1fr; gap:24px; margin-top:48px; }
  .bp-row--rev .bp-row__media{ order:0; }
}

/* WordPress adds .post to single posts; undo the homepage blog-card styling. */
.entry.post{ aspect-ratio:auto; overflow:visible; background:none; }
.entry.post::before{ content:none; }
.entry.post:hover .post__img{ transform:none; }
.entry.post p{ margin-bottom:0; font-size:inherit; line-height:inherit; color:inherit; }
.entry.post .bp-lead{ font-size:1.2rem; color:var(--ink); }
