/* Service-specific controls inherit the existing quiet palette and shared motion */
.card-service-fields > .mode-fieldset { margin-top:0; padding-top:0; border-top:0; }
.term-fieldset { margin:23px 0 0; padding:0; border:0; min-width:0; }
.term-fieldset legend { font-size:14px; font-weight:600; margin-bottom:13px; }
.term-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.term-card { position:relative; padding-top:32px; align-items:center; }
.term-card strong { font-size:13px; }
.term-badge { position:absolute; top:8px; left:13px; font-size:10px; color:var(--muted); }
.term-rule { padding:13px 15px; margin:12px 0 0; border-radius:8px; background:#f5f9fa; color:var(--text-2); font-size:12px; line-height:1.9; white-space:pre-line; }
.selection-notice { min-height:0; font-size:12px; color:var(--primary); margin:10px 0; line-height:1.7; }
.selection-notice:empty { margin:0; }
.card-service-fields .product-fieldset { margin-top:26px; border-top:1px solid #e8eef1; padding-top:23px; }
.plan-card:disabled, .plan-card:disabled:hover { opacity:1; background:#f3f5f6; border-color:#e5e9ed; box-shadow:none; color:#9ba7ad; transform:none; cursor:not-allowed; }
.plan-card:disabled .cny { color:#a4adb4; }
.plan-card:disabled .check { display:none; }
.summary-details > [hidden] { display:none; }
.summary-details dd { overflow-wrap:anywhere; }
#existingCardHint { margin-top:8px; line-height:1.9; }
#summaryFootnote { white-space:pre-line; }
.checkout-terms { margin:18px 0 16px; padding:17px; border:1px solid #d6e4e7; border-radius:13px; background:#f7fbfb; }
.checkout-terms-heading { display:flex; align-items:flex-start; gap:10px; }
.checkout-terms-heading > span { flex:none; margin-top:1px; padding:4px 7px; border-radius:5px; background:#dceff0; color:#155160; font-size:10px; font-weight:800; letter-spacing:.06em; }
.checkout-terms-heading h4 { margin:0; font-size:13px; color:var(--text); }
.checkout-terms-heading p { margin:4px 0 0; color:var(--muted); font-size:10px; }
.checkout-terms-summary { margin:13px 0; padding:12px 13px; border-radius:8px; background:#fff; color:var(--text-2); font-size:11px; line-height:1.8; }
.terms-consent { position:relative; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:flex-start; gap:9px; color:var(--text-2); font-size:11px; line-height:1.7; cursor:pointer; }
.terms-consent input { position:absolute; z-index:1; width:18px; height:18px; margin:1px 0 0; opacity:0; cursor:pointer; }
.terms-consent-control { display:grid; place-items:center; width:18px; height:18px; margin-top:1px; border:1px solid #99afb6; border-radius:5px; background:#fff; transition:background .2s,border-color .2s,box-shadow .2s; }
.terms-consent input:checked + .terms-consent-control { border-color:var(--primary); background:var(--primary); }
.terms-consent input:checked + .terms-consent-control::after { content:'\2713'; color:#fff; font-size:12px; font-weight:800; line-height:1; }
.terms-consent input:focus-visible + .terms-consent-control { box-shadow:0 0 0 3px rgba(18,75,91,.17); }
.terms-consent input:disabled + .terms-consent-control { background:#edf1f2; border-color:#d7dfe1; }
.terms-consent a { color:var(--primary); font-weight:700; text-underline-offset:3px; }
@media(max-width:1000px) { .term-grid { grid-template-columns:1fr; } }
@media(max-width:760px) { .term-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:520px) { .term-grid { gap:9px; } .term-card { padding-inline:10px; gap:7px; } .term-card strong { font-size:12px; } .term-card small { font-size:10px; } .term-badge { left:10px; } }
@media(max-width:350px) { .term-grid { grid-template-columns:1fr; } }
/* Explicit country controls use the existing subdued teal treatment */
.country-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
.country-option { display:flex; align-items:center; justify-content:center; gap:8px; padding:16px 10px; border:1px solid #adc1c8; border-radius:14px; color:#244655; background:#f7fbfc; cursor:pointer; transition:background .3s,border-color .3s,box-shadow .3s; }
.country-option:has(input:checked) { background:#e4f2f2; border-color:#216071; box-shadow:0 0 0 1px #216071; }
.country-option input { accent-color:#216071; width:16px; height:16px; margin:0; }
.country-option:focus-within { outline:3px solid #a5d8df; outline-offset:3px; }
@media(max-width:480px) { .country-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Read the terms at a normal text size before making a decision */
.checkout-terms-summary { font-size:13px; line-height:1.85; padding:12px 0; background:transparent; border-block:1px solid #d6e4e7; border-radius:0; }
.checkout-terms-heading h4 { font-size:14px; }
.checkout-terms-heading p { font-size:11px; }
.terms-consent { min-height:44px; align-items:start; font-size:13px; line-height:1.8; }
.terms-consent a { text-decoration:underline; }
#retryTerms { min-height:40px; margin-top:4px; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.term-badge { font-size:11px; color:var(--text-2); }
.term-rule { font-size:13px; color:#395967; border-left:2px solid #8ebac0; border-radius:0 7px 7px 0; }
.country-option { min-height:54px; border-radius:8px; }
.country-option:has(input:checked) { color:#124b5b; }
