/* Order pages: configure, cart, checkout, payment and result pages (layouts/checkout.tpl). Needs fs-base.css.
   Layout: main column + order summary "rail". The rail is a fixed brand-coloured panel on wide screens (default),
   a plain card next to the content (.checkout-layout-card) or a block under it (.checkout-layout-stack). */

body.checkout-shell{background:var(--fs-page)}
body.checkout-shell:not(.checkout-shell-centered){--rail-w:25rem}
@media (min-width:1200px){body.checkout-shell:not(.checkout-shell-centered){--rail-w:29rem}}
@media (min-width:1400px){body.checkout-shell:not(.checkout-shell-centered){--rail-w:32rem}}

/* ---------- small shared pieces */
.fs-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--fs-brand-text)}
.fs-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:12px;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:1.2rem}
.fs-ico.is-logo{padding:.35rem;background:#fff;box-shadow:inset 0 0 0 1px var(--fs-line);overflow:hidden}
.fs-ico.is-logo img{width:100%;height:100%;object-fit:contain}
.fs-ico-sm{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:8px;background:var(--fs-soft);color:var(--fs-brand-text);font-size:.95rem}
.fs-ico-sm img{width:1.25rem;height:1.25rem;object-fit:contain}
.fs-opt-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.1rem;height:2.1rem;border-radius:10px;background:var(--fs-soft);color:var(--fs-brand-text);font-size:1rem}
.fs-opt-ico img{width:1.3rem;height:1.3rem;object-fit:contain}
.fs-price{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:99px;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs-skeleton{display:inline-block;width:100%;height:1rem;border-radius:6px;background:linear-gradient(90deg,var(--fs-line) 25%,var(--fs-soft) 50%,var(--fs-line) 75%);background-size:200% 100%;animation:fs-skel 1.4s ease-in-out infinite}
@keyframes fs-skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.fs-specs{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.6rem 0 0;padding:0}
.fs-specs li{padding:.22rem .7rem;border-radius:99px;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:.78rem;font-weight:700;line-height:1.4}

/* ---------- header with the three steps */
.checkout-shell-header{position:sticky;top:0;z-index:1030;padding-block:.7rem;background:color-mix(in srgb,var(--fs-surface) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--fs-line)}
.checkout-shell-bar{display:flex;align-items:center;gap:1rem;min-height:2.75rem}
.checkout-shell-zone{flex:1 1 0;display:flex;align-items:center;min-width:0}
.checkout-shell-zone-center{flex:0 0 auto;justify-content:center}
.checkout-shell-zone-end{justify-content:flex-end;gap:.75rem}
.fs-co-brand{display:inline-flex;align-items:center;text-decoration:none;color:var(--fs-ink);font-weight:800;font-size:1.2rem}
.fs-co-brand img{display:block;height:2.4rem;width:auto;max-width:9.5rem;object-fit:contain}
.fs-logo-dark,[data-bs-theme=dark] .fs-logo-light{display:none!important}
[data-bs-theme=dark] .fs-logo-dark{display:block!important}
.fs-co-secure{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:var(--fs-muted);white-space:nowrap}
.fs-co-secure i{color:var(--fs-brand-text)}
.checkout-shell-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;text-decoration:none;color:var(--fs-muted)}
.checkout-shell-back:hover{color:var(--fs-brand-text)}
.checkout-steps{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap}
.checkout-step{display:inline-flex;align-items:center;gap:.5rem;min-width:0;color:var(--fs-muted);font-size:.85rem;font-weight:700}
.checkout-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid var(--fs-line);background:var(--fs-surface);font-size:.8rem;font-variant-numeric:tabular-nums;transition:background-color .2s,border-color .2s,color .2s}
.checkout-step.is-active{color:var(--fs-ink)}
.checkout-step.is-active .checkout-step-num{background:var(--fs-brand);border-color:var(--fs-brand);color:#fff;box-shadow:0 0 0 4px var(--fs-brand-tint)}
.checkout-step.is-done{color:var(--fs-brand-text)}
.checkout-step.is-done .checkout-step-num{background:var(--fs-brand-tint);border-color:transparent;color:var(--fs-brand-text)}
.checkout-step-sep{width:1.75rem;height:2px;border-radius:2px;background:var(--fs-line)}
@media (max-width:575.98px){.checkout-step-sep{width:.75rem}.checkout-step{font-size:.78rem}}
@media (max-width:991.98px){
  .checkout-shell-bar{flex-wrap:wrap;row-gap:.6rem;min-height:0}
  .checkout-shell-zone-center{order:3;flex-basis:100%;border-top:1px solid var(--fs-line);padding-top:.6rem}
}

/* ---------- page frame: main column and the summary rail */
body.checkout-shell-centered>main{display:flex;flex-direction:column}
body.checkout-shell-centered>main>.container{margin-block:auto}
.checkout-split{display:flex;flex-direction:column}
.checkout-split-main{flex:2 1 0;min-width:0;background:var(--fs-page)}
.checkout-split-main-inner{max-width:60rem;margin-inline:auto;padding:2rem 1.25rem 2.5rem}
.fs-co-title{margin:.35rem 0 0;font-size:clamp(1.6rem,1.3rem + 1vw,2rem);font-weight:800;letter-spacing:-.025em}
.fs-co-lead{margin:.4rem 0 0;color:var(--fs-muted)}
@media (min-width:992px){
  .checkout-split{flex-direction:row;align-items:stretch;flex:1 0 auto}
  body.checkout-shell>main{display:flex;flex-direction:column}
  body.checkout-shell>main>form,body.checkout-shell>main>[data-cart-page],body.checkout-shell>main>[data-cart-page]>[data-cart-filled],body.checkout-shell>main>[data-cart-page]>[data-cart-empty]{flex:1 0 auto;display:flex;flex-direction:column}
  [data-cart-empty] .checkout-split-main,[data-cart-empty] .checkout-split-main-inner{display:flex;flex-direction:column}
  [data-cart-empty] .checkout-split-main-inner{flex:1 0 auto}
  [data-cart-empty] .checkout-split-main-inner>.fs-panel{margin-block:auto}
  .checkout-split-main-inner{max-width:none;margin-inline:0;padding-inline:0}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-split-main{padding-inline:calc((100% - 960px)/2 + .75rem);margin-right:var(--rail-w)}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-zone-end{flex:0 0 auto}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{max-width:none;margin-inline:0;padding-left:calc((100% - 960px)/2 + .75rem);padding-right:calc(var(--rail-w) + (100% - 960px)/2 + .75rem)}
}
@media (min-width:1200px){
  body.checkout-shell:not(.checkout-shell-centered) .checkout-split-main{padding-inline:calc((100% - 1140px)/2 + .75rem)}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{padding-left:calc((100% - 1140px)/2 + .75rem);padding-right:calc(var(--rail-w) + (100% - 1140px)/2 + .75rem)}
}
@media (min-width:1400px){
  body.checkout-shell:not(.checkout-shell-centered) .checkout-split-main{padding-inline:calc((100% - 1320px)/2 + .75rem)}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{padding-left:calc((100% - 1320px)/2 + .75rem);padding-right:calc(var(--rail-w) + (100% - 1320px)/2 + .75rem)}
}

/* the rail: brand-coloured panel, white text */
.checkout-split-aside{
  --rail-fg:#fff;--rail-fg-muted:rgba(255,255,255,.78);--rail-fg-faint:rgba(255,255,255,.55);--rail-line:rgba(255,255,255,.22);--rail-line-strong:rgba(255,255,255,.4);--rail-fill:rgba(255,255,255,.12);--rail-fill-strong:rgba(255,255,255,.22);
  --bs-secondary-color:var(--rail-fg-muted);--bs-success-text-emphasis:#fff;--bs-success-bg-subtle:var(--rail-fill-strong);--bs-success-border-subtle:var(--rail-line-strong);
  color:var(--rail-fg);
  background:radial-gradient(110% 80% at 100% 0%,rgba(255,255,255,.14) 0%,transparent 58%),radial-gradient(120% 85% at 0% 100%,rgba(0,0,0,.2) 0%,transparent 55%),linear-gradient(155deg,var(--fs-brand) 0%,color-mix(in srgb,var(--fs-brand) 55%,#46ce95) 135%);
  border-top:1px solid var(--rail-line)
}
@media (min-width:992px){
  body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside{position:fixed;top:0;bottom:0;right:0;width:var(--rail-w);z-index:1035;display:flex;flex-direction:column;overflow:hidden;border-top:0;border-left:1px solid rgba(255,255,255,.14);padding-block:4.5rem 2rem}
  body.checkout-shell.modal-open:not(.checkout-shell-centered) .checkout-split-aside{right:var(--wstyle-scrollbar-w,0px)}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside-inner{width:100%;max-width:27rem;margin:auto;padding:0 2.25rem;max-height:100%;overflow-y:auto;scrollbar-width:none}
  body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside-inner::-webkit-scrollbar{display:none}
}
.checkout-split-aside-inner{padding:2rem 1.25rem}
.checkout-split-aside .order-summary{position:static;background:transparent;border:0;box-shadow:none}
.checkout-split-aside .order-summary>.fs-rail-body{padding:0}
.checkout-split-aside :is(h1,h2,h3,h4,h5,h6),.checkout-split-aside .summary-label,.checkout-split-aside .summary-value,.checkout-split-aside .order-summary-total{color:var(--rail-fg)}
.checkout-split-aside .summary-sub{color:var(--rail-fg-muted)}
.checkout-split-aside .order-summary-line:not(.order-summary-total) .summary-label::after,.checkout-split-aside .order-summary-line:not(.order-summary-total) .summary-sub::after{border-bottom-color:var(--rail-line-strong)}
.checkout-split-aside .summary-group-toggle,.checkout-split-aside .rail-addons-toggle{color:var(--rail-fg-muted)}
.checkout-split-aside .summary-group-toggle:hover,.checkout-split-aside .rail-addons-toggle:hover{color:var(--rail-fg)}
.checkout-split-aside .rail-addon .summary-sub,.checkout-split-aside .rail-addon .summary-value{color:var(--rail-fg-muted)}
.checkout-split-aside a:not(.btn),.checkout-split-aside a:not(.btn):hover{color:var(--rail-fg)}
.checkout-split-aside .cart-auto-tag{background:var(--rail-fill-strong);color:var(--rail-fg)}
.checkout-split-aside hr{border-color:var(--rail-line-strong);opacity:1}
.checkout-split-aside .text-body-secondary{color:var(--rail-fg-muted)!important}
.checkout-split-aside .form-control{background:var(--rail-fill);border-color:var(--rail-line);color:var(--rail-fg)}
.checkout-split-aside .form-control::placeholder{color:var(--rail-fg-faint)}
.checkout-split-aside .form-control:focus{background:var(--rail-fill-strong);border-color:#fff;color:var(--rail-fg);box-shadow:0 0 0 .22rem rgba(255,255,255,.18)}
.checkout-split-aside .invalid-feedback{color:#ffd2d2}
.checkout-split-aside .btn-primary{--bs-btn-bg:#fff;--bs-btn-border-color:#fff;--bs-btn-color:var(--fs-brand);--bs-btn-hover-bg:color-mix(in srgb,#fff 92%,var(--fs-brand));--bs-btn-hover-border-color:color-mix(in srgb,#fff 92%,var(--fs-brand));--bs-btn-hover-color:var(--fs-brand);--bs-btn-active-bg:color-mix(in srgb,#fff 84%,var(--fs-brand));--bs-btn-active-border-color:color-mix(in srgb,#fff 84%,var(--fs-brand));--bs-btn-active-color:var(--fs-brand);--bs-btn-disabled-bg:var(--rail-fill-strong);--bs-btn-disabled-border-color:var(--rail-line);--bs-btn-disabled-color:var(--rail-fg-muted);font-weight:800;box-shadow:0 10px 22px -12px rgba(0,0,0,.45)}
.checkout-split-aside .btn-primary:hover{transform:translateY(-1px)}
.checkout-split-aside .btn-tint,.checkout-split-aside .btn-outline{--bs-btn-bg:var(--rail-fill);--bs-btn-border-color:var(--rail-line);--bs-btn-color:var(--rail-fg);--bs-btn-hover-bg:var(--rail-fill-strong);--bs-btn-hover-border-color:var(--rail-line-strong);--bs-btn-hover-color:var(--rail-fg);--bs-btn-active-bg:var(--rail-fill-strong);--bs-btn-active-border-color:var(--rail-line-strong);--bs-btn-active-color:var(--rail-fg)}

/* rail as a card next to the content / as a block under it (theme setting "checkout_sidebar") */
:is(.checkout-layout-card,.checkout-layout-stack) .checkout-split-aside{--rail-fg:var(--fs-text);--rail-fg-muted:var(--fs-muted);--rail-fg-faint:var(--fs-muted);--rail-line:var(--fs-line);--rail-line-strong:var(--fs-line);--rail-fill:var(--fs-soft);--rail-fill-strong:var(--fs-brand-tint);--bs-secondary-color:var(--fs-muted);--bs-success-text-emphasis:var(--fs-brand-text);--bs-success-bg-subtle:var(--fs-brand-tint);--bs-success-border-subtle:var(--fs-brand-tint-2);color:var(--fs-text);background:transparent;border-top:0}
:is(.checkout-layout-card,.checkout-layout-stack) .checkout-split-aside .order-summary{background:var(--fs-surface);border:1px solid var(--fs-line);border-radius:var(--fs-r-lg);box-shadow:var(--fs-shadow-sm)}
:is(.checkout-layout-card,.checkout-layout-stack) .checkout-split-aside .order-summary>.fs-rail-body{padding:1.5rem}
:is(.checkout-layout-card,.checkout-layout-stack) .checkout-split-aside .btn-primary{--bs-btn-bg:var(--fs-brand);--bs-btn-border-color:var(--fs-brand);--bs-btn-color:#fff;--bs-btn-hover-bg:var(--fs-brand-hover);--bs-btn-hover-border-color:var(--fs-brand-hover);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--fs-brand-press);--bs-btn-active-color:#fff;--bs-btn-disabled-bg:var(--fs-brand);--bs-btn-disabled-color:#fff}
:is(.checkout-layout-card,.checkout-layout-stack) .checkout-split-aside .text-body-secondary{color:var(--fs-muted)!important}
@media (min-width:992px){
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered){--rail-w:24rem}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-split-main{margin-right:0;padding-right:1.5rem}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside{position:sticky;top:5.5rem;bottom:auto;right:auto;width:auto;flex:0 0 var(--rail-w);z-index:auto;display:block;overflow:visible;border-left:0;padding:0;align-self:flex-start;margin-right:calc((100% - 960px)/2 + .75rem);margin-top:2rem}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside-inner{width:auto;max-width:none;margin:0;padding:0;max-height:none;overflow:visible}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{padding-right:calc((100% - 960px)/2 + .75rem)}
  .checkout-layout-stack body.checkout-shell:not(.checkout-shell-centered) .checkout-split{flex-direction:column;align-items:stretch}
  .checkout-layout-stack body.checkout-shell:not(.checkout-shell-centered) .checkout-split-main{margin-right:0;padding-inline:calc((100% - 50rem)/2 + .75rem)}
  .checkout-layout-stack body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside{position:static;width:auto;flex:0 0 auto;z-index:auto;display:block;overflow:visible;border-left:0;padding:0 calc((100% - 50rem)/2 + .75rem) 2.5rem}
  .checkout-layout-stack body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside-inner{width:auto;max-width:none;margin:0;padding:0;max-height:none;overflow:visible}
  .checkout-layout-stack body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  .checkout-layout-stack body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{max-width:none;margin-inline:0;padding-inline:calc((100% - 50rem)/2 + .75rem)}
}
@media (min-width:1200px){
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered){--rail-w:26rem}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside{margin-right:calc((100% - 1140px)/2 + .75rem)}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{padding-right:calc((100% - 1140px)/2 + .75rem)}
}
@media (min-width:1400px){
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered){--rail-w:28rem}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-split-aside{margin-right:calc((100% - 1320px)/2 + .75rem)}
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-header>.container,
  .checkout-layout-card body.checkout-shell:not(.checkout-shell-centered) .checkout-shell-footer>.container{padding-right:calc((100% - 1320px)/2 + .75rem)}
}
.checkout-actionbar{display:none}
.checkout-layout-stack .checkout-actionbar{display:block;position:fixed;inset-inline:0;bottom:0;z-index:1031;background:var(--fs-surface);border-top:1px solid var(--fs-line);box-shadow:0 -6px 18px rgba(0,0,0,.06);padding-block:.75rem}
.checkout-actionbar-inner{display:flex;align-items:center;gap:1rem;max-width:50rem;margin-inline:auto;padding-inline:1.25rem}
.checkout-actionbar-total{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.checkout-actionbar-label{font-size:.75rem;color:var(--fs-muted)}
.checkout-actionbar-value{font-size:1.1rem;font-weight:800;color:var(--fs-ink)}
.checkout-actionbar-cta{margin-left:auto;flex-shrink:0}
.checkout-layout-stack body.checkout-shell{padding-bottom:4rem}

/* ---------- footer */
.checkout-shell-footer{background:var(--fs-surface);border-top:1px solid var(--fs-line)}
.checkout-shell-footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding-block:1rem;font-size:.75rem;color:var(--fs-muted)}
.checkout-shell-footer-text{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}
.checkout-shell-legal{display:inline-flex;flex-wrap:wrap;gap:.25rem 1rem}
.checkout-shell-legal a{color:var(--fs-muted);text-decoration:none}
.checkout-shell-legal a:hover{color:var(--fs-brand-text)}
.checkout-shell-footer-mark{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;margin-left:auto}
.checkout-shell-pay{display:inline-flex;align-items:center;gap:.5rem;font-size:1.3rem;color:var(--fs-muted)}
@media (max-width:767.98px){.checkout-shell-footer-mark{align-items:flex-start;margin-left:0}}

/* ---------- section panels */
.fs-panel{background:var(--fs-surface);border:1px solid var(--fs-line);border-radius:var(--fs-r-lg);box-shadow:var(--fs-shadow-sm)}
.fs-panel-body{padding:1.5rem}
@media (max-width:575.98px){.fs-panel-body{padding:1.15rem}}
.fs-panel-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--fs-line)}
.fs-panel-head h2{margin:0;font-size:1rem;font-weight:800}
.fs-panel-head p{margin:.15rem 0 0;font-size:.8rem;color:var(--fs-muted)}
.fs-stack{display:flex;flex-direction:column;gap:1.25rem}

/* ---------- choice cards (billing cycle, add-on options, payment, saved cards) */
.option-card{position:relative;display:block;height:100%;margin:0;padding:1rem 1.1rem;cursor:pointer;background:var(--fs-surface);border:1px solid var(--fs-line);border-radius:var(--fs-r);transition:border-color .2s,box-shadow .2s,background-color .2s}
.option-card:hover{border-color:color-mix(in srgb,var(--fs-brand) 45%,var(--fs-line))}
.option-card .form-check-input{margin-top:0;flex-shrink:0}
.option-card .form-check.form-switch{display:flex;align-items:center;margin:0;padding-left:0;min-height:0}
.option-card .form-check.form-switch .form-check-input{float:none;margin-left:0}
.option-card-radio .form-check-input{position:absolute;opacity:0;pointer-events:none}
.option-card:has(.form-check-input:checked),.option-card.option-card-active{background:var(--fs-brand-tint);border-color:var(--fs-brand);box-shadow:0 0 0 1px var(--fs-brand)}
.option-card:has(.form-check-input:checked) .fs-price,.option-card.option-card-active .fs-price{background:var(--fs-surface)}
.option-card:has(.form-check-input:focus-visible){box-shadow:var(--fs-ring)}
.option-card:has(.form-check-input:disabled){opacity:.55;cursor:default}
.option-card:has(.form-check-input:disabled):hover{border-color:var(--fs-line)}
.option-card-sm{padding:.65rem .8rem}
.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));gap:.5rem}
.option-versions{margin-top:.75rem;padding:.75rem;border:1px dashed var(--fs-line);border-radius:var(--fs-r)}
.option-card-toggle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"media body control";align-items:center;column-gap:1rem}
.option-card-toggle>.fs-opt-ico{grid-area:media}
.option-card-toggle>.option-toggle-body{grid-area:body;min-width:0;overflow-wrap:anywhere}
.option-card-toggle>.form-check,.option-card-toggle>.form-check-input{grid-area:control}
.option-card-toggle:has(.fs-price){grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"media body price control"}
.option-card-toggle>.fs-price{grid-area:price;justify-self:start;max-width:8rem;overflow:hidden;text-overflow:ellipsis}
@media (max-width:575.98px){.option-card-toggle:has(.fs-price){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"media body control" "media price control";row-gap:.35rem}}

