/*
Theme Name: Brayford
Theme URI: https://example.com/brayford
Author: Two Shores Online
Author URI: https://twoshoresonline.com
Description: A classic WordPress theme for construction firms — general contractors doing commercial and residential work. Video hero, project case studies with a during/after slider, service pages with real delivery detail, and a built-in enquiry form. No plugin dependencies: post types, meta boxes, theme options and the form handler all live in the theme.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brayford
Tags: construction, business, custom-logo, custom-menu, featured-images, theme-options, translation-ready

All layout styles live in assets/css/site.css. This file carries the theme
header and the WordPress-specific classes core expects a theme to style.
*/

/* --------------------------------------------------------------------------
   WordPress core classes
   -------------------------------------------------------------------------- */
.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;
}
.screen-reader-text:focus{
  position:fixed !important; top:12px; left:12px; z-index:200;
  width:auto; height:auto; clip:auto; margin:0;
  padding:.9rem 1.3rem; background:var(--ink); color:var(--paper);
  font-size:.8rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
}

.alignleft{ float:left; margin:.4rem 1.6rem 1.2rem 0; }
.alignright{ float:right; margin:.4rem 0 1.2rem 1.6rem; }
.aligncenter{ display:block; margin-inline:auto; }
.alignwide{ width:min(100%,1100px); margin-inline:auto; }
.alignfull{ width:100%; }

.wp-caption{ max-width:100%; }
.wp-caption-text,
.wp-element-caption,
figcaption{ margin-top:.8rem; font-size:var(--fs-sm); color:var(--text-muted); }

.sticky{ position:relative; }
.bypostauthor{ display:block; }
.gallery-caption{ font-size:var(--fs-sm); color:var(--text-muted); }

.admin-bar .hdr{ top:32px; }
@media screen and (max-width:782px){ .admin-bar .hdr{ top:46px; } }

/* --------------------------------------------------------------------------
   Editor / post content
   -------------------------------------------------------------------------- */
.entry-content{ max-width:var(--maxw-text); }
.entry-content > * + *{ margin-top:1.1em; }
.entry-content h2{ font-size:var(--fs-h2); margin-top:2.4em; }
.entry-content h3{ font-size:var(--fs-h3); margin-top:2em; }
.entry-content a{ border-bottom:1px solid var(--line); }
.entry-content a:hover{ color:var(--oxide); border-color:var(--oxide); }
.entry-content ul,
.entry-content ol{ padding-left:1.4em; }
.entry-content ul{ list-style:disc; }
.entry-content ol{ list-style:decimal; }
.entry-content li{ margin-bottom:.5em; }
.entry-content blockquote{
  margin:2em 0; padding-left:1.6rem; border-left:2px solid var(--oxide);
  font-family:var(--serif); font-size:1.35rem; line-height:1.34;
}
.entry-content img{ height:auto; }
.entry-content table{ width:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.entry-content th,
.entry-content td{ padding:.8rem 0; border-bottom:1px solid var(--line); text-align:left; }

/* --------------------------------------------------------------------------
   Pagination, form feedback, small additions
   -------------------------------------------------------------------------- */
.pager{ display:flex; gap:.5rem; flex-wrap:wrap; margin-top:clamp(40px,5vw,72px); }
.pager .page-numbers{
  min-width:44px; padding:.62rem .9rem; border:1px solid var(--line);
  text-align:center; font-size:var(--fs-xs); font-weight:600; letter-spacing:.1em;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.pager .page-numbers:hover{ border-color:var(--ink); }
.pager .page-numbers.current{ background:var(--ink); border-color:var(--ink); color:var(--paper); }

.form__err{
  border:1px solid var(--oxide); border-left-width:3px; padding:1rem 1.2rem;
  font-size:var(--fs-sm); background:var(--paper-2);
}
.form__err ul{ margin:.5rem 0 0; padding-left:1.1rem; list-style:disc; }
.hp-field{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }

.tso__mark{ height:22px; width:auto; display:block; }

.ftr__legal li{ display:inline; margin:0; }
.ftr__legal li + li::before{ content:'·'; margin:0 .55rem; opacity:.55; }
.ftr__legal ul{ display:inline; }

.empty-state{ padding-block:clamp(40px,6vw,88px); border-top:1px solid var(--line); }
