/* Supplemental styles for the restored Cranes Civil & Surfacing rebuild.
   Palette from captured site.css: green #00712f, dark #00441c, gold #ffc600, grey #3c3b3b. */
:root{
  --ccs-green:#00712f; --ccs-green-dark:#00441c; --ccs-gold:#ffc600;
  --ccs-ink:#3c3b3b; --ccs-grey:#646263; --ccs-line:#dedede; --ccs-bg:#f5f5f5;
}
body{font-family:"Open Sans","Helvetica",Arial,sans-serif;color:var(--ccs-ink);margin:0;line-height:1.6;}
img{max-width:100%;height:auto;}
a{color:var(--ccs-green);}
a:hover{color:var(--ccs-green-dark);}
.site-width-centered{max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px;}
.page-content-padding{padding-top:10px;padding-bottom:10px;}

/* ---------- Header ---------- */
header.global{background:#fff;border-bottom:3px solid var(--ccs-green);position:relative;z-index:50;}
.header-cols{max-width:1180px;margin:0 auto;padding:14px 20px 0;}
.header-cols .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.col-logo{flex:0 0 auto;}
.site-logo2 img{width:270px;max-width:60vw;}
.col-contacts{flex:1 1 auto;text-align:right;}
.contacts{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap;font-size:14px;}
.contacts .item{color:var(--ccs-grey);text-decoration:none;}
.contacts .item:hover{color:var(--ccs-green);}
.contacts .divider{color:var(--ccs-line);}
.contacts .fa{color:var(--ccs-green);}

.nav-primary-wrapper{margin-top:12px;}
nav.nav-primary{background:var(--ccs-green);}
nav.nav-scroll{display:none;}
body.scrolled nav.nav-scroll{display:block;position:fixed;top:0;left:0;right:0;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.nav-primary .navbar-collapse{max-width:1180px;margin:0 auto;}
.nav-primary ul.navbar-nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:stretch;}
.nav-primary ul.navbar-nav>li{position:relative;}
.nav-primary ul.navbar-nav>li>a{display:block;color:#fff;text-decoration:none;padding:16px 16px;font-weight:600;font-size:15px;letter-spacing:.2px;}
.nav-primary ul.navbar-nav>li>a:hover,
.nav-primary ul.navbar-nav>li>a.active{background:var(--ccs-green-dark);color:#fff;}
/* CTA keeps the original dark theme button (#222 / white text / white border) */
.nav-primary .nav-cta-button{background:#222;color:#fff;border:1px solid #fff;border-radius:5px;font-weight:700;margin:8px 0 8px 10px;padding:8px 16px;}
.nav-primary .nav-cta-button:hover{background:var(--ccs-gold);color:#222;border-color:var(--ccs-gold);}
.nav-primary .fa-angle-down{font-size:12px;opacity:.8;}
/* dropdowns */
.nav-primary .dropdown-menu{list-style:none;margin:0;padding:6px 0;position:absolute;top:100%;left:0;min-width:240px;background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.18);border-top:3px solid var(--ccs-gold);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.15s ease;z-index:300;}
.nav-primary li.dropdown:hover>.dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-primary .dropdown-menu>li>a{display:block;padding:9px 18px;color:var(--ccs-ink);text-decoration:none;font-size:14px;}
.nav-primary .dropdown-menu>li>a:hover{background:var(--ccs-bg);color:var(--ccs-green);}
.nav-burger-btn{display:none;}

/* ---------- Page banner ---------- */
.page-banner{position:relative;background-size:cover;background-position:center;background-color:var(--ccs-green-dark);
  padding:72px 0;color:#fff;text-align:left;}
.page-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,52,22,.82),rgba(0,68,28,.45));}
.page-banner .site-width-centered{position:relative;}
.page-banner h1{margin:0;font-size:38px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);}

/* ---------- Home hero ---------- */
.home-hero{position:relative;background-size:cover;background-position:center;background-color:var(--ccs-green-dark);min-height:430px;display:flex;align-items:center;}
.home-hero-overlay{position:relative;width:100%;background:linear-gradient(90deg,rgba(0,52,22,.78),rgba(0,68,28,.35));padding:90px 0;}
.home-hero h1{color:#fff;font-size:46px;font-weight:700;margin:0 0 10px;text-shadow:0 2px 4px rgba(0,0,0,.35);}
.home-hero h3{color:var(--ccs-gold);font-weight:600;margin:0;font-size:22px;}

/* ---------- Page body ---------- */
.page-body{padding:44px 0;}
.page-body h1,.page-body h2,.page-body h3,.page-body h4{color:var(--ccs-green-dark);line-height:1.25;}
.page-body h2{font-size:27px;margin-top:1.4em;}
.page-body h3{font-size:21px;}
.page-body ul,.page-body ol{padding-left:22px;}
.page-body li{margin:4px 0;}
.years50 img,.page-body img[src*="cranes-50-years"]{max-width:230px;margin:0 0 18px;}
.section-title{color:var(--ccs-green-dark);font-size:28px;margin:0 0 24px;}
.page-cta{margin-top:34px;}

/* buttons (support captured .btn classes + our own) */
.btn.btn-two,.page-body a.btn{display:inline-block;background:var(--ccs-green);color:#fff !important;text-decoration:none;
  padding:12px 24px;border-radius:4px;font-weight:600;border:0;cursor:pointer;transition:.15s;}
.btn.btn-two:hover,.page-body a.btn:hover{background:var(--ccs-green-dark);}
.btn.size-sm{padding:8px 16px;font-size:14px;}
.btn.btn-two.solid{background:var(--ccs-green);}
.text-center{text-align:center;}

/* ---------- Galleries ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:26px 0;}
.gallery figure{margin:0;border-radius:6px;overflow:hidden;background:var(--ccs-bg);box-shadow:0 2px 8px rgba(0,0,0,.08);}
.gallery figure img{display:block;width:100%;height:190px;object-fit:cover;transition:transform .3s;}
.gallery figure:hover img{transform:scale(1.05);}
.gallery figcaption{padding:10px 12px;font-weight:600;color:var(--ccs-green-dark);text-align:center;}
.gallery figure a{text-decoration:none;color:inherit;display:block;}

/* home cards grid (figures with links) */
.home-body .gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.home-body .gallery figure{position:relative;}
.home-body .gallery figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,52,22,.9));
  color:#fff;padding:18px 12px 12px;}