/* billing cycles */
.billing-cycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
@media (min-width:768px){.billing-cycle-grid:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:575.98px){.billing-cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.billing-cycle-card{padding:.8rem .9rem}
.billing-cycle-name{min-width:0;font-weight:700;color:var(--fs-ink);overflow-wrap:break-word}
.billing-cycle-figures{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.billing-cycle-price{font-weight:800;font-size:1.15rem;color:var(--fs-ink);font-variant-numeric:tabular-nums}
.billing-cycle-permonth{color:var(--fs-muted);font-variant-numeric:tabular-nums}
.billing-cycle-card .badge{font-size:.68rem}

/* segmented switch (domain options, account type) */
.fs-seg2{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.3rem;padding:.3rem;border-radius:var(--fs-r);background:var(--fs-soft);border:1px solid var(--fs-line)}
.fs-seg2 .btn{border:0;border-radius:var(--fs-r-sm);--bs-btn-padding-y:.5rem;--bs-btn-font-size:.88rem;color:var(--fs-muted);background:transparent}
.fs-seg2 .btn-check:checked+.btn{background:var(--fs-surface);color:var(--fs-brand-text);box-shadow:var(--fs-shadow-sm),0 0 0 1px var(--fs-brand-tint-2)}
.fs-seg2 .btn:hover{color:var(--fs-ink)}
@media (max-width:575.98px){.fs-seg2{grid-auto-flow:row;grid-template-columns:1fr 1fr}}

/* ---------- add-ons */
.addon-group:not(.d-none)~.addon-group:not(.d-none){margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--fs-line)}
.addon-slot>.wui-collapse-inner>.addon-group{border-top:0 solid var(--fs-line)}
.addon-slot.wui-show~.addon-slot>.wui-collapse-inner>.addon-group{margin-top:1.4rem;padding-top:1.4rem;border-top-width:1px}
[data-addons].addons-ready .addon-slot>.wui-collapse-inner>.addon-group{transition:margin-top var(--wui-collapse-duration) cubic-bezier(.22,1,.36,1),padding-top var(--wui-collapse-duration) cubic-bezier(.22,1,.36,1)}
.addon-group.addon-locked .option-card,.addon-group.addon-locked select,.addon-group.addon-locked .form-check-input,.addon-group.addon-locked .form-range,.addon-group.addon-locked .range-value,.addon-group.addon-locked .addon-pill{pointer-events:none}
.addon-seg{display:inline-flex;gap:.2rem;padding:.25rem;margin-bottom:1.2rem;max-width:100%;overflow-x:auto;scrollbar-width:none;background:var(--fs-brand-tint);border:1px solid var(--fs-brand-tint-2);border-radius:12px}
.addon-seg::-webkit-scrollbar{display:none}
.addon-seg-item{appearance:none;border:0;background:none;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:9px;font:inherit;font-size:.82rem;font-weight:700;color:var(--fs-muted);transition:background .18s,color .18s,box-shadow .18s}
.addon-seg-item:hover{color:var(--fs-ink)}
.addon-seg-item[aria-selected=true]{background:var(--fs-surface);color:var(--fs-ink);box-shadow:0 1px 3px rgba(var(--fs-brand-rgb),.18)}
.seg-n{font-weight:600;font-size:.74rem;font-variant-numeric:tabular-nums;opacity:.75}
.addon-row-head{cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:.75rem;align-items:center}
.addon-row-head>.fs-ico-sm{grid-column:1;grid-row:1/span 2;align-self:start;margin-top:.1rem}
.addon-row-title{grid-column:2;font-size:.88rem}
.addon-row-desc{grid-column:2}
a.addon-store-link,a.addon-store-link:visited{color:var(--fs-text)}
a.addon-store-link:hover{color:var(--fs-ink)}
.addon-row-price{grid-column:3;grid-row:1/span 2;align-self:center;text-align:right;white-space:nowrap;font-size:.76rem;color:var(--fs-muted)}
.addon-row-price b{display:block;color:var(--fs-ink);font-weight:800;font-variant-numeric:tabular-nums;font-size:.86rem}
.addon-row-price small:empty{display:none}
.addon-row-toggle{grid-column:4;grid-row:1/span 2;align-self:center;margin:0;padding:0;min-height:0}
.addon-row-toggle .form-check-input{width:2.6rem;height:1.45rem;margin:0;cursor:pointer}
.addon-row-toggle .form-check-input:disabled{opacity:.55}
.addon-row-head:not(:has(>.fs-ico-sm)){grid-template-columns:minmax(0,1fr) auto auto}
.addon-row-head:not(:has(>.fs-ico-sm))>.addon-row-title,.addon-row-head:not(:has(>.fs-ico-sm))>.addon-row-desc{grid-column:1}
.addon-row-head:not(:has(>.fs-ico-sm))>.addon-row-price{grid-column:2}
.addon-row-head:not(:has(>.fs-ico-sm))>.addon-row-toggle{grid-column:3}
.addon-row-badge{display:inline-flex;align-items:center;vertical-align:.1em;margin-left:.4rem;padding:.15rem .5rem;border-radius:99px;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--fs-brand-text);background:var(--fs-brand-tint)}
.addon-group:has(>.addon-row-head :is([data-addon-switch],[data-qty-enable]):checked) .addon-row-title{color:var(--fs-brand-text)}
.wui-collapse[data-addon-body],.wui-collapse[data-qty-field]{margin-inline:-2px}
.addon-body{padding:.75rem 2px 2px}
.addon-body .option-card,.addon-group .range-value,.addon-body .form-select{font-size:.86rem}
.addon-group:has(>.addon-row-head>.fs-ico-sm)>:is([data-addon-body],[data-qty-field]) .addon-body{padding-left:calc(2.35rem + 2px)}
.addon-body-line{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.addon-pills{position:relative;display:inline-flex;flex-wrap:wrap;gap:.35rem;padding:.25rem;border-radius:99px;background:var(--fs-soft);border:1px solid var(--fs-line)}
.addon-pill{position:relative;z-index:1;display:inline-flex;align-items:baseline;gap:.35rem;margin:0;padding:.35rem .85rem;border-radius:99px;font-size:.8rem;cursor:pointer;color:var(--fs-text)}
.addon-pill .form-check-input{position:absolute;opacity:0;pointer-events:none}
.addon-pill b{font-variant-numeric:tabular-nums}
.addon-pill small{color:var(--fs-brand-text);font-weight:700}
.addon-pill:has(.form-check-input:checked){color:var(--fs-brand-text)}
.addon-pill:has(.form-check-input:focus-visible){box-shadow:var(--fs-ring)}
.addon-pill-thumb{position:absolute;top:0;left:0;z-index:0;width:0;height:0;border-radius:99px;background:var(--fs-surface);box-shadow:0 0 0 1px var(--fs-brand),0 1px 2px rgba(0,0,0,.06);transition:transform .28s cubic-bezier(.22,1,.36,1),width .28s cubic-bezier(.22,1,.36,1),height .28s ease,opacity .2s;opacity:0;pointer-events:none}
.addon-pill-thumb.is-on{opacity:1}
@media (max-width:575.98px){
  .addon-row-head{grid-template-columns:auto minmax(0,1fr) max-content}
  .addon-row-price{grid-column:3;grid-row:1;align-self:start;justify-self:end}
  .addon-row-toggle{grid-column:3;grid-row:2;align-self:start;justify-self:end;margin-top:.4rem}
  .addon-pills{border-radius:var(--fs-r)}
  .addon-row-head:not(:has(>.fs-ico-sm)){grid-template-columns:minmax(0,1fr) max-content}
  .addon-row-head:not(:has(>.fs-ico-sm))>.addon-row-price{grid-column:2;grid-row:1}
  .addon-row-head:not(:has(>.fs-ico-sm))>.addon-row-toggle{grid-column:2;grid-row:2}
}
/* quantity slider */
.range-field-head{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .75rem;margin-bottom:.25rem}
.range-value{flex:0 0 auto;width:auto;min-width:2.9rem;text-align:center;padding:.15rem .6rem;border:1px solid transparent;border-radius:var(--fs-r-sm);background:var(--fs-brand-tint);color:var(--fs-brand-text);font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.range-value:focus{outline:0;border-color:var(--fs-brand);box-shadow:var(--fs-ring);background:var(--fs-surface);color:var(--fs-ink)}
.range-value::-webkit-outer-spin-button,.range-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.range-ticks{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.78rem;color:var(--fs-muted);font-variant-numeric:tabular-nums}
.form-range::-webkit-slider-thumb{background:var(--fs-brand)}
.form-range::-moz-range-thumb{background:var(--fs-brand)}
.range-fill::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--fs-brand) var(--range-fill,0%),var(--fs-line) var(--range-fill,0%))}
.range-fill::-moz-range-track{background:var(--fs-line)}
.range-fill::-moz-range-progress{height:.5rem;border-radius:1rem;background:var(--fs-brand)}
[dir=rtl] .range-fill::-webkit-slider-runnable-track{background:linear-gradient(to left,var(--fs-brand) var(--range-fill,0%),var(--fs-line) var(--range-fill,0%))}

