#sad-coverage-app { background:#f4f7fb; color:#10253f; min-height:700px; }
.sad-coverage-hero { position:relative; overflow:hidden; padding:58px 0 90px; color:#fff; background:linear-gradient(135deg,#062b50 0%,#0a4778 100%); }
.sad-coverage-hero:after { content:""; position:absolute; width:480px; height:480px; right:-160px; top:-250px; border-radius:50%; background:rgba(40,190,241,.18); }
.sad-coverage-intro { position:relative; z-index:1; max-width:900px; margin:auto; }
.sad-coverage-eyebrow { display:block; margin-bottom:10px; color:#6dd6ff; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }
.sad-coverage-intro h1 { margin:0; font-size:42px; font-weight:700; line-height:1.15; color:#fff; }
.sad-coverage-intro > p { max-width:680px; margin:18px auto 0; color:#d6ebfa; font-size:18px; }
.sad-coverage-search { display:flex; max-width:790px; margin:32px auto 0; padding:10px; border-radius:12px; background:#fff; box-shadow:0 15px 40px rgba(0,0,0,.25); }
.sad-search-input-wrap { position:relative; flex:1; }
.sad-search-input-wrap .glyphicon { position:absolute; z-index:2; left:18px; top:19px; color:#19abe2; font-size:18px; }
.sad-search-input-wrap .form-control { height:54px; padding-left:50px; border:0; box-shadow:none; font-size:16px; color:#10253f; }
.sad-coverage-search .btn { min-width:170px; height:54px; border:0; border-radius:8px; background:#19abe2; font-weight:700; }
.sad-map-message { display:none; margin:15px auto 0; max-width:790px; padding:10px 15px; border-radius:7px; background:rgba(180,32,37,.92); }
.sad-coverage-body { position:relative; z-index:2; margin-top:-48px; padding-bottom:45px; }
.sad-panel { margin-bottom:25px; border:1px solid #dce5ee; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(24,53,82,.12); overflow:hidden; }
.sad-map-panel { position:relative; }
#sad-coverage-map { height:470px; background:#dcebf4; }
.sad-map-legend { position:absolute; left:15px; bottom:15px; padding:9px 12px; border-radius:8px; background:rgba(255,255,255,.94); box-shadow:0 2px 10px rgba(0,0,0,.15); font-size:12px; }
.sad-map-legend span { margin-right:12px; white-space:nowrap; }
.sad-map-legend span:last-child { margin-right:0; }
.sad-map-legend i { display:inline-block; width:11px; height:11px; margin-right:4px; border-radius:2px; vertical-align:-1px; }
.sad-octotel { background:#19a974; }.sad-thinkspeed { background:#6f42c1; }.sad-fibregeeks { background:#1677c8; }.sad-lightstruck { background:#e34f90; }.sad-cybersmart { background:#00a6a6; }.sad-construction { background:#f2a526; }
.sad-result-panel { min-height:472px; padding:40px 35px; display:flex; align-items:center; }
.sad-result-panel > div { width:100%; }
.sad-result-panel h2 { margin:18px 0 13px; color:#10253f; font-size:28px; line-height:1.25; font-weight:700; }
.sad-result-panel p { color:#66788b; font-size:15px; line-height:1.7; }
.sad-result-icon { display:flex; width:58px; height:58px; align-items:center; justify-content:center; border-radius:15px; font-size:25px; }
.sad-icon-ready { background:#e5f5fc; color:#169fd3; }.sad-icon-available,.sad-icon-live,.sad-icon-mdu { background:#e4f7ef; color:#159566; }.sad-icon-preorder,.sad-icon-construction { background:#fff3dc; color:#d68a00; }.sad-icon-none { background:#fde9eb; color:#cf3e4b; }
.sad-result-label { display:block; margin-top:24px; color:#169fd3; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.sad-stats { margin-top:25px; }.sad-stats > div { padding:15px; background:#f6f8fa; border-right:5px solid #fff; }.sad-stats strong,.sad-stats span { display:block; }.sad-stats strong { font-size:25px; }.sad-stats span { color:#758496; font-size:12px; }
.sad-building { margin:20px 0; padding:15px; border-radius:9px; background:#f6f8fa; }.sad-building strong,.sad-building span { display:block; }.sad-building span { margin-top:5px; color:#758496; font-size:13px; }
.sad-unit-counts { display:flex;flex-wrap:wrap;gap:7px;margin-top:10px; }
.sad-building .sad-unit-count { display:inline-block;margin:0;padding:5px 9px;border-radius:12px;background:#e4f7ef;color:#137a58;font-size:12px;font-weight:700; }
.sad-area-row { margin-top:18px; font-size:13px!important; }.sad-result-panel .btn-warning { margin-top:22px; border-color:#e85f24; background:#ef6c2f; font-weight:700; }
.sad-provider-card { margin-top:18px; padding:18px; border:1px solid #e1e8ef; border-left:5px solid #19a974; border-radius:10px; background:#fff; }
.sad-provider-card.sad-provider-thinkspeed { border-left-color:#6f42c1; }
.sad-provider-card.sad-provider-fibregeeks { border-left-color:#1677c8; }
.sad-provider-card.sad-provider-lightstruck { border-left-color:#e34f90; }
.sad-provider-card.sad-provider-openserve { border-left-color:#0072ce; }
.sad-provider-card.sad-provider-cybersmart { border-left-color:#00a6a6; }
.sad-provider-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sad-provider-top strong { color:#10253f; font-size:19px; }
.sad-provider-status { padding:4px 8px; border-radius:20px; background:#e4f7ef; color:#13855b; font-size:11px; font-weight:700; text-transform:uppercase; }
.sad-status-preorder,.sad-status-construction { background:#fff3dc; color:#b87500; }
.sad-provider-card > p { margin:10px 0 0; font-size:13px; }
.sad-provider-card .sad-building { margin:12px 0 0; }
.sad-provider-card .sad-area-row { margin:10px 0 0; }
.sad-provider-card .btn { margin-top:14px; }
.sad-checked-address { margin-top:12px; padding:12px 14px; border-radius:8px; background:#eef6fb; color:#23415f!important; font-size:13px!important; font-weight:600; }
.sad-disclaimer { margin:4px 0 0; color:#728196; font-size:12px; }
@media(max-width:767px){.sad-coverage-hero{padding:40px 15px 75px}.sad-coverage-intro h1{font-size:31px}.sad-coverage-search{display:block}.sad-coverage-search .btn{width:100%;margin-top:8px}.sad-coverage-body{margin-top:-35px;padding-left:15px;padding-right:15px}#sad-coverage-map{height:360px}.sad-result-panel{min-height:0;padding:30px 25px}.sad-map-legend{right:10px;left:10px}.sad-map-legend span{display:block;margin:3px 0}}

/* =========================================================
   Fibre Coverage Information / GEO Content
   ========================================================= */

.sad-fibre-info {
    padding: 65px 0;
    background: #ffffff;
}

.sad-fibre-info-intro {
    max-width: 900px;
    margin: 0 auto 55px;
    text-align: center;
}

.sad-fibre-info h2 {
    color: #0b3d66;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 20px;
}

.sad-fibre-info-intro h2 {
    font-size: 32px;
}

.sad-fibre-info p {
    font-size: 16px;
    line-height: 1.75;
    color: #555555;
}

.sad-fibre-info-section {
    max-width: 1050px;
    margin: 0 auto 45px;
}

.sad-fibre-network-grid {
    margin-top: 30px;
}

.sad-fibre-network-card {
    background: #f7f9fb;
    border: 1px solid #e5e9ed;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 25px;
    min-height: 190px;
}

.sad-fibre-network-card h3 {
    color: #0b3d66;
    font-size: 20px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 12px;
}

.sad-fibre-network-card p {
    font-size: 15px;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .sad-fibre-info {
        padding: 45px 0;
    }

    .sad-fibre-info-intro h2 {
        font-size: 27px;
    }

    .sad-fibre-network-card {
        min-height: 0;
    }
}

/* =========================================================
   Fibre Coverage FAQ
   ========================================================= */

.sad-fibre-faq {
    margin-top: 10px;
}

.sad-fibre-faq > h2 {
    margin-bottom: 25px;
}

.sad-fibre-faq .panel {
    margin-bottom: 12px;
    border: 1px solid #dfe7ee;
    border-radius: 8px;
    box-shadow: none;
    overflow: hidden;
}

.sad-fibre-faq .panel-heading {
    padding: 0;
    border: 0;
    background: #f7f9fb;
}

.sad-fibre-faq .panel-title {
    font-size: 16px;
    font-weight: 600;
}

.sad-fibre-faq .panel-title a {
    position: relative;
    display: block;
    padding: 18px 50px 18px 20px;
    color: #0b3d66;
    text-decoration: none;
}

.sad-fibre-faq .panel-title a:hover,
.sad-fibre-faq .panel-title a:focus {
    color: #169fd3;
    text-decoration: none;
}

.sad-fibre-faq .panel-title a:after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 14px;
    color: #169fd3;
    font-size: 24px;
    font-weight: 400;
}

.sad-fibre-faq .panel-title a[aria-expanded="true"]:after {
    content: "−";
}

.sad-fibre-faq .panel-body {
    padding: 18px 20px;
    border-top: 1px solid #e5e9ed !important;
    color: #555555;
    font-size: 15px;
    line-height: 1.7;
}

.sad-fibre-network-link {
    margin-top: 16px !important;
}

.sad-fibre-network-link a {
    color: #159fd3;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.sad-fibre-network-link a:hover,
.sad-fibre-network-link a:focus {
    color: #0b3d66;
    text-decoration: none;
}
