/*
Theme Name: Edgington Construction
Theme URI: https://www.edgingtonconstruction.com/
Author: Edgington Construction
Description: Edgington Construction theme. V2.0.88 adds scoped frontend performance optimizations while preserving Hero autoplay, content, design, and Yoast integration.
Version: 2.0.88
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: edgington-construction
Tags: custom-logo, featured-images, responsive-layout, accessibility-ready, blog
License: Proprietary
*/

/* WordPress integration layer. The locked visual system remains in assets/css/styles.css. */
html { scroll-behavior: smooth; }
body.admin-bar .site-header { top: 32px; }
body.admin-bar .site-progress { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
  body.admin-bar .site-progress { top: 46px; }
}
.brand img,
.footer-logo { height: auto; }
.wp-caption,
.wp-caption-text,
.gallery-caption { max-width: 100%; }
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.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: #171a1d;
  display: block; font-size: 14px; font-weight: 700; height: auto; left: 8px;
  line-height: normal; padding: 14px 18px; text-decoration: none; top: 8px;
  width: auto; z-index: 100000;
}
.hp-field { position: absolute !important; left: -9999px !important; opacity: 0; pointer-events: none; }
.form-success.form-error { background: rgba(181, 50, 50, .12); border-color: rgba(181, 50, 50, .28); color: #842525; }
.wp-static-note { padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--mist); }
.post-listing { display: grid; gap: 24px; }
.post-listing .card { padding: 28px; }
.pagination { margin-top: 36px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination a, .pagination span { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 999px; padding: 0 14px; }
.pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }
/* Featured Work now shows the selected Our Work project's existing meta overlay; suppress only the old duplicate hover badge. */
.home-v203 .gallery-item.has-project-meta:after { display: none; }


/* V2.0.68: form requirements / visible reCAPTCHA v3 badge / footer social icons. */
.form-card .edg-required-marker { color: #e33442; font-weight: 800; }
.form-card .edg-captcha-error { color: #c82838; font-size: .9rem; margin-top: 8px; }
.grecaptcha-badge { visibility: visible !important; opacity: 1 !important; z-index: 9998 !important; bottom: 88px !important; }
/* V2.0.70: smaller icon-only social links below the footer description. */
.footer .edg-social-links { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0 14px; max-width:340px; }
.footer .edg-social-link { --edg-social-accent:var(--cyan-bright,#35d5ec); position:relative; box-sizing:border-box; width:34px; height:34px; flex:0 0 34px; display:inline-flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid rgba(255,255,255,.20); border-radius:8px; background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025)); color:#fff; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease; }
.footer .edg-social-link::after { content:""; position:absolute; left:6px; right:6px; bottom:4px; height:2px; border-radius:2px; background:var(--edg-social-accent); transform:scaleX(.35); opacity:.7; transition:transform .2s ease,opacity .2s ease; }
.footer .edg-social-link:hover,.footer .edg-social-link:focus-visible { transform:translateY(-3px); border-color:rgba(85,214,231,.70); background:linear-gradient(145deg,rgba(85,214,231,.18),rgba(255,255,255,.05)); box-shadow:0 10px 24px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.12); color:var(--edg-social-accent); }
.footer .edg-social-link:hover::after,.footer .edg-social-link:focus-visible::after { transform:scaleX(1); opacity:1; }
.footer .edg-social-link:focus-visible { outline:2px solid var(--edg-social-accent); outline-offset:3px; }
.footer .edg-social-link__icon { width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; color:currentColor; }
.footer .edg-social-link__icon i { display:block; font-size:16px; line-height:1; color:currentColor; }
@media (max-width:520px) { .footer .edg-social-links { gap:7px; } .footer .edg-social-link { width:32px; height:32px; flex-basis:32px; border-radius:8px; } .footer .edg-social-link__icon { width:17px; height:17px; } .footer .edg-social-link__icon i { font-size:15px; } .grecaptcha-badge { bottom:75px !important; } }
@media (prefers-reduced-motion:reduce) { .footer .edg-social-link,.footer .edg-social-link::after { transition:none; } }

/* V2.0.69: visible loading state while Contact / Estimate forms are submitting. */
.form-card .btn.is-loading { cursor:wait; opacity:.86; min-width:150px; justify-content:center; }
.form-card .edg-submit-spinner { width:16px; height:16px; flex:0 0 16px; border:2px solid rgba(255,255,255,.42); border-top-color:#fff; border-radius:50%; animation:edg-submit-spin .72s linear infinite; }
.form-card .edg-submit-loading-text { display:inline-block; }
@keyframes edg-submit-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .form-card .edg-submit-spinner { animation-duration:1.5s; } }

/* V2.0.70: Home Featured Work mirrors the Our Work archive-card metadata treatment. */
.home-v203 .gallery-item.has-project-meta::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(6,13,16,.02) 30%,rgba(6,13,16,.84) 100%); }
.home-v203 .gallery-item .home-featured-work-overlay { z-index:2; padding:24px; gap:9px; }
.home-v203 .gallery-item .home-featured-work-overlay>strong { font-family:"Space Grotesk",sans-serif; font-size:clamp(1.35rem,2vw,1.9rem); line-height:1.08; letter-spacing:-.03em; color:#fff; text-shadow:0 1px 12px rgba(0,0,0,.18); }
.home-v203 .gallery-item .home-featured-work-overlay .work-archive-kicker { font-size:.64rem; }
.home-v203 .gallery-item .home-featured-work-overlay>span:last-child { font-size:.78rem; }



/* BBB accreditation mark, displayed below the footer social icons. */
.footer .footer-bbb { display:inline-flex; align-items:center; justify-content:flex-start; margin-top:18px; padding:9px 11px; max-width:150px; border:1px solid rgba(255,255,255,.16); border-radius:10px; background:rgba(255,255,255,.06); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.footer .footer-bbb:hover,.footer .footer-bbb:focus-visible { transform:translateY(-2px); border-color:rgba(85,214,231,.55); background:rgba(255,255,255,.10); }
.footer .footer-bbb:focus-visible { outline:2px solid var(--cyan-bright,#35d5ec); outline-offset:3px; }
.footer .footer-bbb__image { display:block; width:auto; max-width:126px; max-height:54px; height:auto; object-fit:contain; }
@media (max-width:520px) { .footer .footer-bbb { margin-top:14px; } .footer .footer-bbb__image { max-width:116px; max-height:50px; } }
@media (prefers-reduced-motion:reduce) { .footer .footer-bbb { transition:none; } }

/* V2.0.73: article tag spacing and footer credit. */
.article-tags { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:18px; }
.article-tags span { display:inline-flex; align-items:center; white-space:nowrap; }
.footer .footer-credit a { color:var(--cyan-bright,#35d5ec); font-weight:800; text-decoration:none; transition:color .2s ease,opacity .2s ease; }
.footer .footer-credit a:hover,.footer .footer-credit a:focus-visible { color:#fff; }
.footer .footer-credit a:focus-visible { outline:2px solid var(--cyan-bright,#35d5ec); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .footer .footer-credit a { transition:none; } }


/* V2.0.75: Project Inspiration category matches Home / Our Work category color. */
.inspiration-caption small { color: var(--cyan-bright); }
