*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#124b7d;background:#f7f8f8}.top{height:105px;background:white;border-bottom:1px solid #ddd;display:flex;align-items:center;padding:0 5%;}.brand{font-size:30px;font-weight:800;letter-spacing:-1px}.brand span span{color:#20df8a}.brandmark{display:inline-grid;place-items:center;background:#20df8a;color:white;border-radius:50%;width:42px;height:42px;margin-right:10px}.trust{height:78px;background:#fff;display:flex;align-items:center;justify-content:center;gap:16px;border-bottom:1px solid #ddd}.stars{background:#00b67a;color:#fff;padding:5px 8px;letter-spacing:2px}.shell{max-width:1000px;margin:auto}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0 26px;gap:0}.steps div{background:#124b7d;color:#fff;text-align:center;padding:9px;font-weight:800;border-right:2px solid #f7f8f8}.steps .active{background:#20df8a}.panel{padding:0 20px 50px;text-align:center}h1{font-size:32px;margin:20px 0;color:#124b7d}.lead{font-size:18px}.product-grid,.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:28px 0}.price-grid{grid-template-columns:repeat(3,1fr)}button{font:inherit;cursor:pointer}.product{background:#fff;border:2px solid #20df8a;border-radius:12px;padding:28px;box-shadow:0 4px 8px #0001;color:#124b7d}.icon{font-size:42px;color:#20df8a}.product h2{margin:10px 0}.selectors,.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left;margin:24px 0}.form-grid{grid-template-columns:repeat(2,1fr)}label{font-weight:700}select,input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #ccd4dc;border-radius:6px;background:#fff;font-size:16px}.price-card{background:#fff;border:2px solid #20df8a;border-radius:10px;padding:0 15px 20px;box-shadow:0 4px 8px #0002}.price-card>span{display:block;background:#20df8a;color:#111;padding:10px;border-radius:0 0 10px 10px;font-weight:800}.price-card h3{font-size:38px;margin:22px 0 4px}.price-card small{font-weight:800}.price-card button,.primary{display:inline-block;margin-top:18px;border:0;border-radius:6px;padding:13px 26px;background:#20df8a;color:#073c60;font-weight:800}.secondary{border:1px solid #124b7d;background:white;color:#124b7d;border-radius:6px;padding:13px 26px;font-weight:800}.actions{display:flex;justify-content:space-between;margin-top:28px}.legal{font-size:16px;line-height:1.6}.links a{color:#124b7d}.quoteBox{max-width:600px;margin:30px auto;background:#fff;border:2px solid #20df8a;border-radius:10px;padding:30px}.quoteBox strong{display:block;font-size:30px;margin:10px}.hidden{display:none!important}footer{text-align:center;padding:30px;background:#124b7d;color:#fff}.admin-link{position:fixed;right:15px;bottom:15px}@media(max-width:760px){.trust{font-size:12px;gap:7px}.steps div{font-size:12px}.selectors,.form-grid,.price-grid,.product-grid{grid-template-columns:1fr}.brand{font-size:22px}.top{height:80px}}

