/* Public commercial components. Keep existing account and billing styles scoped out. */
html.design-v3 #root .v3-sales,
html.design-v3 #root .v3-sales-faq {
    box-sizing: border-box;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 48px 0;
    color: #132033;
}
html.design-v3 #root .v3-sales__heading { margin: 0 0 28px; text-align: center; }
html.design-v3 #root .v3-sales__heading h2 { margin: 0 0 12px; padding: 0; color: #132033; font-size: clamp(26px, 3vw, 36px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
html.design-v3 #root .v3-sales__heading h2::before,
html.design-v3 #root .v3-sales__heading h2::after { content: none; }
html.design-v3 #root .v3-sales__heading p { margin: 0; color: #617186; font-size: 16px; line-height: 1.6; }
html.design-v3 #root .v3-sales__heading p.v3-sales__eyebrow { margin: 0 0 12px; color: #3b751e; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
html.design-v3 #root .v3-sales__plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
html.design-v3 #root .v3-sales__plans--four { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
html.design-v3 #root .v3-sales-plan { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid #dce4ed; border-radius: 12px; background: #fff; }
html.design-v3 #root .v3-plan-new-badge { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 4px 10px; border-radius: 999px; background: #76c043; color: #08111f; font-size: 10px; font-weight: 800; line-height: 1.3; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
html.design-v3 #root .v3-sales-plan > .v3-plan-new-badge { position: absolute; top: -11px; right: 16px; }
html.design-v3 #root .v3-plan-heading--new { position: relative; }
html.design-v3 #root .v3-plan-heading--new > .v3-plan-new-badge { position: absolute; top: 5px; left: 50%; transform: translateX(-50%); padding: 2px 8px; }
html.design-v3 #root .v3-sales-plan--featured { border-color: #76c043; background: #f8fcf5; }
html.design-v3 #root .v3-sales-plan h3 { margin: 0 0 8px; padding: 0; color: #132033; font-size: 22px; line-height: 1.3; }
html.design-v3 #root .v3-sales-plan header > p { min-height: 48px; margin: 0; color: #617186; font-size: 15px; line-height: 1.6; }
html.design-v3 #root .v3-sales-plan__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 18px 0 22px; }
html.design-v3 #root .v3-sales-plan__price strong { color: #132033; font-size: 38px; font-weight: 750; line-height: 1.2; letter-spacing: -.03em; }
html.design-v3 #root .v3-sales-plan__price > span { color: #617186; font-size: 14px; }
html.design-v3 #root .v3-sales-plan__features { display: grid; gap: 12px; margin: 0 0 26px; padding: 0; list-style: none; }
html.design-v3 #root .v3-sales-plan__features li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; font-size: 15px; line-height: 1.5; }
html.design-v3 #root .v3-sales-plan__features li::before { content: none; }
html.design-v3 #root .v3-sales-plan__features i { flex: 0 0 18px; color: #4a8d2b; text-align: center; }
html.design-v3 #root a.v3-sales-button,
html.design-v3 #root span.v3-sales-button { display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 18px; border: 1px solid #76c043; border-radius: 9px; background: #76c043; color: #08111f; font-size: 15px; font-weight: 700; line-height: 1.45; text-align: center; text-decoration: none; box-shadow: none; }
html.design-v3 #root .v3-sales-plan > .v3-sales-button { margin-top: auto; }
html.design-v3 #root .v3-sales__plans--four .v3-sales-plan { padding: 22px 18px; }
html.design-v3 #root .v3-sales__plans--four .v3-sales-plan__price { flex-direction: column; align-items: flex-start; gap: 2px; }
html.design-v3 #root .v3-sales__plans--four .v3-sales-button { gap: 8px; padding-right: 10px; padding-left: 10px; font-size: 14px; }
html.design-v3 #root a.v3-sales-button:hover { border-color: #6ab139; background: #6ab139; color: #08111f; }
html.design-v3 #root span.v3-sales-button--disabled { border-color: #dce4ed; background: #edf1f5; color: #617186; }
/* Offer cards use the same primary action treatment as the comparison table. */
html.design-v3 #root .v3-sales-plan a.v3-sales-button,
html.design-v3 #root .v3-sales-plan button.v3-sales-button {
    display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center;
    width: 100%; min-height: 48px; gap: 9px; padding: 12px 18px;
    border: 1px solid var(--v3-green, #76c043); border-radius: 10px;
    background: var(--v3-green, #76c043); color: #fff; -webkit-text-fill-color: #fff;
    font-family: Inter, "Open Sans", "Segoe UI", Arial, sans-serif;
    font-size: 14px; font-weight: 700; line-height: 1.35; letter-spacing: normal;
    text-align: center; text-transform: none; text-decoration: none; text-shadow: none;
    box-shadow: none; cursor: pointer;
}
html.design-v3 #root .v3-sales-plan button.v3-sales-button { margin: 0; }
html.design-v3 #root .v3-sales-plan a.v3-sales-button:hover,
html.design-v3 #root .v3-sales-plan button.v3-sales-button:hover {
    background: var(--v3-green-dark, #5fa52e); border-color: var(--v3-green-dark, #5fa52e); color: #fff;
}
html.design-v3 #root .v3-sales-plan .v3-sales-button .fa {
    position: static; width: auto; height: auto; margin: 0; padding: 0;
    background: none; color: inherit; -webkit-text-fill-color: inherit; font-size: 11px; line-height: 1;
}
html.design-v3 #root .v3-sales-plan button.v3-sales-button::before,
html.design-v3 #root .v3-sales-plan button.v3-sales-button::after { display: none; content: none; }
html.design-v3 #root a.v3-sales-button--secondary { border-color: #b8c5d3; background: transparent; color: #132033; }
html.design-v3 #root .v3-sales-plan p.v3-sales-plan__referral { margin: 8px 0 0; color: #3b751e; font-size: 13px; text-align: center; }
html.design-v3 #root .v3-sales__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; color: #617186; font-size: 14px; }
html.design-v3 #root .v3-sales__bottom > span > i { color: #4a8d2b; }
html.design-v3 #root .v3-sales__bottom > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #3b751e; font-weight: 600; }
html.design-v3 #root article#featured.v3-seedbox-hero > .v3-sales-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; position: relative; z-index: 2; width: min(1180px, 100%); margin: 24px auto 0; }
html.design-v3 #root article#featured.v3-seedbox-hero .v3-sales-button--secondary { border-color: #718095; color: #fff; background: transparent; }
html.design-v3 #root article#featured.v3-seedbox-hero .v3-sales-button--secondary:hover { background: rgba(255,255,255,.1); }
html.design-v3 #root article#featured.v3-seedbox-hero > p.v3-sales-trial-note { margin-top: 14px; margin-bottom: 0; color: #bdcada !important; font-size: 13px; line-height: 1.6; }
html.design-v3 #root #comparatif-detail { scroll-margin-top: 24px; }
html.design-v3 #root .v3-comparison-controls { display: none; }
html.design-v3 #root .v3-seedbox-comparison > .table-wrapper:focus-visible { outline: 3px solid #2f80ed; outline-offset: 3px; }
html.design-v3 #root .v3-sales-faq { padding-top: 24px; padding-bottom: 56px; }
html.design-v3 #root .v3-sales-faq__items { max-width: 900px; margin: 0 auto; border: 1px solid #dce4ed; border-radius: 12px; overflow: hidden; background: #fff; }
html.design-v3 #root .v3-sales-faq details + details { border-top: 1px solid #dce4ed; }
html.design-v3 #root .v3-sales-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; padding: 18px 24px; color: #132033; font-size: 16px; font-weight: 600; line-height: 1.5; list-style: none; cursor: pointer; }
html.design-v3 #root .v3-sales-faq summary::-webkit-details-marker { display: none; }
html.design-v3 #root .v3-sales-faq summary > i { flex: 0 0 14px; color: #4a8d2b; font-size: 14px; }
html.design-v3 #root .v3-sales-faq details[open] summary > i::before { content: '\f068'; }
html.design-v3 #root .v3-sales-faq details > div { padding: 0 24px 22px; color: #617186; font-size: 16px; line-height: 1.7; }
html.design-v3 #root .v3-sales-faq details p { margin: 0; color: #617186; font-size: 16px; line-height: 1.7; }
html.design-v3 #root .v3-sales-faq details a { display: inline-block; margin-top: 12px; color: #3b751e; text-decoration: underline; text-underline-offset: 3px; }
html.design-v3 #root .v3-sales-faq__contact { margin: 24px 0 0; font-size: 15px; text-align: center; }
html.design-v3 #root .v3-sales-faq__contact a { color: #3b751e; font-weight: 600; }
html.design-v3 section.v3-seedbox-comparison--four table.v3-seedbox-table { min-width: 1120px; }
html.design-v3 section.v3-seedbox-comparison .v3-seedbox-table tr > *:first-child { width: 310px; white-space: nowrap; overflow-wrap: normal; }
html.design-v3 #root .v3-sales-button:focus-visible,
html.design-v3 #root .v3-sales-faq summary:focus-visible { outline: 3px solid #2f80ed; outline-offset: 3px; }
@media (min-width: 761px) and (max-width: 1023px) {
    html.design-v3 #root .v3-sales__plans--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
    html.design-v3 #root .v3-comparison-controls:not([hidden]) { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; margin: 0 auto 14px; max-width: 1180px; }
    html.design-v3 #root .v3-comparison-controls button { box-sizing: border-box; min-width: 0; min-height: 44px; margin: 0; padding: 8px 3px; border: 1px solid #c8dfbb; border-radius: 8px; background: #f3faed; color: #315f1a; font: 700 11px/1.4 Inter, "Open Sans", Arial, sans-serif; white-space: nowrap; box-shadow: none; }
    html.design-v3 #root .v3-comparison-controls button:hover { border-color: #76c043; background: #e5f2dc; }
    html.design-v3 #root .v3-comparison-controls button:focus-visible { outline: 3px solid #2f80ed; outline-offset: 2px; }
}
@media (max-width: 760px) {
    /* Keep a complete offer beside the sticky labels, even at 320 px. The
     * desktop's 310 px label column used to cover the entire mobile viewport. */
    html.design-v3 #root section.v3-seedbox-comparison { --v3-compare-label: clamp(112px, 34vw, 156px); }
    html.design-v3 #root section.v3-seedbox-comparison table.v3-seedbox-table { width: calc(300% - 2 * var(--v3-compare-label)); min-width: calc(300% - 2 * var(--v3-compare-label)); }
    html.design-v3 #root section.v3-seedbox-comparison--four table.v3-seedbox-table { width: calc(400% - 3 * var(--v3-compare-label)); min-width: calc(400% - 3 * var(--v3-compare-label)); }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table tr > * { padding: 14px 10px; font-size: 13px; }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table tr > *:first-child { width: var(--v3-compare-label); white-space: normal; overflow-wrap: break-word; font-size: 12px; line-height: 1.5; background: #f3f6fa; }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table tr > *:first-child > .fa { display: none; }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table .v3-plan-headings > th { padding-top: 27px; padding-bottom: 20px; font-size: 17px; }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table .v3-plan-headings > th:first-child { background: #0f1b2d; }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table .v3-plan-price > td.scheme-f > span { display: block; font-size: 28px; }
    html.design-v3 #root section.v3-seedbox-comparison .v3-seedbox-table .v3-plan-actions .link-b a { width: 100%; min-width: 0; padding: 12px 8px; font-size: 13px; }
    html.design-v3 #root .v3-sales, html.design-v3 #root .v3-sales-faq { width: calc(100% - 32px); padding-top: 32px; padding-bottom: 32px; }
    html.design-v3 #root .v3-sales__plans { grid-template-columns: 1fr; gap: 16px; }
    html.design-v3 #root .v3-sales-plan { padding: 24px; }
    html.design-v3 #root .v3-sales-plan header > p { min-height: 0; }
    html.design-v3 #root .v3-sales-plan__price { margin-top: 18px; }
    html.design-v3 #root .v3-sales__bottom { justify-content: center; text-align: center; }
    html.design-v3 #root .v3-sales-faq summary { padding: 16px 18px; }
    html.design-v3 #root .v3-sales-faq details > div { padding: 0 18px 20px; }
    html.design-v3 #root article#featured.v3-seedbox-hero > .v3-sales-hero-actions { width: calc(100% - 40px); }
    html.design-v3 #root .v3-sales-hero-actions > .v3-sales-button { flex: 1 1 200px; }
}
