/* Urbifixy – lightweight theme on Bootstrap 5.3 (Elementor-friendly: plain sections, utility classes, CSS variables) */
:root{--uf-primary:#f26d21;--uf-primary-dark:#a14000;--uf-navy:#0f1c2c;--uf-navy2:#223450;--uf-ink:#191c1d;--uf-muted:#525f71;--uf-bg:#f8f9fa;--uf-line:#e1e3e4;--bs-body-font-family:'Inter',system-ui,sans-serif;--bs-body-color:var(--uf-ink);--bs-primary:#f26d21;--bs-primary-rgb:242,109,33;--bs-link-color:var(--uf-primary-dark);--bs-link-hover-color:var(--uf-primary)}
body{background:var(--uf-bg);padding-top:76px}
h1,h2,h3,h4,h5,.font-head{font-family:'Montserrat',sans-serif;letter-spacing:-.01em}
.btn-primary{--bs-btn-bg:var(--uf-primary);--bs-btn-border-color:var(--uf-primary);--bs-btn-hover-bg:var(--uf-primary-dark);--bs-btn-hover-border-color:var(--uf-primary-dark);--bs-btn-active-bg:var(--uf-primary-dark);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;font-weight:600}
.btn-outline-light:hover{color:var(--uf-navy)}
.text-primary-d{color:var(--uf-primary-dark)}
.eyebrow{font:600 .75rem 'Inter';letter-spacing:.12em;text-transform:uppercase;color:var(--uf-primary-dark)}
.section{padding:72px 0}.section-alt{background:#fff}.section-dark{background:var(--uf-navy);color:#fff}
.section-title{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700}
/* header + logo (mark is a fixed 44x44 box so it never stretches) */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1030;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 1px 8px rgba(0,0,0,.06)}
.site-header .navbar{min-height:76px;padding:0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--uf-ink)}
.brand img{width:266px;height:81px;display:block;flex:none}
.brand b{display:block;font:700 1.35rem/1 'Montserrat';letter-spacing:-.02em}
.brand small{display:block;font:600 .6rem/1.2 'Inter';letter-spacing:.14em;text-transform:uppercase;color:var(--uf-muted);margin-top:3px}
.navbar .nav-link{font:600 .875rem 'Inter';color:var(--uf-muted);padding:.6rem .85rem}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--uf-primary)}
/* mega dropdown */
/* Mega dropdown - corrected positioning */
.mega {
    width: min(1060px, 94vw);
    padding: 1.25rem 1.5rem;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

@media (min-width: 1200px) {
    .nav-item.has-mega {
        position: static;
    }

    /* Higher specificity overrides Bootstrap's left: 0 */
    .site-header .dropdown-menu.mega {
        left: 50%;
        transform: translateX(-50%);
        margin-top: 0;
    }

    .navbar .dropdown:hover > .dropdown-menu {
        display: block;
    }
}
.mega h6{font:700 .8rem 'Montserrat';text-transform:uppercase;letter-spacing:.06em;margin:0 0 .4rem}
.mega h6 a{color:var(--uf-primary-dark);text-decoration:none}
.mega .sub-h{font:600 .68rem 'Inter';letter-spacing:.1em;text-transform:uppercase;color:var(--uf-muted);margin:.6rem 0 .1rem}
.mega a.sub{display:block;padding:.28rem .5rem;margin:0 -.5rem;border-radius:6px;color:var(--uf-ink);font-size:.84rem;text-decoration:none}
.mega a.sub:hover{background:#fff1e9;color:var(--uf-primary-dark)}
.mega a.sub::before{content:"\F285";font-family:bootstrap-icons;font-size:.6rem;color:var(--uf-primary);margin-right:.45rem}
/* hero carousel – exact 1920x720 banners, fade in/out + animated caption */
.hero .carousel-item{height:clamp(480px,37.5vw,720px);background:var(--uf-navy)}
.hero .carousel-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.hero .caption{position:absolute;inset:0;display:flex;align-items:center;color:#fd6001}
.hero .caption h1,.hero .caption h2{font-size:clamp(1.75rem,4vw,3.1rem);font-weight:800;line-height:1.1;max-width:640px}
.hero .caption p{font-size:clamp(.95rem,1.6vw,1.15rem);max-width:540px;color:#ffffff}
.hero .carousel-item.active .anim{animation:ufFade .9s ease both}
.hero .carousel-item.active .anim.d2{animation-delay:.25s}.hero .carousel-item.active .anim.d3{animation-delay:.5s}.hero .carousel-item.active .anim.d4{animation-delay:.75s}
@keyframes ufFade{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero .carousel-indicators [data-bs-target]{width:34px;height:4px;border:0;background:#fff}
.tag{display:inline-block;background:rgba(242,109,33,.18);color:#ffb694;border:1px solid rgba(242,109,33,.5);border-radius:99px;padding:.25rem .8rem;font:600 .7rem 'Inter';letter-spacing:.1em;text-transform:uppercase}
.hero-sm{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--uf-navy),var(--uf-navy2));color:#fff;padding:48px 0 56px}
.hero-sm .crumb-img{position:absolute;right:0;top:0;height:100%;width:auto;min-width:60%;object-fit:cover;object-position:right center;opacity:.9}
.hero-sm::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--uf-navy) 38%,rgba(15,28,44,.55) 70%,rgba(15,28,44,.15))}
.hero-sm .container{z-index:2}
.hard-shadow {
  text-shadow: 1px 1px 0px #000000; /* No blur */
}
.breadcrumb{--bs-breadcrumb-divider-color:#8fa2bb;--bs-breadcrumb-item-active-color:#ffb694;font-size:.82rem}.breadcrumb a{color:#d6e4f9;text-decoration:none}.breadcrumb a:hover{color:var(--uf-primary)}
.hero-sm h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}.hero-sm p{color:#d6e4f9;max-width:700px}
/* cards */
.u-card{background:#fff;border:1px solid var(--uf-line);border-radius:12px;padding:1.5rem;transition:box-shadow .2s,transform .2s}
.u-card:hover{box-shadow:0 10px 28px rgba(15,28,44,.09);transform:translateY(-2px)}
.ico{width:48px;height:48px;border-radius:12px;background:#fff1e9;color:var(--uf-primary);display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem;flex:none}
.stat b{display:block;font:800 1.9rem 'Montserrat';color:var(--uf-primary)}
.checks{list-style:none;padding:0;margin:0}.checks li{padding:.2rem 0 .2rem 1.6rem;position:relative;font-size:.92rem}
.checks li::before{content:"\F26A";font-family:bootstrap-icons;color:var(--uf-primary);position:absolute;left:0}
.chip{display:inline-block;background:#fff1e9;color:var(--uf-primary-dark);border-radius:99px;padding:.2rem .7rem;font:600 .75rem 'Inter'}
/* sub-service dropdown/accordion */
.sub-list .accordion-item{border:1px solid var(--uf-line);border-radius:10px!important;margin-bottom:.6rem;overflow:hidden}
.sub-list .accordion-button{font:600 .95rem 'Inter';background:#fff;box-shadow:none}
.sub-list .accordion-button:not(.collapsed){background:#fff1e9;color:var(--uf-primary-dark)}
.sub-mini a{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-top:1px solid var(--uf-line);color:var(--uf-ink);text-decoration:none;font-size:.88rem}
.sub-mini a:hover{background:#fff1e9;color:var(--uf-primary-dark)}
.step-n{font:800 2rem 'Montserrat';color:var(--uf-primary);opacity:.9}
/* forms */
.form-control,.form-select{border-radius:8px;padding:.65rem .85rem;font-size:.92rem}
.form-control:focus,.form-select:focus{border-color:var(--uf-primary);box-shadow:0 0 0 .2rem rgba(242,109,33,.2)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.form-msg{display:none;border-radius:8px;padding:.7rem 1rem;font-size:.9rem}.form-msg.ok{display:block;background:#e6f6ea;color:#14532d}.form-msg.err{display:block;background:#ffdad6;color:#93000a}
.map-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--uf-line);min-height:420px;height:100%}.map-wrap iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
/* faq */
.accordion-faq .accordion-button{font:600 .98rem 'Montserrat'}
/* footer – identical on every page */
.site-footer{background:var(--uf-navy);color:#b9c6d8;padding:60px 0 0;font-size:.9rem}
.site-footer h5{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:1rem}
.site-footer a{color:#b9c6d8;text-decoration:none}.site-footer a:hover{color:var(--uf-primary)}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:.5rem}
.site-footer .brand{color:#fff}.site-footer .brand small{color:#8fa2bb}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding:18px 0;font-size:.82rem}
.cta-float{position:fixed;right:16px;bottom:16px;z-index:1020;display:flex;flex-direction:column;gap:8px}
.cta-float a,.cta-float button{width:50px;height:50px;border-radius:50%;border:0;display:grid;place-items:center;color:#fff;font-size:1.3rem;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.cta-float .call{background:#14532d}.cta-float .enq{background:var(--uf-primary)}
@media(max-width:1199.98px){.navbar-collapse{max-height:calc(100vh - 76px);overflow:auto;padding-bottom:1rem}.mega{box-shadow:none;padding:.5rem 0;width:auto}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
