
/* SafaSoch V14.9.1 — Visual Consistency & Mobile Polish
   Presentation-only patch. V14.8.5 SEO/canonical signals remain unchanged. */
:root{
  --ss941-green:#063f34;
  --ss941-green-dark:#04382f;
  --ss941-ivory:#fbf8f0;
  --ss941-gold:#e5ad39;
  --ss941-ink:#14362f;
  --ss941-muted-light:#cbd7d1;
  --ss941-line:rgba(20,54,47,.14);
}

/* ---------- Legacy/static pages: make header match the main site ---------- */
body > header .header-inner{
  min-height:96px;
  display:flex;
  align-items:center;
  gap:24px;
}
body > header .brand{
  width:220px!important;
  height:auto!important;
  min-height:54px;
  overflow:visible!important;
  display:flex!important;
  align-items:center;
}
body > header .brand img{
  position:static!important;
  inset:auto!important;
  width:220px!important;
  max-width:100%!important;
  max-height:64px!important;
  height:auto!important;
  object-fit:contain!important;
}
body > header nav a:last-child,
body > header .business-call{
  border-radius:999px!important;
  padding:13px 22px!important;
  background:var(--ss941-green)!important;
  color:#fff!important;
}

/* ---------- Footer repair / consistency ---------- */
footer .brand{
  width:220px!important;
  height:auto!important;
  min-height:52px;
  overflow:visible!important;
  display:flex!important;
  align-items:center;
}
footer .brand img{
  position:static!important;
  inset:auto!important;
  width:220px!important;
  max-width:100%!important;
  max-height:70px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
}
/* Square legacy footer logo: keep it compact instead of showing a white slab */
footer .brand img[src*="original-logo"]{
  width:72px!important;
  height:72px!important;
  object-fit:contain!important;
  background:transparent!important;
}
footer .small,
footer .muted,
footer [class*="tagline"],
.ss1316a-footer p,
.ss1316a-footer span{
  color:rgba(255,253,247,.78)!important;
}
footer p, footer li{color:rgba(255,253,247,.88)}
footer .footer-bottom,
footer .ss1316a-footer-bottom{
  border-color:rgba(255,255,255,.18)!important;
}

/* ---------- Dark section contrast fixes ---------- */
.v14-work,.v14-work .shell,.v14-case,.v14-case-foot,
[class*="dark-section"],[class*="green-section"]{
  --ss-dark-copy:#f6f2e8;
}
.v14-work .v14-case-foot p,
.v14-work .v14-case-meta span,
.v14-work .v14-case-meta b{
  color:rgba(255,253,247,.82)!important;
}
.v14-work .v14-case-foot strong,
.v14-work .v14-case-foot a{
  color:#fff!important;
}
.v14-work .v14-case-foot a:hover{color:var(--ss941-gold)!important}

/* ---------- Fixed mobile actions: smaller and non-obstructive ---------- */
@media(max-width:700px){
  body:not(.v15-app-mode){padding-bottom:92px}
  body:not(.v15-app-mode) .ss1315-mobile-actions{
    left:16px!important;
    right:16px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    min-height:58px!important;
    border-radius:20px!important;
    padding:6px!important;
    gap:6px!important;
    box-shadow:0 12px 34px rgba(3,44,35,.18)!important;
  }
  body:not(.v15-app-mode) .ss1315-mobile-actions>a{
    min-height:46px!important;
    padding:8px 12px!important;
    font-size:13px!important;
    border-radius:15px!important;
  }
  .ss-ai{
    right:14px!important;
    bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;
  }

  /* Drawer gets clearance above the persistent action bar */
  .v11-menu-panel,
  .v11-menu-drawer,
  #v15-mobile-menu{
    padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }

  /* Static-page header: same logo/hamburger/CTA visual language */
  body > header .header-inner{
    min-height:92px!important;
    flex-wrap:nowrap!important;
    padding-block:12px;
  }
  body > header .brand{
    width:178px!important;
    min-height:48px;
  }
  body > header .brand img{
    width:178px!important;
    max-height:52px!important;
  }
  body > header .menu-toggle{
    display:grid!important;
    place-items:center;
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    border:1px solid #cbd5cf!important;
    border-radius:50%!important;
    background:var(--ss941-ivory)!important;
    color:transparent!important;
    font-size:0!important;
    position:relative;
    flex:0 0 48px;
  }
  body > header .menu-toggle::before{
    content:"☰";
    color:var(--ss941-green)!important;
    font-size:22px;
    line-height:1;
  }
  body > header nav{
    position:absolute;
    left:0;right:0;top:100%;
    z-index:1500;
    background:var(--ss941-ivory);
    border-top:1px solid var(--ss941-line);
    box-shadow:0 20px 40px rgba(3,44,35,.12);
    padding:12px 18px 24px!important;
  }
  body > header nav a{
    min-height:48px;
    display:flex;
    align-items:center;
    border-bottom:1px solid var(--ss941-line);
  }
  body > header nav a:last-child{
    justify-content:center;
    border:0!important;
    margin-top:12px!important;
  }

  /* Static footer: less oversized, better rhythm */
  footer{padding-top:34px!important}
  footer .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:26px 22px!important;
    padding-bottom:24px!important;
  }
  footer .footer-grid>div:first-child{grid-column:1/-1!important}
  footer h2{font-size:1.55rem!important;margin-bottom:14px!important}
  footer a:not(.brand),footer p{font-size:.98rem!important;line-height:1.55}
  footer .footer-bottom{
    padding-block:18px!important;
    gap:12px!important;
  }
  footer .footer-bottom div{gap:12px 18px!important}

  /* Prevent content from hiding under browser/fixed controls */
  main{min-height:40vh}
}

/* Narrow phones */
@media(max-width:390px){
  body > header .brand{width:158px!important}
  body > header .brand img{width:158px!important}
  footer .footer-grid{grid-template-columns:1fr!important}
  footer .footer-grid>div:first-child{grid-column:auto!important}
  .ss1315-mobile-actions{left:10px!important;right:10px!important}
}

/* Keep content readable on all dark-green V14 blocks */
.v14-work p,.v14-work li{color:rgba(255,253,247,.82)}
.v14-work h2,.v14-work h3,.v14-work b{color:#fff}