.plans{display:flex;flex-direction:column;gap:30px;margin:28px 0;text-align:left}
.plan{background:#fff;border:1px solid #cfd7df;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0001}
.plan-title{width:65%;margin:-1px auto 0;background:#124b7d;color:#fff;text-align:center;border-radius:0 0 28px 28px;font-size:28px;font-weight:800;padding:7px}
.plan-body{display:grid;grid-template-columns:36% 64%;padding:28px 34px}
.plan-price{padding:5px 18px;text-align:left}
.plan-price small,.covered h4{color:#7b8791;font-weight:800}
.plan-price h3{font-size:42px;margin:90px 0 12px;color:#124b7d}
.plan-button{font-size:17px}
.covered{padding:5px 0 0 25px}
.coverage-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.coverage-cols ul{list-style:none;margin:8px 0;padding:0}
.coverage-cols li{position:relative;padding:8px 8px 8px 32px;line-height:1.35}
.coverage-cols li:before{content:"✓";position:absolute;left:0;top:6px;background:#20df8a;color:#fff;border-radius:50%;width:21px;height:21px;text-align:center;font-weight:900}
.coverage-cols li.excluded{color:#87939c}
.coverage-cols li.excluded:before{content:"×";background:#e4eaee;color:#fff}
.doclinks{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-size:13px}
.doclinks a{color:#1459e8}
.reassurance{margin:25px 0;padding:20px;border-left:5px solid #20df8a;background:#fff;text-align:left}
.reassurance h3{margin:10px 0;color:#124b7d}
@media(max-width:760px){.plan-body{grid-template-columns:1fr}.plan-price h3{margin:25px 0 12px}.covered{padding:20px 0 0}.coverage-cols{grid-template-columns:1fr}.doclinks{flex-direction:column}.plan-title{width:80%}}

.backlink{text-align:left;font-size:16px;margin:18px 0 25px;color:#124b7d;cursor:pointer}.quoteIntro{font-size:18px;line-height:1.55;margin:18px auto 20px}.payment-choice{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px auto}.pay-option{min-width:192px;min-height:105px;background:#fff;border:1px solid #e0e0e0;border-radius:9px;box-shadow:0 3px 9px #0002;color:#124b7d;padding:18px 20px;display:flex;flex-direction:column;align-items:center;gap:4px}.pay-option span{font-size:17px}.pay-option strong{font-size:27px}.pay-option small{font-size:13px}.pay-option.selected{border:3px solid #20df8a;background:#e5fff3}.or{width:48px;height:48px;border-radius:50%;background:#124b7d;color:#fff;display:grid;place-items:center;font-weight:900}.tax-note{font-size:13px;color:#65727c}.excess-title{font-size:18px;margin:22px 0 12px}.excesses{display:flex;justify-content:center;gap:16px}.excesses button{padding:16px 24px;border:0;background:#fff;border-radius:7px;box-shadow:0 2px 8px #0002;color:#124b7d;font-weight:800;font-size:16px}.excesses button.selected{border:3px solid #20df8a;padding:13px 21px;background:#e5fff3}.continue-quote{margin-top:30px}@media(max-width:760px){.payment-choice{flex-direction:column}.or{width:40px;height:40px}.pay-option{width:100%}}

.content-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;text-align:left}
.details-main{background:#fff;padding:4px 36px 28px}
.details-side{background:#fff;border-left:1px solid #eee;padding:0 18px 20px;color:#124b7d}
.details-side h3{border-top:1px solid #e6e6e6;padding:13px 0 7px;margin:0;font-size:18px}
.section-heading{font-size:20px;color:#124b7d;display:flex;align-items:center;gap:10px;margin:14px 0 25px}
.round-icon{width:29px;height:29px;background:#0878dd;color:#fff;border-radius:50%;display:inline-grid;place-items:center;font-size:18px}
.detail-form{display:grid;grid-template-columns:210px 1fr;gap:12px 18px;align-items:center}
.detail-form label{display:contents;font-size:14px;color:#526b82}
.detail-form input,.detail-form select{margin:0;padding:10px}
.choice-row{display:grid;grid-template-columns:215px 75px 75px;gap:12px;align-items:center;margin:12px 0;font-size:14px;color:#526b82}
.check{display:flex!important;align-items:center;gap:7px;color:#124b7d!important;cursor:pointer}
.check input{display:none}.check i{width:29px;height:29px;border:2px solid #527483;border-radius:4px;background:#fff;display:inline-grid;place-items:center}.check input:checked+i{border-color:#20df8a}.check input:checked+i:after{content:"✓";color:#20df8a;font-size:26px;font-weight:900}
.hint{font-size:12px;line-height:1.5;color:#607789;margin:8px 0 25px}
.details-main hr{border:0;border-top:5px solid #e2e2e2;margin:50px 0}
.marketing{display:flex;gap:60px;margin:20px 0}
.marketing .check{font-size:15px}
.continue-details{display:block;margin:18px auto 0}
.award{background:#fafafa;text-align:center;padding:18px 5px;margin-bottom:12px;font-size:20px;letter-spacing:2px}.award b{font-size:32px;color:#4b9bc2}.award strong{font-size:11px;letter-spacing:1px}.award span{display:block;background:#4b9bc2;color:#fff;font-weight:800;padding:2px}.award small{display:block;font-size:12px;letter-spacing:0;margin-top:8px}.trust-mini{font-size:20px;color:#00b67a}.trust-mini b{color:#111;font-size:13px}
@media(max-width:850px){.content-with-sidebar{grid-template-columns:1fr}.details-side{display:none}.detail-form{grid-template-columns:1fr}.detail-form label{display:block}.detail-form input,.detail-form select{margin-top:6px}.choice-row{grid-template-columns:1fr 70px 70px}.marketing{gap:18px;flex-wrap:wrap}}

.address-main{min-height:520px}.postcode-row{display:grid;grid-template-columns:1fr 168px;gap:10px;margin:8px 0 10px}.postcode-row input{padding:10px}.address-form{margin-top:4px}.address-form input{width:100%;box-sizing:border-box}.address-main .continue-details{margin-top:15px}@media(max-width:850px){.postcode-row{grid-template-columns:1fr}.address-main{min-height:auto}}

.gadget-main{min-height:460px}.gadget-form{margin-top:4px}.date-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.date-selects select{width:100%;box-sizing:border-box}.imei-label{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;color:#526b82;font-size:14px}.imei-label a{color:#0878dd;text-decoration:underline;font-size:14px}.full-input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccd5dc;border-radius:4px;font-size:15px}.gadget-main .continue-details{margin-top:15px}@media(max-width:850px){.imei-label{flex-direction:column;align-items:flex-start;gap:8px}}

.imei-actions{display:grid;grid-template-columns:1fr 120px;gap:10px;align-items:center}.imei-status{min-height:22px;margin-top:8px;font-size:13px;font-weight:700}.imei-status.checking{color:#527483}.imei-status.ok{color:#0b9b5a}.imei-status.error{color:#c53030}@media(max-width:850px){.imei-actions{grid-template-columns:1fr}}
.checkout-summary{max-width:720px;margin:25px auto 12px;background:#fff;border:1px solid #d9e1e7;border-radius:10px;text-align:left;box-shadow:0 3px 12px #0001}.checkout-summary>div{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid #edf0f2}.checkout-summary>div:last-child{border-bottom:0}.checkout-summary span{color:#65727c}.checkout-summary strong{color:#124b7d}.checkout-note{color:#607789}.checkout-button{font-size:17px}.stripe-note{margin:24px auto;color:#65727c;font-size:13px}.payment-shell{max-width:1100px}.payment-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;text-align:left;align-items:start}.payment-summary,.payment-card{background:#fff;border:1px solid #dfe5e9;border-radius:12px;box-shadow:0 4px 14px #0001;padding:28px}.payment-summary h1,.payment-card h1{font-size:27px;margin:0 0 6px;text-align:left}.muted,.small{color:#71808c;font-size:13px}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #edf0f2;font-size:14px}.summary-row b{color:#124b7d;text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:22px 0 10px;font-size:18px}.summary-total strong{font-size:27px;color:#124b7d}.stripe-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:#687681;font-size:13px}.stripe-badge{font-size:25px;font-weight:900;letter-spacing:-1px;color:#635bff}.demo-card{border:1px solid #dfe4e8;border-radius:9px;padding:18px;background:#fafafa}.demo-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:14px}.demo-top span{font-size:10px;background:#e7ebee;padding:5px 7px;border-radius:4px}.demo-card input{margin:0 0 10px}.demo-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-error{padding:14px;background:#fff0f0;color:#a51f1f;border-radius:6px;margin-bottom:15px}.payment-card #checkout{min-height:260px}@media(max-width:850px){.payment-layout{grid-template-columns:1fr}.payment-summary{order:2}.payment-card{order:1}}
/* v16 responsive form hardening */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
button,input,select,textarea{font:inherit;max-width:100%}
.panel{width:100%}
.detail-form{width:100%}
.detail-form input,.detail-form select,.postcode-row input,.full-input{min-width:0;width:100%}
.choice-row{width:100%}
.selection-live{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:850px;margin:0 auto 18px;padding:14px 18px;background:#f3fbf7;border:1px solid #bcebd5;border-radius:8px;color:#124b7d}
.selection-live span{font-size:13px;color:#607789}.selection-live strong{font-size:18px}
@media(max-width:850px){.shell{padding:0 10px}.steps{grid-template-columns:repeat(4,1fr)}.steps div{padding:11px 4px;font-size:11px}.content-with-sidebar{grid-template-columns:1fr}.details-main{padding:4px 18px 24px}.detail-form{grid-template-columns:1fr;gap:8px}.detail-form label{display:block}.detail-form label input,.detail-form label select{display:block;margin-top:6px}.choice-row{grid-template-columns:1fr 80px 80px;gap:8px}.marketing{gap:18px}.postcode-row{grid-template-columns:1fr}.payment-choice{flex-direction:column}.pay-option{width:100%}.payment-layout{grid-template-columns:1fr}.selection-live{flex-direction:column;align-items:flex-start}.plan-body{grid-template-columns:1fr;padding:20px}.covered{padding:18px 0 0}.coverage-cols{grid-template-columns:1fr}.doclinks{flex-direction:column}.plans{gap:18px}}
@media(max-width:520px){.top{height:auto;padding:16px}.brand{font-size:18px}.trust{flex-wrap:wrap}.steps div{font-size:10px}.details-main{padding-left:12px;padding-right:12px}.choice-row{grid-template-columns:1fr 68px 68px;font-size:12px}.check i{width:25px;height:25px}.primary,.secondary{width:100%;text-align:center}.actions{flex-direction:column;gap:10px}.payment-choice{gap:10px}.excesses{flex-wrap:wrap}.excesses button{flex:1;min-width:100px}.selection-live strong{font-size:16px}}

/* v17 button reliability */
.primary,.secondary,.product,.plan-button,.pay-option,.excesses button{position:relative;z-index:2;pointer-events:auto}
.continue-details,.continue-quote{min-height:44px;touch-action:manipulation}
.formMessage{max-width:760px}
.custom-fields{margin:14px 0}.custom-field{margin:12px 0}.custom-field label{display:block;font-weight:700;color:#174f7e;margin-bottom:6px}.custom-field input,.custom-field select{width:100%;box-sizing:border-box}.selection-price{font-weight:800;color:#126b4b;font-size:18px;margin:12px 0 2px}.selection-rule{font-size:12px;color:#667085;margin-bottom:10px}.imei-status.error{background:#fff4f4;border:1px solid #e0a4a4;color:#9b1c1c;padding:8px}.imei-status.ok{background:#effaf5;border:1px solid #b9e8d1;color:#126b4b;padding:8px}