/* ---------- News ---------- */
.home-news{padding:50px 0;}
.bg-color-grey{background:var(--ccs-bg);}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.news-card{background:#fff;border:1px solid var(--ccs-line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column;}
.news-card .nc-img{display:block;height:180px;background-size:cover;background-position:center;background-color:var(--ccs-green-dark);}
.news-card .nc-body{padding:18px;display:flex;flex-direction:column;gap:8px;}
.nc-meta{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ccs-gold);font-weight:700;}
.news-card h3{margin:0;font-size:19px;}
.news-card h3 a{color:var(--ccs-green-dark);text-decoration:none;}
.news-card h3 a:hover{color:var(--ccs-green);}
.news-card p{margin:0;color:var(--ccs-grey);font-size:14px;flex:1;}
.read-more{font-weight:600;font-size:14px;}
.news-quicklinks{margin:18px 0 26px;}
.post-meta{color:var(--ccs-grey);font-size:14px;margin-bottom:20px;}
.news-article .author-box{display:flex;gap:16px;align-items:flex-start;background:var(--ccs-bg);border-left:4px solid var(--ccs-gold);
  padding:18px;border-radius:5px;margin:34px 0;}
.author-avatar{flex:0 0 54px;width:54px;height:54px;border-radius:50%;background:var(--ccs-green);color:#fff;display:flex;
  align-items:center;justify-content:center;font-weight:700;font-size:18px;}
.author-role{color:var(--ccs-green);font-size:13px;font-weight:600;}
.back-link{margin-top:30px;}

/* ---------- Contact ---------- */
.contact-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-form-wrap h2{margin-top:0;}
.ccs-form label{display:block;margin:0 0 14px;font-weight:600;color:var(--ccs-ink);}
.ccs-form input,.ccs-form textarea,.ccs-form select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfcfcf;
  border-radius:4px;font:inherit;font-weight:400;box-sizing:border-box;}
.ccs-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ccs-form .hp{position:absolute;left:-9999px;}
.form-success{background:#dff0d8;border:1px solid #3c763d;color:#2e5b28;padding:16px 18px;border-radius:5px;}
.form-error{background:#f2dede;border:1px solid #a94442;color:#a94442;padding:12px 16px;border-radius:5px;margin-bottom:16px;}

/* ---------- Footer ---------- */
.footer-global{background:#fff;}
.footer-companies{padding:14px 0 30px;}
.footer-companies .row{display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:center;}
.footer-companies .fc-item{flex:0 0 auto;height:58px;display:flex;align-items:center;}
.footer-companies img{height:52px;width:auto;max-width:210px;opacity:.85;transition:opacity .2s;}
.footer-companies img:hover{opacity:1;}
.block-set-wrapper.bg-color-grey{background:var(--ccs-bg);padding:30px 0;}
.block-set-wrapper .block-text{text-align:center;}
.block-set-wrapper .block-text h3{color:var(--ccs-green-dark);}
.footer-contact{background:var(--ccs-green-dark);padding:46px 0;}
.footer-contact,.footer-contact h4,.footer-contact p{color:#fff !important;}
.footer-contact h4{font-weight:600;max-width:760px;}
.footer-contact a{color:var(--ccs-gold) !important;}
.footer-logo-white{filter:brightness(0) invert(1);height:58px;width:auto;max-width:300px;margin-bottom:20px;}
.footer-contact .block-image{margin-bottom:10px;}
.circle-icons{margin-top:16px;}
.circle-icons a{display:inline-flex;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;
  align-items:center;justify-content:center;text-decoration:none;}
.circle-icons a:hover{background:var(--ccs-gold);color:#222;}
.footer-copyright{background:#00341b;color:#cfe0d4;text-align:center;padding:16px 0;font-size:13px;}
.footer-copyright .meta-links{display:inline;}
.footer-copyright a{color:#fff;text-decoration:none;}
.footer-copyright a:hover{color:var(--ccs-gold);}
.footer-copyright .divider{color:rgba(255,255,255,.4);margin:0 6px;}

/* back to top */
.back-to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:var(--ccs-green);color:#fff;
  display:none;align-items:center;justify-content:center;text-decoration:none;z-index:150;}
body.scrolled .back-to-top{display:flex;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .contact-cols{grid-template-columns:1fr;}
  .nav-burger-btn{display:block;position:absolute;top:18px;right:18px;width:34px;cursor:pointer;}
  .nav-primary-wrapper{position:relative;}
  nav.nav-primary.not-nav-scroll .navbar-collapse{display:none;}
  body.nav-open nav.nav-primary.not-nav-scroll .navbar-collapse{display:block;}
  .nav-primary ul.navbar-nav{flex-direction:column;}
  .nav-primary .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(0,0,0,.12);border-top:0;}
  .nav-primary .dropdown-menu>li>a{color:#eafff0;}
  .col-contacts{text-align:left;}
  .contacts{justify-content:flex-start;}
  .home-hero h1{font-size:32px;}
  .page-banner h1{font-size:28px;}
}