/* ---------- domain on the configure page */
.domain-result{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--fs-line);border-radius:var(--fs-r);background:var(--fs-surface)}
.domain-result-available{border-color:color-mix(in srgb,#2f9e6e 45%,var(--fs-line));background:color-mix(in srgb,#2f9e6e 7%,var(--fs-surface))}
.domain-result-taken{border-color:color-mix(in srgb,#d14343 35%,var(--fs-line));background:color-mix(in srgb,#d14343 5%,var(--fs-surface))}
.domain-suggestions{border:1px solid var(--fs-line);border-radius:var(--fs-r);overflow:hidden}
.domain-suggestion{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--fs-surface);transition:background-color .2s}
.domain-suggestion+.domain-suggestion{border-top:1px solid var(--fs-line)}
.domain-suggestion:hover{background:var(--fs-brand-tint)}
.ns-list{border:1px solid var(--fs-line);border-radius:var(--fs-r);overflow:hidden}
.ns-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--fs-soft)}
.ns-item+.ns-item{border-top:1px solid var(--fs-line)}
.ns-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:99px;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:.65rem;font-weight:800;letter-spacing:.05em}
.ns-host{font-size:.85rem;color:var(--fs-text)}
.cfg-contact-pills{gap:.35rem}

/* hosting cross-sell (accordion of plan groups) */
.hosting-head{cursor:pointer}
.fs-panel[data-hosting-crosssell]{scroll-margin-top:8.25rem}
@media (min-width:992px){.fs-panel[data-hosting-crosssell]{scroll-margin-top:5.5rem}}
.fs-panel-head.hosting-head>.hosting-head-body{min-width:0;margin-right:auto}
.addon-row-head.hosting-head+[data-hosting-plans] .wcp-acc{margin-top:.75rem}
.wcp-acc{background:color-mix(in srgb,var(--fs-text) 4%,transparent);border-radius:var(--fs-r);padding:.35rem}
.wcp-acc-item{border-radius:9px;transition:background-color .18s,box-shadow .18s}
.wcp-acc-item+.wcp-acc-item{box-shadow:inset 0 1px 0 var(--fs-line)}
.wcp-acc-item:has(>.wui-collapse.wui-show){background:var(--fs-surface);box-shadow:var(--fs-shadow-sm),0 0 0 1px var(--fs-line)}
.wcp-acc-item:has(>.wui-collapse.wui-show)+.wcp-acc-item{box-shadow:none}
.wcp-acc:has(>.wcp-acc-item:only-child){background:none;padding:0}
.wcp-acc:has(>.wcp-acc-item:only-child)>.wcp-acc-item{box-shadow:0 0 0 1px var(--fs-line);border-radius:var(--fs-r)}
.wcp-acc-header{margin:0}
.wcp-acc-head{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;min-height:2.6rem;background:none;border:0;text-align:left;color:inherit;font:inherit;line-height:1.35;cursor:pointer;border-radius:9px}
.wcp-acc-item:not(:has(>.wui-collapse.wui-show))>.wcp-acc-header>.wcp-acc-head:hover{background:color-mix(in srgb,var(--fs-text) 6%,transparent)}
.wcp-acc-head:focus-visible{outline:0;box-shadow:var(--fs-ring)}
.wcp-acc-ico{flex:0 0 auto;display:grid;place-items:center;width:1.35rem;font-size:.95rem;color:var(--fs-muted)}
.wcp-acc-item:has(>.wui-collapse.wui-show) .wcp-acc-ico{color:var(--fs-brand-text)}
.wcp-acc-title{flex:1 1 auto;min-width:0;font-weight:700;font-size:.86rem;color:var(--fs-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wcp-acc-state{flex:0 0 auto;display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--fs-muted);white-space:nowrap}
.wcp-acc-state b{color:var(--fs-text);font-variant-numeric:tabular-nums}
.wcp-acc-caret{flex:0 0 auto;font-size:.7rem;color:var(--fs-muted);transition:rotate .22s cubic-bezier(.22,1,.36,1)}
.wcp-acc-head[aria-expanded=true] .wcp-acc-caret{rotate:180deg}
.wcp-acc-body{padding:.35rem .75rem 1.15rem}
@media (max-width:575.98px){.wcp-acc-state .host-cat-count{display:none}}
.host-feat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.15rem 1rem;padding-top:.75rem;font-size:.78rem;color:var(--fs-text)}
.host-feat-item{display:flex;align-items:baseline;gap:.35rem}
.host-feat-item i{color:var(--fs-brand-text);font-size:.7rem}

