/*
Theme Name: Chris Finn Modern Child
Theme URI: https://chris-finn.com/
Description: Custom Astra child theme for Chris Finn. Provides the redesigned site-wide header/footer and the custom HTML/CSS homepage while preserving existing Astra/Beaver Builder page content.
Author: Chris Finn
Template: astra
Version: 1.0.1
Text Domain: chris-finn-modern-child
*/

:root{
  --cf-blue-900:#173f57;
  --cf-blue-800:#1f5877;
  --cf-blue-100:#eaf3f8;
  --cf-ink:#173041;
  --cf-line:#dfe7e9;
  --cf-shadow:0 22px 60px rgba(26,55,70,.12);
  --cf-wrap:1180px;
  --cf-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

/* The shell is deliberately namespaced so it does not restyle legacy Beaver Builder content. */
.cf-wrap{width:min(calc(100% - 48px),var(--cf-wrap));margin-inline:auto;box-sizing:border-box}
.cf-skip-link{position:absolute;left:-9999px;top:8px;z-index:9999;background:#fff;color:#000;padding:.75rem 1rem;border-radius:8px}
.cf-skip-link:focus{left:8px}

.cf-site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,63,87,.08);font-family:var(--cf-sans)}
.cf-header-inner{height:78px;display:flex;align-items:center;gap:26px}
.cf-brand{font-family:var(--cf-sans);font-size:1.26rem;letter-spacing:.19em;font-weight:650;color:var(--cf-ink)!important;white-space:nowrap;text-decoration:none!important}
.cf-desktop-nav{margin-left:auto;display:flex;align-items:center;gap:1.45rem;font-size:.9rem}
.cf-desktop-nav a{color:#455b68!important;text-decoration:none!important;transition:color .2s ease}
.cf-desktop-nav a:hover{color:var(--cf-blue-800)!important}
.cf-btn{display:inline-flex;align-items:center;gap:.65rem;background:var(--cf-blue-800);color:#fff!important;font-weight:750;padding:.92rem 1.35rem;border-radius:999px;box-shadow:0 8px 18px rgba(31,88,119,.14);text-decoration:none!important;line-height:1.2}
.cf-btn:hover{background:var(--cf-blue-900);color:#fff!important}
.cf-header-cta{margin-left:.4rem;padding:.72rem 1.08rem;font-size:.92rem}
.cf-mobile-menu{display:none;margin-left:auto;position:relative}
.cf-mobile-menu summary{list-style:none;width:42px;height:42px;display:grid;place-content:center;gap:5px;cursor:pointer}
.cf-mobile-menu summary::-webkit-details-marker{display:none}
.cf-mobile-menu summary span{display:block;width:22px;height:2px;background:var(--cf-ink);border-radius:2px}
.cf-mobile-menu nav{position:absolute;right:0;top:52px;width:min(310px,calc(100vw - 36px));padding:18px;background:#fff;border-radius:18px;box-shadow:var(--cf-shadow);display:grid;gap:4px}
.cf-mobile-menu nav a:not(.cf-btn){padding:9px 10px;border-radius:8px;color:#455b68!important;text-decoration:none!important}
.cf-mobile-menu nav a:not(.cf-btn):hover{background:var(--cf-blue-100);color:var(--cf-blue-800)!important}
.cf-mobile-menu .cf-btn{margin-top:8px;justify-content:center}

/* Existing Astra pages retain Astra's content layout; only the shell changes. */
.cf-legacy-content{min-height:1px}

.cf-site-footer{background:#13394f;color:#dbe7ed;padding:70px 0 24px;font-family:var(--cf-sans)}
.cf-footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr .8fr;gap:50px}
.cf-footer-brand .cf-brand{color:#fff!important;display:inline-block;margin-bottom:18px}
.cf-footer-brand p{color:#b9cbd4;font-size:.9rem;max-width:320px;margin:0 0 1.05rem;line-height:1.65}
.cf-footer-contact a{color:#eef5f8!important;text-decoration:none!important}
.cf-footer-grid h2{font-family:var(--cf-sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#9fbaca;margin:0 0 16px;font-weight:700}
.cf-footer-grid>div:not(.cf-footer-brand)>a{display:block;color:#e2ecf0!important;font-size:.9rem;margin:8px 0;text-decoration:none!important;transition:.2s ease}
.cf-footer-grid>div:not(.cf-footer-brand)>a:hover{color:#fff!important;transform:translateX(2px)}
.cf-footer-bottom{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:#94afbd;font-size:.78rem}
.cf-footer-bottom p{margin:0}
.cf-footer-bottom div{display:flex;gap:18px;flex-wrap:wrap}
.cf-footer-bottom a{color:#b9cbd4!important;text-decoration:none!important}
.cf-footer-bottom a:hover{color:#fff!important}

@media(max-width:1100px){.cf-desktop-nav{gap:.9rem;font-size:.84rem}.cf-header-cta{display:none}}
@media(max-width:900px){.cf-desktop-nav,.cf-header-cta{display:none}.cf-mobile-menu{display:block}.cf-footer-grid{grid-template-columns:1fr 1fr}.cf-footer-brand{grid-column:1/-1}}
@media(max-width:620px){
  .cf-wrap{width:min(calc(100% - 28px),var(--cf-wrap))}
  .cf-header-inner{height:70px}.cf-brand{font-size:1.08rem}
  .cf-site-footer{padding-top:56px}.cf-footer-grid{grid-template-columns:1fr;gap:30px}.cf-footer-brand{grid-column:auto}.cf-footer-bottom{margin-top:38px;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.cf-desktop-nav a,.cf-footer-grid a{transition:none}}
