:root {
    --had-ink: #21152e;
    --had-muted: #6f6578;
    --had-purple-900: #3c0870;
    --had-purple-700: #6516a7;
    --had-purple-600: #783cc7;
    --had-purple-100: #f1e9ff;
    --had-orange: #ff8a00;
    --had-line: #e9e2ee;
    --had-surface: #ffffff;
    --had-page: #faf8fc;
}

.had-checkout-progress {
    position: relative;
    z-index: 2;
    margin: 0 0 28px;
    border: 1px solid var(--had-line);
    border-radius: 16px;
    background: linear-gradient(112deg, #fff 0%, #fcfaff 100%);
    box-shadow: 0 12px 34px rgba(60, 8, 112, .07);
}

.had-checkout-progress__inner {
    display: flex;
    align-items: center;
    min-height: 78px;
    gap: 28px;
    padding: 14px 22px;
}

.had-checkout-progress__brand { min-width: 120px; color: var(--had-ink); line-height: 1.2; }
.had-checkout-progress__eyebrow { display: block; color: var(--had-purple-700); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.had-checkout-progress__brand strong { display: block; margin-top: 3px; font-size: 16px; }
.had-checkout-steps { display: flex; flex: 1; justify-content: center; gap: clamp(14px, 3vw, 44px); margin: 0; padding: 0; list-style: none; }
.had-checkout-step { display: inline-flex; align-items: center; gap: 8px; color: #92899b; font-size: 13px; font-weight: 700; white-space: nowrap; }
.had-checkout-step__number { display: inline-grid; width: 25px; height: 25px; place-items: center; border: 1px solid #d9d1df; border-radius: 50%; background: #fff; color: #817889; font-size: 12px; }
.had-checkout-step.is-active { color: var(--had-purple-700); }
.had-checkout-step.is-active .had-checkout-step__number { border-color: var(--had-purple-600); background: var(--had-purple-600); box-shadow: 0 5px 13px rgba(101, 22, 167, .25); color: #fff; }
.had-checkout-step.is-complete { color: #4c3273; }
.had-checkout-step.is-complete .had-checkout-step__number { border-color: #d7c5f1; background: var(--had-purple-100); color: var(--had-purple-700); }
.had-checkout-progress__trust { color: #5e5667; font-size: 12px; font-weight: 700; white-space: nowrap; }
.had-checkout-progress__trust i { margin-right: 6px; color: var(--had-purple-600); }

body:has(.had-checkout-progress) { background: var(--had-page); }
.main-body:has(.had-checkout-progress) .main-grid { align-items: flex-start; }
.main-body:has(.had-checkout-progress) .main-grid .section,
.main-body:has(.had-checkout-progress) .main-grid .panel:not(.panel-summary) { border: 1px solid var(--had-line); border-radius: 16px; background: var(--had-surface); box-shadow: 0 8px 24px rgba(42, 18, 66, .04); }
.main-body:has(.had-checkout-progress) .main-grid .section { padding: 24px; }
.main-body:has(.had-checkout-progress) .main-grid .section + .section { margin-top: 20px; }
.main-body:has(.had-checkout-progress) .main-grid .section-header { margin-bottom: 18px; }
.main-body:has(.had-checkout-progress) .main-grid .section-title { color: var(--had-ink); font-size: clamp(20px, 2vw, 26px); font-weight: 800; letter-spacing: -.025em; }
.main-body:has(.had-checkout-progress) .main-grid .section-desc { color: var(--had-muted); }

.main-body:has(.had-checkout-progress) .main-grid .package { overflow: hidden; border: 1px solid var(--had-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 20px rgba(42, 18, 66, .04); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.main-body:has(.had-checkout-progress) .main-grid .package:hover { border-color: #c7a7f1; box-shadow: 0 16px 34px rgba(86, 23, 145, .12); transform: translateY(-2px); }
.main-body:has(.had-checkout-progress) .main-grid .package-featured { border: 2px solid var(--had-purple-600); }
.main-body:has(.had-checkout-progress) .main-grid .package .package-title { color: var(--had-ink); font-weight: 800; letter-spacing: -.02em; }
.main-body:has(.had-checkout-progress) .main-grid .package .package-footer { background: #fcfaff; }
.main-body:has(.had-checkout-progress) .main-grid .label-primary,
.main-body:has(.had-checkout-progress) .main-grid .label-save { background: var(--had-purple-600); }

.main-body:has(.had-checkout-progress) .main-grid .panel-check-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.main-body:has(.had-checkout-progress) .main-grid .panel-check-group > [class*="col-"] { width: auto; padding: 0; }
.main-body:has(.had-checkout-progress) .main-grid .panel-check { height: 100%; border: 1px solid var(--had-line); border-radius: 13px; box-shadow: none; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.main-body:has(.had-checkout-progress) .main-grid .panel-check:hover { border-color: #b991e8; }
.main-body:has(.had-checkout-progress) .main-grid .panel-check.checked { border-color: var(--had-purple-600); background: #faf7ff; box-shadow: 0 0 0 3px rgba(120, 60, 199, .12); }
.main-body:has(.had-checkout-progress) .main-grid .panel-check .check-title { color: var(--had-ink); font-weight: 800; }
.main-body:has(.had-checkout-progress) .main-grid .panel-check .check-subtitle { color: var(--had-muted); }
.had-cycle-hint { max-width: 620px; margin: 7px 0 0; color: var(--had-muted); font-size: 13px; line-height: 1.55; }
.main-body:has(.had-checkout-progress) .product-config-info { border: 1px solid #e9dff3; border-radius: 18px; background: linear-gradient(135deg, #fff, #fcfaff); box-shadow: 0 12px 28px rgba(56, 24, 91, .05); }
.main-body:has(.had-checkout-progress) .product-config-info .panel-body { padding: clamp(24px, 3vw, 34px); }
.main-body:has(.had-checkout-view-configureproduct) .main-grid .main-content { display: flex; flex-direction: column; }
.main-body:has(.had-checkout-view-configureproduct) .main-grid .main-content > * { order: 3; }
.main-body:has(.had-checkout-view-configureproduct) .main-grid .main-content > #sectionCycles { order: 1; margin-top: 0; }
.main-body:has(.had-checkout-view-configureproduct) .main-grid .main-content > .had-product-info-section { order: 2; margin-top: 26px; }
.main-body:has(.had-checkout-progress) #sectionCycles { margin-top: 26px; padding: clamp(26px, 3.2vw, 36px); border-color: #e6d9f0; background: linear-gradient(145deg, #fff, #fdfbff); }
.main-body:has(.had-checkout-progress) #sectionCycles .section-body { margin-top: 22px; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group { display: flex; flex-wrap: wrap; align-items: stretch; margin: 0; gap: 14px; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group > [class*="col-"] { display: flex; width: auto !important; max-width: none; min-width: 168px; flex: 1 1 168px; padding: 0; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check { position: relative; width: 100%; min-height: 154px; overflow: visible; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check:has(label[data-config-val="annually"]) { border: 2px solid var(--had-purple-600); background: linear-gradient(145deg, #fbf8ff, #f3eaff); box-shadow: 0 10px 24px rgba(101, 22, 167, .14); }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check:has(label[data-config-val="annually"])::before { position: absolute; z-index: 1; top: -12px; left: 50%; padding: 5px 9px; border-radius: 999px; background: #1daf81; box-shadow: 0 5px 12px rgba(29, 175, 129, .24); color: #fff; content: "MELHOR CUSTO-BENEF\00CD CIO"; font-size: 9px; font-weight: 900; letter-spacing: .045em; transform: translateX(-50%); white-space: nowrap; }
.main-body:has(.had-checkout-progress) #sectionCycles .label-save { background: #1daf81; }
.main-body:has(.had-checkout-progress) #productAddonsContainer { margin-top: 26px; }
.main-body:has(.had-checkout-progress) .section-module-output:empty { display: none; }

.main-body:has(.had-checkout-progress) .main-grid .panel-summary { overflow: hidden; border: 1px solid #d7c5f1; border-radius: 18px; background: #fff; box-shadow: 0 14px 34px rgba(60, 8, 112, .13); }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .panel-heading { border: 0; background: linear-gradient(135deg, var(--had-purple-900), var(--had-purple-600)); color: #fff; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .panel-title { color: #fff; font-weight: 800; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .panel-footer { border-top-color: var(--had-line); background: #fcfaff; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .list-item-title { color: var(--had-ink); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .list-item-title i { margin-right: 6px; color: var(--had-purple-600); }
.main-body:has(.had-checkout-progress) .main-grid .price-total { color: var(--had-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .045em; }
.main-body:has(.had-checkout-progress) .main-grid .price-amount { color: var(--had-ink); font-weight: 900; }

.main-body:has(.had-checkout-progress) .main-grid .btn-primary,
.main-body:has(.had-checkout-progress) .main-grid .btn-checkout { border-color: var(--had-purple-600); background: var(--had-purple-600); box-shadow: 0 9px 17px rgba(101, 22, 167, .22); font-weight: 800; transition: background .16s ease, box-shadow .16s ease, transform .16s ease; }
.main-body:has(.had-checkout-progress) .main-grid .btn-primary:hover,
.main-body:has(.had-checkout-progress) .main-grid .btn-checkout:hover { border-color: var(--had-purple-900); background: var(--had-purple-900); box-shadow: 0 12px 21px rgba(60, 8, 112, .28); transform: translateY(-1px); }
.main-body:has(.had-checkout-progress) .main-grid .btn-primary:focus-visible,
.main-body:has(.had-checkout-progress) .main-grid input:focus,
.main-body:has(.had-checkout-progress) .main-grid select:focus { outline: 0; border-color: var(--had-purple-600); box-shadow: 0 0 0 3px rgba(120, 60, 199, .18); }
.main-body:has(.had-checkout-progress) .main-grid .form-control { min-height: 46px; border-color: #ded5e4; border-radius: 10px; }
.main-body:has(.had-checkout-progress) .main-grid .alert-warning.checkout-security-msg { border: 0; border-radius: 12px; background: #f3edff; color: #523779; }
.had-renewal-note { margin: 10px 0 0; color: var(--had-muted); font-size: 11px; line-height: 1.45; }
.had-renewal-note i { margin-right: 4px; color: var(--had-purple-600); }
.had-checkout-assurance { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0 4px; padding: 15px 17px; border: 1px solid #dcd0f2; border-radius: 13px; background: linear-gradient(105deg, #f7f3ff, #fff); color: #4e3c64; }
.had-checkout-assurance > i { display: inline-grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 9px; background: var(--had-purple-600); color: #fff; }
.had-checkout-assurance strong,
.had-checkout-assurance span { display: block; }
.had-checkout-assurance strong { margin-bottom: 2px; color: var(--had-ink); font-size: 13px; }
.had-checkout-assurance span { color: var(--had-muted); font-size: 12px; line-height: 1.45; }

@media (max-width: 991px) {
    .had-checkout-progress__inner { flex-wrap: wrap; gap: 12px; }
    .had-checkout-progress__brand { display: flex; gap: 8px; align-items: baseline; }
    .had-checkout-progress__eyebrow { display: inline; }
    .had-checkout-steps { order: 3; flex-basis: 100%; justify-content: space-between; }
    .had-checkout-progress__trust { margin-left: auto; }
}

@media (max-width: 575px) {
    .had-checkout-progress { margin-bottom: 18px; border-radius: 12px; }
    .had-checkout-progress__inner { padding: 12px 14px; }
    .had-checkout-progress__brand strong { font-size: 14px; }
    .had-checkout-progress__trust { font-size: 11px; }
    .had-checkout-step { gap: 5px; font-size: 10px; }
    .had-checkout-step__number { width: 22px; height: 22px; font-size: 10px; }
    .main-body:has(.had-checkout-progress) .main-grid .section { padding: 18px; border-radius: 13px; }
}

/* Composition: the purchase flow uses the page width as a calm, focused canvas. */
.page-order:has(.had-checkout-progress) .app-main { background: radial-gradient(circle at 18% 0, rgba(120, 60, 199, .08), transparent 30%), var(--had-page); }
.page-order:has(.had-checkout-progress) .main-header { padding: 38px 0 22px; }
.page-order:has(.had-checkout-progress) .main-header-title { color: var(--had-ink); font-size: clamp(30px, 3vw, 42px); font-weight: 850; letter-spacing: -.04em; }
.page-order:has(.had-checkout-progress) .main-grid { gap: 28px; padding-bottom: 56px; }

/* Product selection should feel like a focused decision, not an admin screen. */
.main-body:has(.had-checkout-view-products) .main-grid { box-sizing: border-box; width: min(1440px, calc(100vw - 48px)); max-width: none; margin-right: auto; margin-left: auto; }
.main-body:has(.had-checkout-view-products) .main-grid .main-sidebar { display: none; }
.main-body:has(.had-checkout-view-products) .main-grid .main-content { width: 100%; max-width: none; margin: 0 auto; }
.main-body:has(.had-checkout-view-products) .main-grid .alert { border: 0; border-radius: 14px; box-shadow: 0 8px 22px rgba(42, 18, 66, .05); }
.main-body:has(.had-checkout-view-products) .main-grid .products { padding: clamp(24px, 4vw, 42px); }
@media (min-width: 1260px) {
    .main-body:has(.had-checkout-view-products) .main-grid .main-content { position: static; width: 100%; margin: 0; transform: none; }
    .main-body:has(.had-checkout-view-products) .main-grid .products { padding-right: 30px; padding-left: 30px; }
}
@media (min-width: 1488px) {
    /* The wider plan canvas expands evenly around the same central axis as the checkout header. */
    .main-body:has(.had-checkout-view-products) .main-grid { margin-right: 0; margin-left: calc(50% - 720px); }
}
.had-plan-intro { max-width: 640px; margin: 0 auto 24px; text-align: center; }
.had-plan-intro__eyebrow { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: var(--had-purple-100); color: var(--had-purple-700); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.had-plan-intro h2 { margin: 13px 0 8px; color: var(--had-ink); font-size: clamp(24px, 3vw, 32px); font-weight: 850; letter-spacing: -.035em; }
.had-plan-intro p { margin: 0; color: var(--had-muted); font-size: 15px; line-height: 1.6; }
.had-plan-intro--legacy { display: none; }
.had-service-toast { position: fixed; z-index: 1050; right: 24px; bottom: 24px; display: grid; grid-template-columns: 38px minmax(0, 1fr) 26px; align-items: center; gap: 11px; width: min(390px, calc(100vw - 32px)); padding: 13px 12px 13px 13px; border: 1px solid #decaff; border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 18px 42px rgba(54, 20, 104, .2); color: var(--had-ink); transform: translateY(14px); opacity: 0; transition: opacity .24s ease, transform .24s ease; }
.had-service-toast:not([hidden]) { transform: translateY(0); opacity: 1; }
.had-service-toast > .had-service-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--had-purple-100); color: var(--had-purple-700); font-size: 16px; }
.had-service-toast__copy { display: grid; gap: 3px; }
.had-service-toast__copy strong { overflow: hidden; color: var(--had-ink); font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.had-service-toast__copy span { color: var(--had-muted); font-size: 12px; line-height: 1.35; }
.had-service-toast__close { display: grid; width: 26px; height: 26px; padding: 0; place-items: center; border: 0; border-radius: 8px; background: transparent; color: #746a7e; cursor: pointer; }
.had-service-toast__close:hover, .had-service-toast__close:focus-visible { background: var(--had-purple-100); color: var(--had-purple-700); }
.had-desire-banner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1320px; margin: 0 auto 30px; padding: clamp(26px, 4vw, 40px); overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 24px; background: radial-gradient(circle at 86% 8%, rgba(255,255,255,.23), transparent 29%), linear-gradient(120deg, #35106c 0%, #6e2fc1 58%, #8646db 100%); box-shadow: 0 22px 46px rgba(64, 21, 124, .22); color: #fff; }
.had-desire-banner::after { position: absolute; right: -86px; bottom: -124px; width: 300px; height: 300px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ""; }
.had-desire-banner__content { position: relative; z-index: 1; max-width: 660px; }
.had-desire-banner__eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; background: rgba(255,255,255,.12); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.had-desire-banner h3 { max-width: 560px; margin: 13px 0 8px; color: #fff; font-size: clamp(24px, 3vw, 34px); font-weight: 850; line-height: 1.1; letter-spacing: -.035em; }
.had-desire-banner p { max-width: 570px; margin: 0; color: rgba(255,255,255,.84); font-size: 15px; line-height: 1.58; }
.had-desire-banner ul { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 20px 0 0; padding: 0; list-style: none; }
.had-desire-banner li { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 13px; font-weight: 700; }
.had-desire-banner li i { color: #b8ffd9; }
.had-desire-banner__signal { position: relative; z-index: 1; display: grid; flex: 0 0 215px; gap: 8px; padding: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 17px; background: rgba(17, 4, 44, .18); backdrop-filter: blur(8px); }
.had-desire-banner__signal > i { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.16); color: #c9ffdf; }
.had-desire-banner__signal strong { color: #fff; font-size: 14px; }
.had-desire-banner__signal span { color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.45; }
.had-desire-banner.is-switching .had-desire-banner__content { opacity: .42; transform: translateY(3px); }
.had-desire-banner__content { transition: opacity .14s ease, transform .14s ease; }
.main-body:has(.had-checkout-view-products) .package.had-plan-is-in-focus { border-color: #c29aff; box-shadow: 0 20px 40px rgba(86, 23, 145, .18); transform: translateY(-4px); }
.main-body:has(.had-checkout-view-products) .products > .row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin: 0; }
.main-body:has(.had-checkout-view-products) .products > .row > .col { width: auto; padding: 0; }
.main-body:has(.had-checkout-view-products) .package { display: flex; flex-direction: column; height: 100%; max-width: none; margin: 0; }
.main-body:has(.had-checkout-view-products) .package .package-side-left { display: flex; flex: 1; flex-direction: column; padding: 32px; }
.main-body:has(.had-checkout-view-products) .package .package-footer { display: flex; min-width: 0; padding: 22px 30px 28px; align-items: center; justify-content: center; }
.main-body:has(.had-checkout-view-products) .package .package-footer .package-price { width: 100%; text-align: center; }
.main-body:has(.had-checkout-view-products) .package .package-title { margin-bottom: 15px; }
.main-body:has(.had-checkout-view-products) .package .package-body { flex: 1; }
.main-body:has(.had-checkout-view-products) .package .package-content { display: flex; min-height: 100%; flex-direction: column; }
.main-body:has(.had-checkout-view-products) .package .price-amount { display: block !important; font-size: clamp(26px, 2vw, 34px); white-space: nowrap !important; word-break: normal !important; }
.main-body:has(.had-checkout-view-products) .package .had-plan-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; order: 2; align-items: start; gap: 8px; margin: auto 0 0; padding: 19px 0 1px; border-top: 1px solid #eee7f5; }
.had-plan-benefits span { display: flex; min-width: 0; align-items: flex-start; justify-content: center; gap: 6px; color: #564b61; font-size: 10.5px; font-weight: 750; line-height: 1.32; text-align: left; }
.had-plan-benefits i { display: inline-grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; border-radius: 6px; background: #f1e9ff; color: var(--had-purple-700); font-size: 9px; }
@media (max-width: 767px) {
    .had-service-toast { right: 16px; bottom: 16px; }
    .main-body:has(.had-checkout-view-products) .main-grid .products { padding: 20px 14px; }
    .had-plan-intro { margin-bottom: 20px; }
    .had-desire-banner { display: grid; gap: 22px; margin-bottom: 22px; padding: 25px 22px; border-radius: 19px; }
    .had-desire-banner h3 { font-size: 25px; }
    .had-desire-banner ul { display: grid; gap: 10px; }
    .had-desire-banner__signal { grid-template-columns: auto 1fr; align-items: center; flex-basis: auto; padding: 16px; }
    .had-desire-banner__signal > i { grid-row: span 2; }
    .main-body:has(.had-checkout-view-products) .products > .row { grid-template-columns: 1fr; gap: 18px; }
    .main-body:has(.had-checkout-view-products) .main-grid { width: calc(100% - 28px); }
    .main-body:has(.had-checkout-view-products) .package .package-side-left { padding: 25px 22px; }
    .main-body:has(.had-checkout-view-products) .package .package-footer { padding: 18px 22px 23px; }
    .main-body:has(.had-checkout-view-products) .package .package-footer { min-width: 0; }
    .main-body:has(.had-checkout-view-products) .package .had-plan-benefits { grid-template-columns: 1fr !important; justify-items: start; gap: 9px; margin-top: 22px; padding-top: 17px; }
    .had-plan-benefits span { justify-content: flex-start; font-size: 11px; }
}

/* Cycle cards: the price stack is centered independently from the selection control. */
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-content { flex-direction: column !important; justify-content: center !important; text-align: center !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-title,
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-subtitle { display: block; text-align: center !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .label-save,
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .label-save * { color: #fff !important; text-shadow: 0 1px 1px rgba(0,0,0,.16); }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check:has(label[data-config-val="annually"])::before { background: linear-gradient(105deg, #119b72, #1fc79a); box-shadow: 0 7px 16px rgba(20, 167, 119, .34); animation: had-best-cycle-float 1.8s ease-in-out infinite; }
@keyframes had-best-cycle-float {
    0%, 100% { transform: translateX(-50%) translateY(0) scale(1); }
    50% { transform: translateX(-50%) translateY(-4px) scale(1.035); }
}

/* The plan grid stays compact at three columns, then gives each choice enough room below desktop. */
@media (min-width: 768px) and (max-width: 1080px) {
    .main-body:has(.had-checkout-view-products) .products > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Billing cycles are equal, readable decision controls instead of tall empty cards. */
.main-body:has(.had-checkout-progress) #sectionCycles .section-header { margin-bottom: 24px; }
.main-body:has(.had-checkout-progress) #sectionCycles .section-body { margin-top: 0; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group { gap: 16px; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group > [class*="col-"] { min-width: 156px; flex-basis: 156px; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check { min-height: 126px; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle label { display: block; height: 100%; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-content { display: flex; min-height: 126px; flex-direction: column; justify-content: flex-start; padding: 21px 18px 17px; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-title { min-height: 49px; margin: 0; line-height: 1.5; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-subtitle { min-height: 25px; margin: 9px 0 0; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .label-save { display: inline-flex; width: fit-content; align-items: center; min-height: 20px; margin-bottom: 3px; padding: 3px 7px; border-radius: 999px; font-size: 10px; }

.had-cycle-offer { position: relative; display: none; align-items: center; gap: 14px; margin-top: 20px; padding: 15px 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: linear-gradient(112deg, #26064f, #51218d 54%, #7637c5); box-shadow: 0 14px 28px rgba(69, 20, 124, .19); color: #fff; }
.had-cycle-offer.is-visible { display: flex; animation: had-checkout-rise .28s ease both; }
.had-cycle-offer::after { position: absolute; top: -110%; left: -45%; width: 34%; height: 310%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.23), transparent); content: ""; transform: rotate(16deg); animation: had-cycle-shine 4.6s ease-in-out infinite; }
.had-cycle-offer > i { position: relative; z-index: 1; display: grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; border-radius: 11px; background: #b8ffd9; color: #275f4d; font-size: 18px; }
.had-cycle-offer__copy { position: relative; z-index: 1; display: grid; flex: 1; gap: 2px; }
.had-cycle-offer__copy strong { color: #fff; font-size: 14px; }
.had-cycle-offer__copy span { color: rgba(255,255,255,.78); font-size: 12px; }
.had-cycle-offer button { position: relative; z-index: 1; flex: 0 0 auto; padding: 8px 12px; border: 1px solid rgba(255,255,255,.7); border-radius: 9px; background: transparent; color: #fff; font-size: 12px; font-weight: 800; }
.had-cycle-offer button:hover, .had-cycle-offer button:focus-visible { background: #fff; color: var(--had-purple-900); }

.main-body:has(.had-checkout-progress) .main-grid .panel-summary .panel-body { padding: 22px 24px 20px; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .summary-list:first-child { margin-top: 0; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary::after { display: none; }
.had-summary-trust { display: flex; align-items: flex-start; gap: 10px; margin: 12px 5px 0; padding: 10px 11px; border: 1px solid #ded3f0; border-radius: 12px; background: rgba(255,255,255,.78); color: var(--had-muted); }
.had-summary-trust + .had-summary-trust { margin-top: 8px; }
.had-summary-trust > i { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 8px; background: #eee7ff; color: var(--had-purple-700); font-size: 12px; }
.had-summary-trust strong, .had-summary-trust span { display: block; }
.had-summary-trust strong { color: var(--had-ink); font-size: 12px; font-weight: 800; }
.had-summary-trust span { margin-top: 2px; font-size: 11px; line-height: 1.35; }
.had-summary-trust--renewal > i { background: #e6f8ef; color: #14835d; }

/* Checkout form: space each decision, then keep the active choice visibly connected to its fields. */
.page-viewcart:has(.had-checkout-progress) .billing-details-form > .section { margin-top: 26px; padding: clamp(24px, 3vw, 34px); }
.page-viewcart:has(.had-checkout-progress) .billing-details-form > .section:first-child { margin-top: 0; }
.page-viewcart:has(.had-checkout-progress) .billing-details-form .section-header { margin-bottom: 22px; }
.page-viewcart:has(.had-checkout-progress) .billing-details-form .section-body { margin-top: 0; }
.page-viewcart:has(.had-checkout-progress) #containerExistingAccountSelect > .panel + .panel { margin-top: 14px; }
.page-viewcart:has(.had-checkout-progress) #containerExistingAccountSelect .panel { overflow: hidden; border-radius: 14px; }
.page-viewcart:has(.had-checkout-progress) #containerExistingAccountSelect .panel-heading { min-height: 62px; padding: 0; background: #fff; }
.page-viewcart:has(.had-checkout-progress) #containerExistingAccountSelect .panel-heading label { display: flex; min-height: 62px; align-items: center; padding: 17px 20px; }
.page-viewcart:has(.had-checkout-progress) #containerExistingAccountSelect .panel-collapse.show { border-top: 1px solid var(--had-line); }
.page-viewcart:has(.had-checkout-progress) #containerExistingAccountSelect .panel-collapse .panel-body { padding: 22px 24px 24px; background: #fcfaff; }
.page-viewcart:has(.had-checkout-progress) #paymentGatewaysDetails { margin-top: 26px; }
.page-viewcart:has(.had-checkout-progress) #paymentGatewaysDetails .section { margin-top: 16px; padding: 20px; border: 1px solid var(--had-line); border-radius: 14px; background: #fcfaff; }
.page-viewcart:has(.had-checkout-progress) #paymentGatewaysContainer .panel-check { margin-bottom: 12px; }
.page-viewcart:has(.had-checkout-progress) .checkout-security-msg { display: flex; align-items: flex-start; gap: 12px; margin: 26px 0 0; padding: 17px 19px; border: 1px solid #d9cdf0; background: linear-gradient(105deg, #f7f2ff, #fff); }
.page-viewcart:has(.had-checkout-progress) .checkout-security-msg .alert-body { line-height: 1.5; }
.page-viewcart:has(.had-checkout-progress) .checkout-security-msg .ls-lock { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 9px; background: var(--had-purple-600); color: #fff; }

/* Summary: clear handoff from heading to product, then explicit trust context beneath it. */
.main-body:has(.had-checkout-progress) .main-grid .panel-summary #producttotal .panel-body { padding: 24px 24px 21px; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary #producttotal .summary-list { margin-top: 0; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary #producttotal .list-item-main { padding-top: 2px; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary #producttotal,
.main-body:has(.had-checkout-progress) .main-grid .panel-summary #producttotal .panel-body,
.main-body:has(.had-checkout-progress) .main-grid .panel-summary #producttotal .summary-content { height: auto !important; max-height: none !important; overflow: visible !important; }
.main-body:has(.had-checkout-progress) .main-grid #orderSummary,
.main-body:has(.had-checkout-progress) .main-grid .sidebar-sticky-summary,
.main-body:has(.had-checkout-progress) .main-grid .sidebar-sticky-summary .panel-summary { height: auto !important; max-height: none !important; overflow: visible !important; }
.had-summary-trusts { display: grid; gap: 8px; padding: 0 14px 14px; background: #fff; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .had-summary-trust { margin: 0; padding: 10px 11px; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary .had-summary-trust + .had-summary-trust { margin-top: 0; }
.main-body:has(.had-checkout-progress) .main-grid .panel-summary + .had-summary-trust,
.main-body:has(.had-checkout-progress) .main-grid .panel-summary + .had-summary-trust + .had-summary-trust { display: none; }
.had-summary-guarantee { display: flex; align-items: flex-start; gap: 11px; margin: 12px 5px 0; padding: 13px 12px; border: 1px solid #bde7d4; border-radius: 13px; background: linear-gradient(135deg, #f4fffa 0%, #ecfff5 100%); box-shadow: 0 10px 22px rgba(20, 131, 93, .08); color: var(--had-muted); }
.had-summary-guarantee > i { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 9px; background: #d8f7e7; color: #14835d; font-size: 14px; }
.had-summary-guarantee strong, .had-summary-guarantee span { display: block; }
.had-summary-guarantee strong { color: var(--had-ink); font-size: 12px; font-weight: 850; line-height: 1.3; }
.had-summary-guarantee span { margin-top: 3px; font-size: 11px; line-height: 1.4; }
.had-social-proof { position: relative; margin: 16px 5px 0; padding: 18px 14px 14px; overflow: hidden; border: 1px solid #dccaf5; border-radius: 16px; background: radial-gradient(circle at 100% 0%, rgba(255, 191, 58, .15), transparent 35%), linear-gradient(145deg, #fff 0%, #fcfaff 100%); box-shadow: 0 15px 30px rgba(65, 33, 110, .1); }
.had-social-proof::before { display: block; margin-bottom: 9px; color: #6531b8; content: "AVALIAÇÕES NO GOOGLE"; font-size: 9px; font-weight: 900; letter-spacing: .085em; }
.had-social-proof__rating { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #697188; font-size: 12px; font-weight: 650; line-height: 1.2; }
.had-social-proof__score { color: var(--had-ink); font-size: 23px; font-weight: 900; letter-spacing: -.04em; }
.had-social-proof__stars { display: inline-flex; gap: 2px; padding: 5px 6px; border-radius: 8px; background: #fff6dc; color: #e9a20c; font-size: 14px; box-shadow: inset 0 0 0 1px rgba(233, 162, 12, .15); }
.had-social-proof blockquote { position: relative; margin: 15px 0 14px; padding: 15px 13px 14px 42px; border: 1px solid #ece6f4; border-radius: 11px; background: rgba(255,255,255,.78); color: #3d3650; font-size: 14px; font-style: italic; font-weight: 600; line-height: 1.52; }
.had-social-proof blockquote::before { position: absolute; top: 7px; left: 13px; color: #9a62dc; content: "“"; font-family: Georgia, serif; font-size: 38px; font-style: normal; font-weight: 900; line-height: 1; }
.had-social-proof__footer { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 9px; padding-top: 12px; border-top: 1px solid #e9e1f2; }
.had-social-proof__avatar { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #3b146e, #9a54dd); color: #fff; font-size: 12px; font-weight: 850; }
.had-social-proof__footer strong, .had-social-proof__footer small { display: block; }
.had-social-proof__footer strong { color: var(--had-ink); font-size: 12px; font-weight: 850; line-height: 1.15; }
.had-social-proof__footer small { margin-top: 2px; color: var(--had-muted); font-size: 11px; line-height: 1.15; }
.had-social-proof__footer a { color: #2a71c9; font-size: 11px; font-weight: 850; white-space: nowrap; }
.had-social-proof__footer a:hover { color: var(--had-purple-700); text-decoration: none; }
.had-social-proof__footer a i { margin-left: 2px; font-size: 9px; }

/* Keep the upsell separate from the cycle cards so the CTA reads as the next step, never as overlap. */
.main-body:has(.had-checkout-progress) #sectionCycles .had-cycle-offer { clear: both; width: 100%; margin: 28px 0 2px; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group + .had-cycle-offer { margin-top: 28px; }
@media (max-width: 575px) {
    .had-cycle-offer.is-visible { align-items: flex-start; flex-wrap: wrap; }
    .had-cycle-offer button { width: 100%; }
    .page-viewcart:has(.had-checkout-progress) .billing-details-form > .section { padding: 20px; }
}

/* Final cycle layout override: a deliberate fixed rhythm keeps prices and discounts aligned. */
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch !important; gap: 18px !important; margin-bottom: 32px !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group > [class*="col-"] { display: block !important; width: auto !important; min-width: 0 !important; padding: 0 !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check { height: 164px !important; min-height: 164px !important; margin: 0 !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle,
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle label,
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-content { height: 100% !important; min-height: 0 !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-content { display: flex !important; align-items: center; padding: 20px 16px !important; text-align: center; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-title { width: 100%; min-height: 0 !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group + .had-cycle-offer { margin-top: 0 !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .had-cycle-offer { min-height: 106px; margin: 0 !important; padding: 18px 20px !important; }
.had-cycle-offer__crm { display: flex; align-items: center; gap: 7px; margin-top: 8px; color: #c9ffdf !important; font-size: 11px !important; line-height: 1.35; }
.had-cycle-offer__crm i { color: #b8ffd9; }
.had-crm-benefit { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr) minmax(220px, 248px); align-items: center; gap: 19px; isolation: isolate; margin: 22px 0 26px; padding: 24px 26px; overflow: hidden; border: 1px solid #d7cef5; border-radius: 18px; background: radial-gradient(circle at 88% 0%, rgba(255, 119, 41, .12), transparent 26%), radial-gradient(circle at 72% 100%, rgba(112, 66, 230, .12), transparent 32%), linear-gradient(112deg, #fff 0%, #fbf9ff 100%); box-shadow: 0 16px 34px rgba(67, 33, 122, .1); color: #203148; animation: had-crm-benefit-rise .48s ease both; }
.had-crm-benefit::before { position: absolute; z-index: 0; top: -30%; left: -45%; width: 30%; height: 170%; background: linear-gradient(100deg, transparent, rgba(147, 102, 255, .08), rgba(255,255,255,.94), rgba(255, 139, 77, .1), transparent); content: ""; pointer-events: none; transform: skewX(-18deg); animation: had-crm-benefit-shine 5.4s ease-in-out infinite; }
.had-crm-benefit::after { position: absolute; z-index: 0; top: -138px; right: -96px; width: 275px; height: 275px; border: 1px solid rgba(105, 69, 219, .14); border-radius: 50%; content: ""; }
.had-crm-benefit > * { position: relative; z-index: 1; }
.had-crm-benefit__icon { animation: had-crm-icon-glow 2.8s ease-in-out infinite; }
@keyframes had-crm-benefit-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes had-crm-benefit-shine { 0%, 38% { left: -45%; opacity: 0; } 45% { opacity: 1; } 63%, 100% { left: 118%; opacity: 0; } }
@keyframes had-crm-icon-glow { 0%, 100% { box-shadow: 0 7px 16px rgba(92, 55, 202, .18); transform: translateY(0); } 50% { box-shadow: 0 12px 25px rgba(92, 55, 202, .32); transform: translateY(-2px); } }
@keyframes had-crm-visual-float { 0%, 100% { transform: translateY(0) rotate(1.25deg); } 50% { transform: translateY(-3px) rotate(1.25deg); } }
.had-crm-benefit__icon { position: relative; z-index: 1; display: grid; width: 54px; height: 54px; place-items: center; border-radius: 16px; background: linear-gradient(135deg, #5120b7, #8243df); box-shadow: 0 9px 19px rgba(91, 48, 191, .26); color: #fff; font-size: 20px; }
.had-crm-benefit__copy { position: relative; z-index: 1; display: grid; gap: 6px; min-width: 0; }
.had-crm-benefit__eyebrow { color: #6a35bd; font-size: 10px; font-weight: 900; letter-spacing: .085em; }
.had-crm-benefit__eyebrow i { margin-right: 4px; color: #ff6d1b; }
.had-crm-benefit strong { max-width: 470px; color: #17213b; font-size: clamp(18px, 2vw, 23px); font-weight: 900; letter-spacing: -.035em; line-height: 1.16; }
.had-crm-benefit strong span { background: linear-gradient(100deg, #5522bd, #9a43cf, #ff6a1a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.had-crm-benefit p { max-width: 500px; margin: 0; color: #536078; font-size: 13px; line-height: 1.48; }
.had-crm-benefit__points { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 2px; color: #303b54; font-size: 11px; font-weight: 750; }
.had-crm-benefit__points i { margin-right: 4px; color: #2f9c67; }
.had-crm-benefit__included { display: inline-flex; align-items: center; gap: 6px; margin-top: 3px; color: #4e2a96; font-size: 11px; font-weight: 850; }
.had-crm-benefit__included i { color: #2f9c67; }
.had-crm-benefit__visual { width: 100%; padding: 13px; border: 1px solid rgba(111, 78, 205, .16); border-radius: 15px; background: rgba(255,255,255,.8); box-shadow: 0 12px 24px rgba(71, 37, 135, .12); transform: rotate(1.25deg); animation: had-crm-visual-float 4.2s ease-in-out infinite; }
.had-crm-benefit__visual-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; color: #202b44; font-size: 11px; font-weight: 850; }
.had-crm-benefit__visual-head > span i { margin-right: 5px; color: #6331c8; }
.had-crm-benefit__visual-head b { padding: 4px 6px; border-radius: 999px; background: #e8f8ef; color: #278257; font-size: 8px; letter-spacing: .035em; }
.had-crm-benefit__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.had-crm-benefit__stages > span { position: relative; display: grid; gap: 5px; min-height: 62px; padding: 9px 7px; overflow: hidden; border: 1px solid #ebe7f4; border-radius: 10px; background: #fff; }
.had-crm-benefit__stages > span::before { position: absolute; top: 0; right: 8px; left: 8px; height: 3px; border-radius: 0 0 4px 4px; background: #7136d2; content: ""; }
.had-crm-benefit__stages .is-proposal::before { background: #ff7b2d; }
.had-crm-benefit__stages .is-won::before { background: #35a76d; }
.had-crm-benefit__stages small { color: #687289; font-size: 8px; font-weight: 750; }
.had-crm-benefit__stages b { color: #1c2842; font-size: 18px; line-height: 1; }
.had-crm-benefit + #sectionCycles { margin-top: 0 !important; }
@media (max-width: 575px) {
    .had-crm-benefit { grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 18px; }
    .had-crm-benefit__icon { width: 46px; height: 46px; border-radius: 14px; font-size: 17px; }
    .had-crm-benefit__visual { grid-column: 1 / -1; margin-top: 3px; transform: none; }
    .had-crm-benefit strong { font-size: 19px; }
}
@media (max-width: 767px) {
    .main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .main-body:has(.had-checkout-progress) #sectionCycles .panel-check { height: 156px !important; min-height: 156px !important; }
}

/* Every cycle uses the same centered content frame; the radio stays independent in its top-left anchor. */
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle label { position: relative; display: block !important; width: 100%; height: 100%; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-content { box-sizing: border-box !important; width: 100% !important; max-width: none !important; margin-left: 0 !important; padding: 32px 14px 16px !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-title,
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .check-subtitle { width: 100% !important; margin-right: auto !important; margin-left: auto !important; text-align: center !important; }
.main-body:has(.had-checkout-progress) #sectionCycles .check-cycle .label-save { align-self: center; margin-right: auto; margin-left: auto; }

/* Discounts become scannable floating markers instead of competing with each cycle price. */
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group { padding-top: 40px; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check .label-save { position: absolute; z-index: 3; top: -12px; left: 50%; display: inline-flex; width: max-content; min-height: 22px; margin: 0; padding: 4px 9px; align-items: center; border-radius: 999px; background: linear-gradient(105deg, #119b72, #1fc79a); box-shadow: 0 7px 15px rgba(20, 167, 119, .25); color: #fff; font-size: 10px; font-weight: 850; line-height: 1; transform: translateX(-50%); white-space: nowrap; }
.main-body:has(.had-checkout-progress) #sectionCycles .panel-check:has(label[data-config-val="annually"])::before { top: -40px; }
@media (max-width: 767px) {
    .main-body:has(.had-checkout-progress) #sectionCycles .panel-check-group { padding-top: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .had-crm-benefit, .had-crm-benefit::before, .had-crm-benefit__icon, .had-crm-benefit__visual { animation: none !important; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice,
    .had-domain-action-context,
    .had-domain-action-context::before,
    .had-domain-action-context__icon { animation: none !important; }
}

/* Familiar iconography anchors the three decision areas without adding visual noise. */
.main-body:has(.had-checkout-progress) .main-grid #sectionCycles .section-title::before,
.main-body:has(.had-checkout-progress) .main-grid .domain-options .section-title::before,
.main-body:has(.had-checkout-progress) .main-grid .billing-details-form .section-title::before { display: none !important; content: none !important; }
.had-section-icon {
    display: inline-grid !important;
    width: 32px;
    height: 32px;
    margin-right: 10px;
    place-items: center;
    border-radius: 9px;
    background: var(--had-purple-100);
    color: var(--had-purple-700);
    font-size: 14px;
    font-weight: 900;
    vertical-align: 3px;
}

/* Motion remains short and purposeful: orientation on load, feedback on intent. */
@keyframes had-checkout-rise {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes had-checkout-pulse {
    0%, 100% { box-shadow: 0 5px 13px rgba(101, 22, 167, .25); }
    50% { box-shadow: 0 7px 19px rgba(101, 22, 167, .38); }
}
@keyframes had-cycle-shine {
    0%, 65% { transform: translateX(-170%) rotate(16deg); }
    100% { transform: translateX(520%) rotate(16deg); }
}
.had-checkout-progress { animation: had-checkout-rise .36s cubic-bezier(.2, .8, .2, 1) both; }
.main-body:has(.had-checkout-progress) .main-grid > * { animation: had-checkout-rise .42s .06s cubic-bezier(.2, .8, .2, 1) both; }
.main-body:has(.had-checkout-progress) .main-grid .section { animation: had-checkout-rise .42s .11s cubic-bezier(.2, .8, .2, 1) both; }
.had-checkout-step.is-active .had-checkout-step__number { animation: had-checkout-pulse 2.3s ease-in-out infinite; }
.main-body:has(.had-checkout-progress) .main-grid .btn-primary:active,
.main-body:has(.had-checkout-progress) .main-grid .btn-checkout:active { transform: translateY(1px) scale(.985); box-shadow: none; }
.main-body:has(.had-checkout-progress) .main-grid .package:focus-within { border-color: var(--had-purple-600); box-shadow: 0 0 0 4px rgba(120, 60, 199, .13); }

/* Domain selection becomes a short, scannable decision before exposing its respective form. */
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices { overflow: visible; border: 1px solid #e5d9f1; border-radius: 18px; background: linear-gradient(145deg, #fff, #fcfaff); box-shadow: 0 14px 32px rgba(55, 28, 92, .07); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option { padding: clamp(24px, 3.5vw, 38px); }
.had-domain-choices__intro { max-width: 630px; margin-bottom: 24px; }
.had-domain-choices__intro > span { color: var(--had-purple-700); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.had-domain-choices__intro h1 { margin: 7px 0 6px; color: var(--had-ink); font-size: clamp(25px, 3vw, 34px); font-weight: 900; letter-spacing: -.035em; line-height: 1.1; }
.had-domain-choices__intro p { margin: 0; color: var(--had-muted); font-size: 14px; line-height: 1.55; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option .content { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice { position: relative; display: flex; min-height: 92px; align-items: flex-start; margin: 0; padding: 18px; border: 1px solid #e2d9ed; border-radius: 14px; background: #fff; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice:hover { border-color: #bf98ed; box-shadow: 0 9px 20px rgba(82, 33, 136, .09); transform: translateY(-1px); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > .icheck-control { position: absolute; top: 20px; left: 18px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > .radio-styled { position: absolute; top: 20px; left: 18px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > span { display: grid; gap: 4px; width: 100%; margin-left: 31px; color: var(--had-ink); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice strong { font-size: 13px; font-weight: 850; line-height: 1.35; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice small { color: var(--had-muted); font-size: 11px; line-height: 1.4; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box { display: flex; width: 100%; min-height: 54px; align-items: flex-start; gap: 13px; margin: 0 !important; padding: 0 !important; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: var(--had-purple-100); color: var(--had-purple-700); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-icon svg { width: 22px; height: 22px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-text { display: grid; gap: 4px; min-width: 0; padding-top: 2px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-text-title { color: var(--had-ink); font-size: 13px; font-weight: 850; line-height: 1.35; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-text-subtitle { color: var(--had-muted); font-size: 11px; line-height: 1.4; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice:has(input:checked) { border-color: var(--had-purple-600); background: #fff; box-shadow: 0 0 0 3px rgba(120, 60, 199, .11); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search { margin-top: 0; padding: clamp(20px, 3vw, 30px); border-top: 1px solid #eee6f5; background: rgba(250,248,253,.7); }
@media (max-width: 575px) {
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option { padding: 22px 18px; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice { min-height: 82px; padding: 15px; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > .icheck-control,
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > .radio-styled { top: 17px; left: 15px; }
}

/* A single guided decision: intent first, then the matching domain action. */
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices { border-color: #decaf4; background: radial-gradient(circle at 88% 3%, rgba(160, 93, 234, .14), transparent 23%), linear-gradient(145deg, #fff 0%, #fcfaff 100%); box-shadow: 0 22px 46px rgba(58, 24, 100, .11); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option { padding: clamp(30px, 4vw, 46px) clamp(24px, 5vw, 56px) 34px; }
.had-domain-lead { max-width: 660px; margin: 0 auto 28px; text-align: center; }
.had-domain-lead__eyebrow { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; padding: 7px 11px; border: 1px solid #ded0f2; border-radius: 999px; background: #f8f3ff; color: var(--had-purple-700); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.had-domain-lead__eyebrow i { font-size: 11px; }
.had-domain-lead h2 { margin: 0; color: var(--had-ink); font-size: clamp(25px, 3vw, 34px); font-weight: 900; letter-spacing: -.04em; line-height: 1.1; }
.had-domain-lead p { max-width: 520px; margin: 10px auto 0; color: var(--had-muted); font-size: 14px; line-height: 1.55; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option .content { width: min(100%, 860px) !important; margin-right: auto !important; margin-left: auto !important; justify-content: center; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice { display: block; min-height: 172px; padding: 21px; overflow: hidden; border-color: #e2d8ee; border-radius: 17px; box-shadow: 0 8px 18px rgba(47, 23, 82, .04); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice[class*="content-"] { width: auto !important; max-width: none !important; flex: none !important; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice::after { position: absolute; top: 15px; right: 15px; padding: 5px 8px; border-radius: 999px; background: #f2ebfc; color: var(--had-purple-700); content: attr(data-had-guidance); font-size: 8px; font-weight: 900; letter-spacing: .055em; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > .icheck-control,
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice > .radio-styled { top: 18px; right: 18px; left: auto; z-index: 2; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box { min-height: 132px; flex-direction: column; align-items: center; gap: 14px; justify-content: center; text-align: center; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-icon { width: 58px; height: 58px; flex-basis: 58px; border-radius: 16px; background: linear-gradient(135deg, #f1f8ff, #ddecff); box-shadow: 0 9px 18px rgba(42, 113, 190, .16); color: #2774c5; transform: translateY(9px); transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-icon svg { width: 32px; height: 32px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-text { width: 100%; align-items: center; gap: 5px; max-width: 270px; padding: 0; text-align: center; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-text-title { font-size: 16px; font-weight: 900; letter-spacing: -.025em; line-height: 1.2; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice .box-text-subtitle { font-size: 12px; line-height: 1.45; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice:hover { border-color: #bd91ec; box-shadow: 0 15px 28px rgba(82, 33, 136, .13); transform: translateY(-4px); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice:hover .box-icon { box-shadow: 0 13px 24px rgba(42, 113, 190, .25); transform: translateY(6px) rotate(-2deg); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice.is-selected { border-color: #7c4ec5; background: #fff; box-shadow: 0 0 0 3px rgba(120, 60, 199, .09), 0 16px 32px rgba(69, 46, 104, .12); animation: had-domain-choice-select .38s cubic-bezier(.2,.8,.2,1) both; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice.is-selected::after { background: linear-gradient(112deg, #2f72ba, #5896d8); box-shadow: 0 6px 12px rgba(42, 113, 190, .22); color: #fff; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice.is-selected .box-icon { background: linear-gradient(135deg, #f2f9ff, #dcecff); box-shadow: 0 13px 25px rgba(42, 113, 190, .24); color: #206fbe; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search { padding: 0 clamp(24px, 5vw, 56px) clamp(28px, 4vw, 42px); border: 0; background: transparent; }
.had-domain-action-context { position: relative; isolation: isolate; display: flex; width: min(100%, 860px); align-items: center; gap: 14px; margin: 0 auto 17px; padding: 16px 18px; overflow: hidden; border: 1px solid #b9d9ff; border-radius: 15px; background: linear-gradient(112deg, #f7fbff, #eaf5ff); box-shadow: 0 11px 24px rgba(45, 107, 171, .09); animation: had-domain-banner-breathe 3.8s ease-in-out infinite; }
.had-domain-action-context::before { position: absolute; top: -60%; left: -34%; z-index: 0; width: 18%; height: 220%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.88), transparent); content: \"\"; opacity: 0; transform: skewX(-20deg); animation: had-domain-banner-shine 5.6s ease-in-out infinite; }
.had-domain-action-context > * { position: relative; z-index: 1; }
.had-domain-action-context.is-updating { animation: had-domain-action-rise .32s ease both, had-domain-banner-breathe 3.8s .32s ease-in-out infinite; }
.had-domain-action-context__icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: #3177ca; box-shadow: 0 7px 16px rgba(49, 119, 202, .24); color: #fff; animation: had-domain-banner-icon 2.8s ease-in-out infinite; }
.had-domain-action-context__eyebrow { display: block; margin-bottom: 3px; color: #2670b9; font-size: 9px; font-weight: 900; letter-spacing: .095em; }
.had-domain-action-context strong { display: block; color: #172d48; font-size: 14px; font-weight: 900; line-height: 1.3; }
.had-domain-action-context p { margin: 2px 0 0; color: #5a6f86; font-size: 12px; line-height: 1.4; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search > .inline-form { width: min(100%, 940px); margin-right: auto !important; margin-left: auto !important; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search > .inline-form > .inline-form-element:last-child { flex: 0 0 252px; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .form-control,
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .dropdown-toggle { min-height: 54px; border-color: #ddd2eb; border-radius: 11px; background: #fff; box-shadow: 0 6px 14px rgba(51, 23, 86, .04); }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .btn-primary,
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .btn-primary-faded { width: 100%; min-width: 252px; min-height: 54px; padding-right: 22px; padding-left: 22px; border: 0; border-radius: 11px; background: linear-gradient(110deg, #4f1996, #813bd5); box-shadow: 0 11px 21px rgba(85, 30, 154, .23); color: #fff; font-weight: 850; white-space: nowrap; }
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .btn-primary:hover,
.main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .btn-primary-faded:hover { background: linear-gradient(110deg, #40117f, #7130c2); transform: translateY(-1px); }
@keyframes had-domain-choice-select { from { opacity: .7; transform: scale(.98); } to { opacity: 1; transform: scale(1); } }
@keyframes had-domain-action-rise { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes had-domain-banner-breathe { 0%, 100% { box-shadow: 0 11px 24px rgba(45, 107, 171, .09); transform: translateY(0); } 50% { box-shadow: 0 16px 30px rgba(45, 107, 171, .16), 0 0 0 3px rgba(106, 177, 255, .08); transform: translateY(-1px); } }
@keyframes had-domain-banner-shine { 0%, 46% { left: -34%; opacity: 0; } 50% { opacity: .9; } 62% { left: 117%; opacity: 0; } 100% { left: 117%; opacity: 0; } }
@keyframes had-domain-banner-icon { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-2px) scale(1.035); } }
@media (max-width: 767px) {
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option .content { grid-template-columns: 1fr; gap: 12px; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choice { min-height: 145px; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search > .inline-form { flex-wrap: wrap; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search > .inline-form > .inline-form-element:last-child { width: 100%; flex-basis: 100%; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .btn-primary,
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search .btn-primary-faded { min-width: 0; }
}
@media (max-width: 575px) {
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-option { padding: 26px 18px 23px; }
    .had-domain-lead { margin-bottom: 22px; text-align: left; }
    .had-domain-lead p { margin-left: 0; }
    .main-body:has(.had-checkout-view-configureproductdomain) .had-domain-choices .panel-domain-search { padding: 0 18px 24px; }
    .had-domain-action-context { align-items: flex-start; padding: 14px; }
}

/* Coupon entry stays available without competing with the payment decision. */
.page-viewcart:has(.had-checkout-progress) .had-promo-section { padding: 0; border: 0; background: transparent; box-shadow: none; }
.had-promo-disclosure { border: 1px solid #e3daf2; border-radius: 14px; background: rgba(255,255,255,.8); box-shadow: 0 10px 22px rgba(54, 30, 89, .05); }
.had-promo-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 15px 18px; color: var(--had-ink); cursor: pointer; font-size: 13px; font-weight: 800; list-style: none; }
.had-promo-disclosure summary::-webkit-details-marker { display: none; }
.had-promo-disclosure summary > span:first-child i { margin-right: 8px; color: var(--had-purple-600); }
.had-promo-disclosure__action { color: var(--had-purple-700); font-size: 11px; font-weight: 800; white-space: nowrap; }
.had-promo-disclosure__action i { margin-left: 5px; transition: transform .18s ease; }
.had-promo-disclosure[open] { border-color: #c9afea; }
.had-promo-disclosure[open] .had-promo-disclosure__action i { transform: rotate(180deg); }
.had-promo-disclosure__body { padding: 0 18px 18px; border-top: 1px solid #eee8f5; animation: had-checkout-rise .2s ease both; }
.had-promo-disclosure__body > p { margin: 14px 0 11px; color: var(--had-muted); font-size: 12px; }
.had-promo-disclosure__body .search-box { margin-bottom: 0 !important; }

/* Lightweight local validation makes Brazilian checkout data easier to complete without external data sharing. */
.page-viewcart:has(.had-checkout-progress) .form-group.had-field-is-valid .form-control { border-color: #55bd90; box-shadow: 0 0 0 3px rgba(64, 177, 126, .1); }
.page-viewcart:has(.had-checkout-progress) .form-group.had-field-is-invalid .form-control { border-color: #d15a73; box-shadow: 0 0 0 3px rgba(209, 90, 115, .1); }
.had-field-feedback { display: none; margin-top: 6px; font-size: 11px; line-height: 1.3; }
.had-field-feedback.is-visible { display: block; }
.had-field-is-valid .had-field-feedback { color: #21875c; }
.had-field-is-invalid .had-field-feedback { color: #b13d59; }
@media (max-width: 575px) {
    .had-promo-disclosure summary { min-height: 54px; padding: 13px 15px; }
    .had-promo-disclosure__body { padding: 0 15px 15px; }
    .had-promo-disclosure__action { font-size: 10px; }
}

/* Security context is rendered in the summary markup so its order stays meaningful. */
.main-body:has(.had-checkout-progress) .main-grid .panel-summary::after { display: none; content: none; }

@media (prefers-reduced-motion: reduce) {
    .had-checkout-progress,
    .main-body:has(.had-checkout-progress) .main-grid > *,
    .main-body:has(.had-checkout-progress) .main-grid .section,
    .had-checkout-step.is-active .had-checkout-step__number { animation: none; }
    .had-cycle-offer::after { animation: none; }
    .main-body:has(.had-checkout-progress) #sectionCycles .panel-check:has(label[data-config-val="annually"])::before { animation: none; }
    .main-body:has(.had-checkout-progress) .main-grid .package,
    .main-body:has(.had-checkout-progress) .main-grid .btn-primary,
    .main-body:has(.had-checkout-progress) .main-grid .btn-checkout { transition: none; }
}

@media (min-width: 1260px) {
    .main-body:has(.had-checkout-view-products) .main-grid .main-content { animation: none !important; }
}
