
.sfibre-checker-card{width:100%;font-family:inherit}
.sfibre-availability-form{width:100%}
.sfibre-address-row{display:flex;gap:10px;align-items:stretch}
.sfibre-address-input-wrap{position:relative;flex:1;min-width:0}
.sfibre-address-input-wrap input{width:100%;height:60px;border:0;border-radius:9px;padding:0 52px 0 30px;font-size:16px;line-height:1.2;box-sizing:border-box;outline:none}
.sfibre-address-input-wrap input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.28)}
.sfibre-location-icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:28px;line-height:1;pointer-events:none}
.sfibre-check-button{height:60px;border:0;border-radius:9px;padding:0 28px;font-weight:700;font-size:16px;cursor:pointer;white-space:nowrap;position:relative;transition:opacity .2s,transform .2s}
.sfibre-check-button:hover{transform:translateY(-1px)}
.sfibre-check-button:disabled{cursor:wait;opacity:.85}
.sfibre-check-spinner{display:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sfibre-spin .7s linear infinite;margin-left:8px;vertical-align:-3px}
.sfibre-check-button.is-loading .sfibre-check-spinner{display:inline-block}
@keyframes sfibre-spin{to{transform:rotate(360deg)}}
.sfibre-availability-message{min-height:22px;margin-top:9px;font-size:14px}
.sfibre-availability-message.is-error{font-weight:600}

.sfibre-result-page{width:100%;padding:30px 15px;box-sizing:border-box}
.sfibre-result-box{max-width:1100px;margin:0 auto;text-align:center;border-radius:22px;padding:45px 35px;box-sizing:border-box;background:#fff;box-shadow:0 15px 45px rgba(0,0,0,.08)}
.sfibre-result-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:30px;font-weight:800;background:#eee}
.sfibre-result-icon.success{font-size:28px}
.sfibre-result-eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:700;opacity:.65}
.sfibre-result-box h1{font-size:42px;line-height:1.1;margin:8px 0 12px}
.sfibre-result-lead{font-size:20px;margin:0 auto 24px;max-width:720px}
.sfibre-address-confirmed{max-width:720px;margin:0 auto 35px;padding:18px 22px;border-radius:12px;background:#f5f7fa;text-align:left}
.sfibre-address-confirmed span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.65;margin-bottom:6px}
.sfibre-address-confirmed strong{display:block;font-size:16px;line-height:1.5}
.sfibre-result-box h2{font-size:27px;margin:0 0 6px}
.sfibre-package-intro{margin:0 auto 24px;opacity:.68;font-size:15px}
.sfibre-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1000px;margin:0 auto}
.sfibre-package{position:relative;overflow:hidden;border:1px solid #e4e7eb;border-radius:22px;padding:28px 28px 24px;text-align:left;background:#fff;box-shadow:0 7px 20px rgba(30,18,55,.05);transition:transform .2s,box-shadow .2s}
.sfibre-package:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:#118ed0}
.sfibre-package:hover{transform:translateY(-5px);box-shadow:0 16px 35px rgba(30,18,55,.11)}
.sfibre-package-top{text-align:left}
.sfibre-package-price{min-height:88px;position:relative;padding-left:0;display:flex;align-items:flex-start;flex-wrap:wrap;column-gap:3px}
.sfibre-package-currency{font-size:18px;font-weight:800;line-height:1.1;margin-top:6px}
.sfibre-package-amount{font-size:48px;line-height:.98;font-weight:800;letter-spacing:-1.5px}
.sfibre-package-period{font-size:13px;font-weight:600;align-self:flex-end;margin-bottom:4px;opacity:.72}
.sfibre-package-rrp{display:block;width:100%;font-size:12px;line-height:1.2;margin-top:6px;opacity:.62}
.sfibre-package-speed{font-size:25px;font-weight:800;line-height:1.1;margin-top:7px}
.sfibre-package h3{font-size:16px;margin:7px 0 0;font-weight:700}
.sfibre-package-divider{height:1px;background:#e7e3dc;margin:18px 0 10px}
.sfibre-package-features{list-style:none;margin:0;padding:0 0 8px}
.sfibre-package-features li{position:relative;padding:8px 0 8px 29px;font-size:14px;line-height:1.35;opacity:.82}
.sfibre-package-features li:before{content:"✓";position:absolute;left:0;top:7px;font-size:19px;font-weight:800;color:#118ed0}
.sfibre-package-features li strong{font-weight:800;opacity:1}
.sfibre-package-button,.sfibre-result-button{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none!important;border-radius:10px;padding:13px 18px;font-weight:800;cursor:pointer}
.sfibre-package-button{width:100%;box-sizing:border-box;margin-top:9px;background:#118ed0;color:#fff!important;transition:transform .2s,opacity .2s}
.sfibre-package-button:hover{opacity:.92;transform:translateY(-1px)}
.sfibre-package-button span{font-size:25px;line-height:16px;margin-top:-2px}
.sfibre-result-button{margin-top:10px}
.sfibre-info-message{padding:18px;border-radius:12px;background:#f5f7fa}
@media(max-width:900px){
 .sfibre-packages{grid-template-columns:1fr;max-width:560px}
 .sfibre-package{padding:26px 24px}
}
@media(max-width:760px){
 .sfibre-address-row{flex-direction:column}
 .sfibre-check-button{width:100%}
 .sfibre-result-box{padding:35px 20px}
 .sfibre-result-box h1{font-size:32px}
 .sfibre-package-amount{font-size:44px}
}

/* Sfibre address autocomplete */
.sfibre-autocomplete-wrap{position:relative;z-index:10000}
.sfibre-autocomplete-list{background:#fff;border:1px solid #e1e4e9;border-radius:12px;box-shadow:0 16px 38px rgba(20,12,42,.18);overflow:hidden;text-align:left;max-height:360px;overflow-y:auto}
.sfibre-autocomplete-list-fixed{position:fixed;z-index:2147483647;left:0;top:0;right:auto;width:auto;box-sizing:border-box}
.sfibre-autocomplete-list[hidden]{display:none}
.sfibre-autocomplete-item{display:block;width:100%;border:0;border-bottom:1px solid #f0f1f3;background:#fff;text-align:left;padding:14px 16px;cursor:pointer;transition:background .15s}
.sfibre-autocomplete-item:last-child{border-bottom:0}
.sfibre-autocomplete-item:hover,.sfibre-autocomplete-item:focus,.sfibre-autocomplete-item.is-active{background:#f5f7fa;outline:none}
.sfibre-autocomplete-address{display:block;color:#2d1750;font-weight:700;font-size:14px;line-height:1.4}
.sfibre-autocomplete-meta{display:block;color:#888993;font-size:11px;margin-top:4px}
.sfibre-autocomplete-loading{padding:15px 16px;color:#777;font-size:13px}