/* ---------- file uploads (configuration questions, registry documents) */
.file-upload-drop{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:1.5rem;border:1px dashed color-mix(in srgb,var(--fs-brand) 30%,var(--fs-line));border-radius:var(--fs-r);background:var(--fs-soft);color:var(--fs-muted);cursor:pointer;transition:border-color .2s,background-color .2s}
.file-upload-drop:hover,.file-upload-drop.is-dragover{border-color:var(--fs-brand);background:var(--fs-brand-tint)}
.file-upload-drop:focus-within{border-color:var(--fs-brand);box-shadow:var(--fs-ring)}
.file-upload.is-invalid .file-upload-drop{border-color:#d14343}
.file-upload-drop .icon-disc{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:12px;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:1.2rem}
.file-upload-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.5rem}
.file-upload-list:empty{margin-top:0}
.file-upload-item{display:flex;align-items:center;gap:.75rem;min-height:3.25rem;padding:.5rem .5rem .5rem .65rem;border:1px solid var(--fs-line);border-radius:var(--fs-r);background:var(--fs-surface)}
.file-upload-item.is-error{border-color:#f6d3d3;background:#fdf1f1}
.file-upload-item-media{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9px;overflow:hidden;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:1.05rem}
.file-upload-item-media img{width:100%;height:100%;object-fit:cover}
.file-upload-item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.05rem}
.file-upload-item-name{font-weight:700;font-size:.85rem;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.file-upload-item-meta{font-size:.75rem;color:var(--fs-muted)}
.file-upload-item.is-error .file-upload-item-meta{color:#9b2c2c}
.file-upload-item-remove{flex-shrink:0;--bs-btn-color:var(--fs-muted);--bs-btn-hover-color:#d14343;--bs-btn-hover-bg:#fdf1f1}

/* ---------- order summary lines */
.order-summary{position:sticky;top:5.5rem}
.order-summary-line{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.order-summary-line .summary-label{min-width:0;flex:1 1 auto;color:var(--fs-text)}
.order-summary-line .summary-sub{color:var(--fs-muted);font-size:.8rem}
.order-summary-line .summary-value{font-variant-numeric:tabular-nums;white-space:nowrap}
/* a dotted leader between a one-line label and its amount (labels with a second line stay as a block) */
.order-summary-line:not(.order-summary-total) .summary-label:not(:has(.d-block)),.order-summary-line:not(.order-summary-total) .summary-sub:not(.d-block){display:inline-flex;align-items:baseline;flex:1 1 auto;min-width:0}
.order-summary-line:not(.order-summary-total) .summary-label:not(:has(.d-block))::after,.order-summary-line:not(.order-summary-total) .summary-sub:not(.d-block)::after{content:"";flex:1 1 auto;align-self:flex-end;min-width:1rem;margin:0 .5rem .3em;border-bottom:1px dotted var(--fs-line)}
.order-summary-line:not(.summary-subline):not(.order-summary-total) .summary-value{font-weight:700}
.order-summary-total{font-weight:800;font-size:1.15rem;color:var(--fs-ink)}
.summary-addon[hidden]{display:none}
.order-summary .summary-rule{margin:.375rem 0 1rem}
.order-summary-line.summary-subline{margin-bottom:.3rem;margin-left:.6rem;padding-left:1.05rem;border-left:2px solid var(--bs-success-border-subtle)}
.summary-subline .summary-sub,.summary-subline .summary-value{font-size:.85rem}
.order-summary-savings{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0 .75rem;padding:.5rem .75rem;border-radius:var(--fs-r);background:var(--bs-success-bg-subtle);color:var(--bs-success-text-emphasis);font-weight:800;font-variant-numeric:tabular-nums}
.summary-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:.5rem 0 0;padding:0;background:transparent;border:0;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--fs-muted)}
.summary-group-toggle:hover{color:var(--fs-brand-text)}
.summary-disc-caret{font-size:.9rem;transition:transform .2s}
.summary-group-toggle:not(.collapsed) .summary-disc-caret{transform:rotate(180deg)}
.summary-discounts-body{display:flex;flex-direction:column;gap:.5rem;padding-top:.4rem}
.summary-discounts-body .order-summary-line{margin-bottom:0}
.checkout-split-aside .summary-discounts-body,.checkout-split-aside .order-summary-items{max-height:14rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.4rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.38) transparent}
.checkout-split-aside .order-summary-items{max-height:20rem}
.order-summary-items .order-summary-line{margin-bottom:0;padding-block:.6rem}
.order-summary-items .order-summary-line:first-child{padding-top:0}
.order-summary-items .order-summary-line+.order-summary-line{border-top:1px solid var(--rail-line,var(--fs-line))}
.rail-addons-toggle{display:inline-flex;align-items:center;gap:.25rem;margin-top:.15rem;padding:0;background:transparent;border:0;color:var(--fs-muted)}
.rail-addons-toggle:hover{color:var(--fs-brand-text)}
.rail-addons-caret{font-size:.85rem;transition:transform .2s}
.rail-addons-toggle:not(.collapsed) .rail-addons-caret{transform:rotate(180deg)}
.rail-addon{margin-bottom:0;margin-left:.6rem;padding:.15rem 0 0 1.05rem;border-left:2px solid var(--rail-line,var(--fs-line))}
.rail-addon .summary-sub,.rail-addon .summary-value{font-size:.8rem;color:var(--fs-muted)}
.rail-addons .wui-collapse-inner{padding-bottom:.5rem}
.order-summary-items .rail-addons+.order-summary-line{border-top:1px solid var(--rail-line,var(--fs-line))}
.order-summary-items .order-summary-line.rail-addon{padding-block:.15rem 0;border-top:0}
.summary-slot.wui-show:not(:has(~.summary-slot.wui-show>.wui-collapse-inner>.rail-addon))>.wui-collapse-inner>.rail-addon{margin-bottom:.6rem}
.summary-ready .summary-slot>.wui-collapse-inner>.rail-addon{transition:margin-bottom var(--wui-collapse-duration) cubic-bezier(.22,1,.36,1)}
.checkout-split-aside .input-group .form-control,.checkout-split-aside .input-group .btn{padding-block:.25rem;font-size:.875rem;min-height:2.4rem}

/* trust points + contact buttons under the summary */
.fs-assure{margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--rail-line,rgba(255,255,255,.24))}
.fs-assure ul{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.fs-assure li{display:flex;gap:.75rem;align-items:flex-start}
.fs-assure li i{flex:none;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:10px;background:var(--rail-fill,rgba(255,255,255,.14));font-size:1rem}
.fs-assure li span{display:flex;flex-direction:column;font-size:.78rem;line-height:1.45;color:var(--rail-fg-muted,rgba(255,255,255,.78))}
.fs-assure li b{font-size:.84rem;color:var(--rail-fg,#fff);font-weight:800}
.fs-assure-help{margin-top:1.1rem;padding:.9rem;border-radius:14px;background:var(--rail-fill,rgba(255,255,255,.14));border:1px solid var(--rail-line,rgba(255,255,255,.24));display:flex;flex-direction:column;gap:.6rem;font-size:.78rem;color:var(--rail-fg,#fff);font-weight:700}
.fs-assure-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.fs-assure-btns a{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:99px;background:#fff;color:#0b7a5c!important;font-weight:800;font-size:.78rem;text-decoration:none}
.fs-assure-btns a:hover{background:#e4f6ee}
@media (max-height:760px){.fs-assure{margin-top:1rem;padding-top:1rem}.fs-assure li span{font-size:.75rem}}
@media (max-width:991.98px){.fs-assure{display:none}}

/* ---------- cart */
.cart-item{position:relative;--bs-success-bg-subtle:var(--fs-brand-tint);--bs-success-text-emphasis:var(--fs-brand-text)}
.cart-item.cart-item-deal{border-color:var(--fs-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--fs-accent) 35%,transparent)}
.cart-deal-bubble{position:absolute;top:-.7rem;left:1.25rem;z-index:2;display:inline-flex;align-items:center;padding:.2rem .7rem;border-radius:99px;background:var(--fs-accent);color:#fff;font-size:.7rem;font-weight:800;box-shadow:var(--fs-shadow-sm)}
.cart-promo-of{display:inline-flex;align-items:center;gap:.3rem;margin:.1rem 0 .55rem;padding:.15rem .6rem;border-radius:99px;background:color-mix(in srgb,var(--fs-accent) 12%,var(--fs-surface));color:color-mix(in srgb,var(--fs-accent) 80%,var(--fs-ink));font-size:.8rem;font-weight:600}
.cart-item-child{margin-left:1.75rem}
.cart-item-child::before{content:"";position:absolute;left:-1.15rem;top:-1rem;width:1.15rem;height:2.6rem;border-left:2px solid var(--fs-accent);border-bottom:2px solid var(--fs-accent);border-bottom-left-radius:.6rem;opacity:.55;pointer-events:none}
.cart-item-specs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.cart-item-specs li{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--fs-muted)}
.cart-item-specs li i{flex-shrink:0;margin-top:.1rem;color:var(--fs-brand-text)}
.cart-item-price{font-size:1.15rem;font-weight:800;color:var(--fs-ink);font-variant-numeric:tabular-nums}
.cart-item-end{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex-shrink:0}
.cart-item-tools{display:flex;gap:.25rem;margin-bottom:.5rem}
@media (max-width:575.98px){
  .cart-item-tools{position:absolute;top:1.15rem;right:1.15rem;margin-bottom:0;z-index:2}
  .cart-item-end{width:100%;align-items:flex-start;text-align:left}
}
.cart-config-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .8rem;border-radius:99px;border:1px solid #f6e2ad;background:#fff8e6;color:#8a5a00;font-size:.8rem;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer}
.cart-config-btn:hover{color:#8a5a00;background:#fff1cc}
.cart-config-btn.is-configured{border-color:var(--fs-brand-tint-2);background:var(--fs-brand-tint);color:var(--fs-brand-text);cursor:default}
.btn.cart-proceed-gated{opacity:.55;cursor:not-allowed;box-shadow:none}
.cart-item-section{margin-top:1rem;border-top:1px solid var(--fs-line)}
.cart-item-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 0 0;background:transparent;border:0;color:var(--fs-muted);transition:color .2s,padding-bottom .35s}
.cart-item-section-toggle:hover{color:var(--fs-brand-text)}
.cart-item-section-toggle:not(.collapsed){padding-bottom:.75rem}
.cart-section-caret{transition:transform .2s}
.cart-item-section-toggle:not(.collapsed) .cart-section-caret{transform:rotate(180deg)}
.cart-item-details{padding:.9rem 1rem;background:var(--fs-soft);border:1px solid var(--fs-line);border-radius:var(--fs-r)}
.cart-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.cart-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:99px;background:var(--fs-soft);border:1px solid var(--fs-line);font-size:.78rem;color:var(--fs-text)}
.cart-chip i{color:var(--fs-brand-text);font-size:.9em}
.cart-breakdown-row{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;padding-block:.35rem}
.cart-breakdown-row+.cart-breakdown-row{border-top:1px solid var(--fs-line)}
.cart-breakdown-row>:first-child{min-width:0;flex:1 1 auto}
.cart-breakdown-row .fs-num{font-weight:700;white-space:nowrap}
.cart-breakdown-total{font-weight:800;color:var(--fs-ink)}
.cart-auto-tag{display:inline-block;padding:.05rem .4rem;border-radius:99px;background:var(--fs-soft);color:var(--fs-muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}
.cart-item-control{min-width:8.5rem}
.cart-item-control .cart-qty{width:8rem}
.cart-item-control .cart-qty .form-control{flex:1 1 auto;min-height:2.3rem}
.cart-coupon-remove{display:inline-flex;align-items:center;padding:0;margin-left:.35rem;border:0;background:transparent;color:inherit;opacity:.6;font-size:.7rem;line-height:1}
.cart-coupon-remove:hover{opacity:1}
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:99px;background:var(--fs-brand);color:#fff;font-size:.68rem;font-weight:800}

/* ---------- checkout: account, billing, payment */
.checkout-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.fs-acct-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.1rem}
.fs-acct-tabs button{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.75rem .9rem;border-radius:14px;border:1.5px solid var(--fs-line);background:var(--fs-surface);color:inherit;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.fs-acct-tabs button i{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:10px;background:var(--fs-soft);color:var(--fs-muted);font-size:1.1rem}
.fs-acct-tabs button span{display:flex;flex-direction:column;line-height:1.3}
.fs-acct-tabs button b{font-size:.9rem}
.fs-acct-tabs button small{font-size:.75rem;color:var(--fs-muted)}
.fs-acct-tabs button:hover{border-color:color-mix(in srgb,var(--fs-brand) 45%,var(--fs-line))}
.fs-acct-tabs button.active{border-color:var(--fs-brand);background:var(--fs-brand-tint);box-shadow:0 0 0 3px rgba(var(--fs-brand-rgb),.12)}
.fs-acct-tabs button.active i{background:var(--fs-brand);color:#fff}
@media (max-width:575.98px){.fs-acct-tabs{grid-template-columns:1fr}}
[data-account-guest][data-fs-mode=create] .col-lg-5{display:none}
[data-account-guest][data-fs-mode=create] .col-lg-7{flex:0 0 100%;max-width:100%;width:100%}
.checkout-codelogin{max-width:22rem;margin-inline:auto}
.billing-new-fields{padding-top:0}
[data-billing-profiles].wui-show~[data-new-billing] .billing-new-fields{padding-top:1rem}
.payment-option{border:1px solid var(--fs-line);border-radius:var(--fs-r);background:var(--fs-surface);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.payment-option:hover{border-color:color-mix(in srgb,var(--fs-brand) 45%,var(--fs-line))}
.payment-option:has(input[name=payment_method]:checked),.payment-option:has(input[name=pmethod]:checked){border-color:var(--fs-brand);box-shadow:0 0 0 1px var(--fs-brand)}
.payment-option:has(.form-check-input:focus-visible){box-shadow:var(--fs-ring)}
.payment-option-head{display:flex;align-items:center;gap:.75rem;margin:0;padding:1rem 1.1rem;cursor:pointer}
.payment-option:has(input[name=payment_method]:checked) .payment-option-head,.payment-option:has(input[name=pmethod]:checked) .payment-option-head{background:var(--fs-brand-tint)}
.payment-option-head .form-check-input{position:absolute;opacity:0;pointer-events:none}
.payment-option-body,.payment-option .checkout-pay-footer{padding:1.1rem;border-top:1px solid var(--fs-line)}
.payment-option-na .payment-option-head{opacity:.55;cursor:not-allowed}
.payment-option.payment-option-na:hover{border-color:var(--fs-line)}
.payment-option-foot{display:none;align-items:center;gap:.5rem;padding:.75rem 1.1rem;border-top:1px solid var(--fs-line)}
.payment-option-na .payment-option-foot{display:flex}
.checkout-pay-icons{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0;font-size:1.4rem;color:var(--fs-muted)}
.checkout-pay-btn-amount,.invoice-pay-btn-amount{margin-left:.5rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.4)}
.checkout-pay-btn-amount:empty,.invoice-pay-btn-amount:empty{display:none}
.card-number-group{position:relative}
.card-number-group .form-control{padding-right:3.5rem}
.card-number-group .card-scheme-icon{position:absolute;top:0;bottom:0;right:.85rem;z-index:5;display:flex;align-items:center;font-size:1.7rem;line-height:1;color:var(--fs-text);pointer-events:none}
.inst-amounts{display:contents}
.inst-col{flex-shrink:0;width:6rem;text-align:right;line-height:1.25;font-variant-numeric:tabular-nums}
.inst-col-label{display:block;font-size:.75rem;font-weight:500;color:var(--fs-muted)}
.card-autopay-check{margin-left:1.25rem}
@media (max-width:575.98px){
  .inst-amounts{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:.1rem}
  .inst-col{width:auto;display:flex;align-items:baseline;justify-content:flex-end;gap:.35rem}
  .inst-col-label{display:inline}
}
.checkout-secure-cover{height:100%;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;background:var(--fs-brand-tint);border:1px solid var(--fs-brand-tint-2);border-radius:var(--fs-r);text-align:center}
.checkout-secure-cover-icon{font-size:2.25rem;line-height:1;color:var(--fs-brand-text);margin-bottom:.5rem}
.checkout-secure-points{list-style:none;margin:.875rem 0 0;padding:0;text-align:left;display:flex;flex-direction:column;gap:.375rem;font-size:.8rem;color:var(--fs-muted)}
.checkout-secure-points li{display:flex;align-items:flex-start;gap:.5rem}
.checkout-secure-points .bi{flex-shrink:0;margin-top:.1rem;color:#2f9e6e}
.bank-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(24rem,1fr));gap:1rem}
@media (max-width:767.98px){.bank-account-grid{grid-template-columns:1fr}}
.bank-account{background:var(--fs-surface);border:1px solid var(--fs-line);border-radius:var(--fs-r);overflow:hidden}
.bank-account-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.9rem 1rem}
.bank-logo{height:1.75rem;width:auto;max-width:7rem;object-fit:contain;object-position:left center}
.bank-account-name{margin-left:auto;text-align:right;font-weight:700;color:var(--fs-ink)}
.bank-line{display:flex;align-items:center;gap:.75rem;padding:.4rem 1rem;border-top:1px solid var(--fs-line)}
.bank-line-label{flex-shrink:0;width:7rem;font-size:.8rem;color:var(--fs-muted)}
.bank-line-value{flex:1 1 auto;min-width:0;text-align:right;font-weight:700;color:var(--fs-text);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:575.98px){.bank-line{flex-direction:column;align-items:flex-start;gap:.15rem}.bank-line-value{text-align:left}}
.bank-reference{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .75rem;background:var(--fs-brand-tint);border:1px solid var(--fs-brand-tint-2);border-radius:var(--fs-r)}
.bank-reference-label{font-size:.8rem;font-weight:700;color:var(--fs-brand-text)}
.bank-reference-value{font-weight:800;letter-spacing:.02em;color:var(--fs-ink);font-variant-numeric:tabular-nums}

/* ---------- payment / result pages */
.checkout-result-icon{font-size:3rem;line-height:1}
.pay-detail-list{border:1px solid var(--fs-line);border-radius:var(--fs-r);overflow:hidden;text-align:left}
.pay-detail{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--fs-soft)}
.pay-detail+.pay-detail{border-top:1px solid var(--fs-line)}
.pay-detail-label{flex-shrink:0;min-width:8rem;font-size:.8rem;color:var(--fs-muted)}
.pay-detail-value{font-weight:700;color:var(--fs-text);font-variant-numeric:tabular-nums}
.pay-detail-list.is-page .pay-detail-label{font-size:.875rem}
.pay-locked{position:relative}
.pay-locked-blur{filter:blur(5px);pointer-events:none;user-select:none}
.pay-locked-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem}
.pay-locked-card{max-width:24rem;padding:1.5rem;border:1px solid var(--fs-line);border-radius:var(--fs-r-lg);background:color-mix(in srgb,var(--fs-surface) 75%,transparent);backdrop-filter:blur(8px);box-shadow:var(--fs-shadow-lg)}
.pay-locked-icon{font-size:2rem;line-height:1;color:var(--fs-brand-text)}

/* ---------- invoice payment footer (invoice page, several invoices) */
.invoice-pay-total{padding:1rem 1.1rem;border:1px solid var(--fs-line);border-radius:var(--fs-r);background:var(--fs-soft)}
.invoice-partial-panel{border:1px solid var(--fs-line);border-radius:var(--fs-r);background:var(--fs-surface)}
.invoice-partial-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:none;border:0;color:var(--fs-ink);font-weight:700;font-size:.88rem}
.invoice-partial-title{display:inline-flex;align-items:center;gap:.5rem}
.invoice-partial-caret{transition:transform .2s;color:var(--fs-muted)}
.invoice-partial-head:not(.collapsed) .invoice-partial-caret{transform:rotate(180deg)}
.invoice-partial-body{padding:0 1rem 1rem}
.invoice-partial-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.invoice-partial-input{max-width:13rem}
.invoice-partial-remain{font-size:.8rem;color:var(--fs-muted)}
.pay-credit-row{padding-bottom:.6rem}
.invoice-pay-secure{margin:0;text-align:center;font-size:.8rem;color:var(--fs-muted)}

/* ---------- empty states, roomy result panels, cart suggestions */
.fs-panel-body-lg{padding:1.75rem}
@media (min-width:576px){.fs-panel-body-lg{padding:2.5rem}}
.fs-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:3rem 1.5rem;text-align:center}
.fs-empty>.bi{font-size:2.5rem;color:var(--fs-brand-text);opacity:.6;margin-bottom:.25rem}
.fs-empty .btn{margin-top:.75rem}
.fs-pop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem}
.fs-pop-card{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem;border:1px solid var(--fs-line);border-radius:var(--fs-r-lg);background:var(--fs-surface);color:var(--fs-text);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.fs-pop-card:hover{border-color:color-mix(in srgb,var(--fs-brand) 40%,var(--fs-line));box-shadow:var(--fs-shadow);transform:translateY(-2px);color:var(--fs-text)}
.fs-pop-card .fs-ico{margin-bottom:.35rem}
.fs-pop-price{font-size:.85rem;color:var(--fs-muted)}
.fs-pop-price strong{color:var(--fs-ink)}
.fs-pop-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:.35rem;font-size:.85rem;font-weight:700;color:var(--fs-brand-text)}
.fs-pop-card:hover .fs-pop-link i{transform:translateX(3px)}
.fs-pop-link i{transition:transform .2s}
.cart-breakdown{margin-top:.25rem}
.range-field{padding-top:.15rem}

/* rail text colours win over the generic summary colours above */
.checkout-split-aside .order-summary-line .summary-label,.checkout-split-aside .order-summary-line .summary-value,.checkout-split-aside .order-summary-total,.checkout-split-aside .order-summary-total .summary-label{color:var(--rail-fg)}
.checkout-split-aside .order-summary-line .summary-sub{color:var(--rail-fg-muted)}
.checkout-split-aside .order-summary-line:not(.order-summary-total) .summary-label::after,.checkout-split-aside .order-summary-line:not(.order-summary-total) .summary-sub::after{border-bottom-color:var(--rail-line-strong)}
.checkout-head h2,.order-summary h2{margin:0;font-size:1rem;font-weight:800}
.checkout-head p{margin:.15rem 0 0;font-size:.8rem;color:var(--fs-muted)}
body.checkout-shell>main{flex:1 0 auto}
/* plan card on phones: name and facts get the full width, "change plan" goes under them */
@media (max-width:575.98px){
  [data-hosting-section]>.fs-panel-body{flex-wrap:wrap;align-items:flex-start!important}
  [data-hosting-section]>.fs-panel-body>div{flex:1 1 0;min-width:0}
  [data-hosting-section]>.fs-panel-body>.btn{order:3;margin-left:0!important}
}
