/* Native public presentation, 2026-10-22.
 * Original Cully CSS over inherited WHMCS 9.1 markup. No commerce data or
 * application state is supplied here. Keep authenticated workspace CSS separate.
 */
body.cully-public {
    --cully-public-line: #dce5f1;
    --cully-public-canvas: #f5f7fc;
    font-family: var(--family-font);
    color: var(--family-text);
    background: var(--cully-public-canvas);
}
body.cully-public :is(h1, h2, h3, h4, h5, h6, input, select, textarea, button, .btn) {
    font-family: var(--family-font);
}
body.cully-public:not(.cully-public-home) #main-body {
    padding-block: 0 48px;
    background: var(--cully-public-canvas);
}
body.cully-public .primary-content { min-width: 0; }
body.cully-public .master-breadcrumb { padding-block: 16px 20px; font-size: 12px; }
body.cully-public .cully-page-heading { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--cully-public-line); }
body.cully-public .cully-page-heading h1 { font-size: 30px; line-height: 1.2; letter-spacing: -.6px; }
body.cully-public #main-body :is(h1, h2, h3, h4, h5, h6) { overflow-wrap: anywhere; }
body.cully-public :is(.card, .list-group-item, .table-container) { border-color: var(--cully-public-line); }
body.cully-public .card { border-radius: 5px; box-shadow: none; }
body.cully-public .card-body { padding: 24px; }
body.cully-public .card-title { font-size: 18px; }
body.cully-public :is(.text-muted, small.text-muted) { color: var(--family-copy) !important; }
body.cully-public .form-control {
    min-height: 44px;
    max-width: 100%;
    color: var(--family-text);
    background-color: #fff;
    border-color: #bacbdd;
    border-radius: 4px;
    font-size: 14px;
}
body.cully-public textarea.form-control { min-height: 140px; resize: vertical; }
body.cully-public .form-control::placeholder { color: #64758d; opacity: 1; }
body.cully-public .form-control:focus { border-color: var(--family-action); box-shadow: 0 0 0 2px #1763e91c; }
body.cully-public .form-group label { color: var(--family-text); font-size: 13px; }
body.cully-public .input-group { min-width: 0; }
body.cully-public .input-group > .form-control { min-width: 0; }
body.cully-public :is(.btn-primary, .btn-success) {
    color: #fff;
    background: var(--family-action);
    border-color: var(--family-action);
}
body.cully-public :is(.btn-primary, .btn-success):hover {
    color: #fff;
    background: var(--family-action-hover);
    border-color: var(--family-action-hover);
}
body.cully-public :is(.btn-primary, .btn-success):disabled { opacity: .6; }
body.cully-public .alert { border-radius: 4px; overflow-wrap: anywhere; }
body.cully-public .alert-info { background: #eaf2fc; border-color: #cbdcf0; color: #173f72; }
body.cully-public .alert-danger { background: #fdf0f0; border-color: #e8b9ba; color: #8f222b; }
body.cully-public .alert-success { background: #edf8f2; border-color: #b9dbca; color: #126b50; }

/* Standard-cart catalogue presentation lives in the paired cart child stylesheet. */

/* Installed SSL landing-page hierarchy and conditional certificate data remain
 * native. Only its presentation is changed; native forms and collapse targets stay.
 */
body.cully-public .landing-page.ssl { background: #fff; border-radius: 5px; color: var(--family-text); }
/* This native view has an unpadded outer wrapper; its Bootstrap row needs no negative gutter. */
body.cully-client-area[data-cully-page="store/ssl/index"] #main-body > div:not(.container) > .row { margin-inline: 0; }
body.cully-public .landing-page.ssl .container { max-width: 100%; }
body.cully-public .landing-page.ssl .hero { padding: 36px 24px 30px; background: var(--family-navy); color: #fff; border-bottom: 3px solid var(--family-action); }
body.cully-public .landing-page.ssl .hero h2 { margin: 0 0 12px; color: #fff; font-size: 32px; font-weight: 650; }
body.cully-public .landing-page.ssl .hero h3 { max-width: 720px; margin-bottom: 0; color: #bdd0e8; font-size: 16px; font-weight: 400; line-height: 1.6; }
body.cully-public .landing-page.ssl .validation-levels { padding: 30px 20px 0; background: var(--family-ice); }
body.cully-public .landing-page.ssl .validation-levels h3 { color: var(--family-text); font-size: 24px; font-weight: 600; line-height: 1.4; margin-bottom: 24px; }
body.cully-public .landing-page.ssl .validation-levels .item { margin: 0; padding: 24px; color: var(--family-text); border: 1px solid var(--cully-public-line); border-top: 3px solid var(--family-action); border-radius: 4px; grid-template-rows: auto auto auto auto 1fr auto; row-gap: 16px; text-align: left; }
body.cully-public .landing-page.ssl .validation-levels .item h4 { font-size: 17px; line-height: 1.4; }
body.cully-public .landing-page.ssl .validation-levels .item :is(.first, .second, .item-features) { font-size: 13px; }
body.cully-public .landing-page.ssl .validation-levels .item img { max-width: 100%; height: auto; }
body.cully-public .landing-page.ssl .validation-levels .item .item-features li { padding-block: 7px; border-bottom: 1px solid #edf2f8; }
body.cully-public .landing-page.ssl .validation-levels .item .btn {
    width: auto;
    min-height: 44px;
    padding: 10px 20px;
    color: #fff;
    background: var(--family-action);
    border: 1px solid var(--family-action);
    border-radius: 4px;
    font-size: 13px;
}
body.cully-public .landing-page.ssl .validation-levels .item .btn:hover { background: var(--family-action-hover); border-color: var(--family-action-hover); }
body.cully-public .landing-page.ssl p.help-me-choose { padding-block: 24px; flex-wrap: wrap; gap: 10px; color: var(--family-copy); }
body.cully-public .landing-page.ssl :is(p.help-me-choose a, a.help-me-choose) { color: #123e8c; }
body.cully-public .landing-page.ssl > .navbar { background: #f2f6fc !important; border-block: 1px solid var(--cully-public-line); }
/* Respect the native lg collapse breakpoint and keep expanded links within their band. */
body.cully-client-area .landing-page.ssl #nav-ssl { min-width: 0; white-space: normal; }
body.cully-client-area .landing-page.ssl #nav-ssl .navbar-nav { flex-wrap: wrap; }
@media (max-width: 991.98px) {
    body.cully-client-area .landing-page.ssl #nav-ssl.collapse:not(.show) { display: none; }
    body.cully-client-area .landing-page.ssl #nav-ssl .navbar-nav { flex-direction: column; width: 100%; }
}
body.cully-public .landing-page.ssl #nav-ssl .nav-link { padding: 14px 12px; min-height: 44px; color: #173f72; font-size: 13px; }
body.cully-public .landing-page.ssl #nav-ssl .active .nav-link { background: #dbeaff; color: #123e8c; }
body.cully-public .landing-page.ssl .content-block { padding-block: 40px; font-size: 14px; line-height: 1.7; }
body.cully-public .landing-page.ssl .content-block :is(h2, h3) { font-size: 24px; line-height: 1.3; }
body.cully-public .landing-page.ssl .content-block h4 { font-size: 18px; }
body.cully-public .landing-page.ssl .content-block img { max-width: 100%; height: auto; }
body.cully-public .landing-page.ssl .standout { background: #fff; }
body.cully-public .landing-page.ssl .ssl-benefits { border-block: 1px solid var(--cully-public-line); }
body.cully-public .landing-page.ssl .ssl-benefits i { color: var(--family-action); }
body.cully-public .landing-page.ssl .standout-1 { background: #102e50; }
body.cully-public .landing-page.ssl .standout-1 h3 { color: #fff; font-size: 24px; font-weight: 600; }
body.cully-public .landing-page.ssl .browser-notice .wrapper { background: #eaf2fc; border-color: #cbdcf0; color: #173f72; }
body.cully-public .landing-page.ssl .competitive-upgrade-promo { background: #eaf2fc; color: #173f72; font-size: 20px; }
body.cully-public .landing-page.ssl .competitive-upgrade-promo a { color: #123e8c; }
body.cully-public .landing-page.ssl .detailed-info { padding: 36px 12px; background: #f3f7fc; }
body.cully-public .landing-page.ssl .detailed-info .card { margin-bottom: 12px; }
body.cully-public .landing-page.ssl .detailed-info .card-header { min-height: 56px; padding: 18px 20px; background: #fff; color: #173f72; border-radius: 4px; }
body.cully-public .landing-page.ssl .detailed-info .card-header h4 { color: #173f72; font-size: 16px; font-weight: 650; }
body.cully-public .landing-page.ssl .detailed-info .card-body { padding: 24px; border: 0; }
body.cully-public .landing-page.ssl ul.ssl-certs-all li { padding: 24px; border-color: var(--cully-public-line); }
body.cully-public .landing-page.ssl ul.ssl-certs-all li.featured { background: #edf4fc; }
body.cully-public .landing-page.ssl ul.ssl-certs-all .price span { color: var(--family-copy); }

/* Native knowledge, downloads, announcements and account-entry forms. */
body.cully-public .kb-search { margin-bottom: 24px; padding: 16px; background: #eaf2fc; border: 1px solid var(--cully-public-line); border-radius: 4px; }
body.cully-public .kb-search .form-control { min-height: 48px; font-size: 15px; }
body.cully-public .kb-search .btn { min-height: 48px; }
body.cully-public .kb-category .card-body { color: var(--family-action); }
body.cully-public .kb-category .h5 { font-size: 21px; font-weight: 500; line-height: 1.5; }
body.cully-public .kb-category .badge { margin-top: 5px; font-size: 11px; }
body.cully-public .kb-article-item { padding: 18px 24px; overflow-wrap: anywhere; }
body.cully-public .kb-article-item small { margin-top: 6px; color: var(--family-copy); }
body.cully-public .announcements .announcement { padding-block: 22px; border-bottom: 1px solid var(--cully-public-line); overflow-wrap: anywhere; }
body.cully-public .announcements .announcement:last-child { border-bottom: 0; }
body.cully-public .announcements .announcement h2 { font-size: 22px; }
body.cully-public .login-form { max-width: 540px; margin: 24px auto; }
body.cully-public .login-form .card { width: 100%; }
body.cully-public .login-form .h3 { font-size: 28px; font-weight: 650; letter-spacing: -.6px; }
body.cully-public .login-form .input-group-text { color: var(--family-copy); background: #f7faff; border-color: #bacbdd; }
body.cully-public #registration { max-width: 920px; margin-inline: auto; }
body.cully-public #registration .card-title { margin-bottom: 24px; }
body.cully-public #registration .field { max-width: 100%; }
body.cully-public .mw-540 { width: 100%; max-width: 540px; }

/* Seven native pricing columns stay associated; horizontal scrolling belongs to
 * the native table container rather than the page viewport.
 */
body.cully-public .domain-pricing { min-width: 0; }
body.cully-public .domain-pricing .tld-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 16px 24px; }
body.cully-public .domain-pricing .tld-filters a { min-height: 40px; display: inline-flex; align-items: center; padding: 8px 12px; font-size: 12px; font-weight: 500; border: 1px solid #cbd8e8; border-radius: 3px; background: #fff; color: #173f72; }
body.cully-public .domain-pricing .tld-filters .badge-success { background: var(--family-action); color: #fff; border-color: var(--family-action); }
body.cully-public .domain-pricing .table-container { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
body.cully-public .domain-pricing .table-container:focus-visible { outline: 3px solid var(--family-accent); outline-offset: 3px; }
body.cully-public .cully-table-hint { padding: 10px 14px; margin-block: 12px; border-left: 3px solid var(--family-action); background: #eaf2fc; color: #173f72; font-size: 12px; }
body.cully-public .cully-table-hint[hidden] { display: none; }
body.cully-public #tableDomainPricing { min-width: 720px; font-size: 13px; background: #fff; }
body.cully-public #tableDomainPricing :is(th, td) { padding: 14px; vertical-align: top; border-color: var(--cully-public-line); font-variant-numeric: tabular-nums; }
body.cully-public #tableDomainPricing thead { background: #edf4fc; }
body.cully-public #tableDomainPricing tr > :first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 var(--cully-public-line); }
body.cully-public #tableDomainPricing thead tr > :first-child { z-index: 2; background: #edf4fc; }
body.cully-public #tableDomainPricing small { color: var(--family-copy); }
body.cully-public .domain-pricing .currency-selector { max-width: 100%; }

/* Compact footer and simple page-heading markers supplied by the child shell. */
body.cully-public:not(.cully-public-home) #footer { padding-top: 24px; }
body.cully-public:not(.cully-public-home) .cully-public-footer-columns { padding-block: 0 24px; }
body.cully-public #footer :is(a, p, .copyright) { color: #bdd0e8; }
body.cully-public #footer a:hover { color: #fff; }
body.cully-public .cully-public-footer-compact { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 16px; }
body.cully-public .cully-public-footer-compact .cully-footer-brand { margin-bottom: 0; }
body.cully-public .cully-public-footer-compact nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 4px 24px; }
body.cully-public .cully-public-footer-compact nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
body.cully-public .cully-native-page { min-width: 0; }
body.cully-public[data-cully-page^="error/"] #main-body .buttons .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; margin-block: 4px; }

@media (max-width: 767px) {
    body.cully-public:not(.cully-public-home) #main-body { padding-bottom: 30px; }
    body.cully-public .cully-page-heading h1 { font-size: 26px; }
    body.cully-public .card-body { padding: 20px; }
    body.cully-public .landing-page.ssl .hero { padding: 28px 16px; }
    body.cully-public .landing-page.ssl .hero h2 { font-size: 26px; }
    body.cully-public .landing-page.ssl .validation-levels { padding: 24px 0 0; }
    body.cully-public .landing-page.ssl .validation-levels h3 { font-size: 22px; }
    body.cully-public .landing-page.ssl .validation-levels .item { padding: 24px 20px; }
    body.cully-public .landing-page.ssl .content-block { padding-block: 28px; }
    body.cully-public .landing-page.ssl .detailed-info { padding: 24px 0; }
    body.cully-public .landing-page.ssl .detailed-info :is(.card-header, .card-body) { padding: 20px 16px; }
    body.cully-public .landing-page.ssl .detailed-info .arrow { width: 20px; margin-right: 6px; }
    body.cully-public .landing-page.ssl ul.ssl-certs-all li { padding: 20px 16px; }
    body.cully-public .landing-page.ssl .competitive-upgrade-promo { font-size: 17px; }
    body.cully-public .login-form { margin-block: 16px; }
    body.cully-public .login-form .card-body { padding: 26px 22px !important; }
    body.cully-public .kb-article-item { padding: 16px 20px; }
    body.cully-public .domain-pricing > form.float-right { float: none !important; margin-bottom: 20px; }
    body.cully-public .domain-pricing .currency-selector { width: 100%; }
    body.cully-public #main-body .form-group > label.text-right { text-align: left !important; }
    body.cully-public .cully-public-footer-compact { flex-direction: column; gap: 14px; }
    body.cully-public .cully-public-footer-compact nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 0 14px; }
}

/* Keep long translated quotations and recovery actions inside their native bands. */
body.cully-client-area .landing-page.ssl q { white-space: normal; overflow-wrap: anywhere; }
body.cully-public .landing-page.ssl .btn { max-inline-size: 100%; overflow-wrap: anywhere; }

/* DataTables inserts this wrapper after first render. It must own scrolling
   when the native seven-column price table exceeds the available width. */
body.cully-public .domain-pricing .listtable {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}
body.cully-public .domain-pricing .listtable:focus-visible {
    outline: 3px solid var(--family-accent);
    outline-offset: 3px;
}

/* Native More measures wrapped menu rows against the Cully 46px threshold.
 * Keep a single accessible row at 44px (including fractional font metrics),
 * with enough space for the five public links and the native account toolbar.
 * Additional module entries still wrap and use the native More algorithm.
 */
@media (min-width: 1200px) {
    body.cully-public #header #mainNavbar { min-width: 0; }
    body.cully-public #header #nav {
        min-width: 0;
        flex: 1 1 auto;
        flex-wrap: wrap;
        gap: 8px;
    }
    body.cully-public #header #nav > li { flex-shrink: 0; }
    body.cully-public #header #nav > li > a {
        padding: 12px 10px;
        min-height: 44px;
        font-size: 13px;
        line-height: 20px;
        white-space: nowrap;
    }
    body.cully-public #header #mainNavbar > .navbar-nav:not(#nav) { flex-shrink: 0; }
}

/* Public refinement: one title per surface, deliberate section rhythm, and
 * native content before supporting navigation on narrow screens. */
body.cully-public .cully-page-heading h1 { font-weight: 650; }
body.cully-public .breadcrumb { margin: 0; }
body.cully-public .sidebar .card { margin-bottom: 16px; background: transparent; }
body.cully-public .sidebar .card-header { padding: 14px 16px; background: #edf3fb; border-color: var(--cully-public-line); }
body.cully-public .sidebar .card-title { font-size: 13px; font-weight: 650; }
body.cully-public .sidebar .list-group-item { min-height: 44px; padding: 11px 16px; font-size: 13px; }
body.cully-public .sidebar .list-group-item.active { border-color: var(--cully-public-line); background: #eaf2fc; color: #123e8c; }
/* Preserve the shell h1 for assistive technology while the native SSL hero or
 * login form supplies the visible title. Forms and provider content stay inherited. */
body.cully-public:is([data-cully-page="login"], [data-cully-page="store/ssl/index"]) .cully-page-heading {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
body.cully-public .landing-page.ssl .hero > .container { padding-inline: 12px; }
body.cully-public .landing-page.ssl .validation-levels .item .logo-wrapper { align-items: flex-start; gap: 8px; min-height: 76px; }
body.cully-public .landing-page.ssl .validation-levels .item .logo-wrapper img { width: auto; max-width: 150px; height: 38px; object-fit: contain; object-position: left center; }
body.cully-public .landing-page.ssl .validation-levels .item .logo-wrapper span { font-size: 13px; color: var(--family-copy); }
body.cully-public .landing-page.ssl .validation-levels .item h4 { font-weight: 650; margin: 0; }
body.cully-public .landing-page.ssl .validation-levels .item p { margin-bottom: 0; }
body.cully-public .landing-page.ssl .validation-levels .item form .btn { width: 100%; }
body.cully-public .landing-page.ssl .ssl-benefits .row > div { padding-block: 18px; font-size: 13px; }
body.cully-public .landing-page.ssl .ssl-benefits i { font-size: 28px; margin-bottom: 12px; }
body.cully-public .landing-page.ssl .standout-1 { padding-top: 32px; }
body.cully-public .landing-page.ssl .standout-1 .browser { padding-top: 0; }
body.cully-public .landing-page.ssl .standout-1 h3 { max-width: 660px; margin-inline: auto; }
body.cully-public .landing-page.ssl .logos { padding-block: 24px; }
body.cully-public .landing-page.ssl .logos img { max-width: 140px; max-height: 48px; width: auto; height: auto; object-fit: contain; margin: 12px; }
body.cully-public .landing-page.ssl .secure-wildcard .quote-section { padding-top: 24px; padding-bottom: 24px; border-left: 2px solid var(--cully-public-line); }
body.cully-public .landing-page.ssl .secure-wildcard .quote-section img { width: 120px; max-width: 100%; height: auto; }

body.cully-public .domain-pricing .featured-tlds-container { margin-bottom: 24px; }
body.cully-public .domain-pricing .featured-tld { box-shadow: none; border: 1px solid var(--cully-public-line); border-top: 3px solid var(--family-action); border-radius: 4px; overflow: hidden; }
body.cully-public .domain-pricing .featured-tld .img-container { height: 76px; padding: 18px; }
body.cully-public .domain-pricing .featured-tld .img-container img { width: auto; max-width: 132px; max-height: 42px; }
body.cully-public .domain-pricing .featured-tld .price { padding: 12px; background: var(--family-navy); color: #fff; font-size: 15px; font-variant-numeric: tabular-nums; }
body.cully-public .domain-pricing > h4 { font-size: 17px; font-weight: 600; }
body.cully-public .domain-pricing .tld-filters a:hover { border-color: var(--family-action); }
body.cully-public .domain-pricing .dataTables_filter input { min-height: 44px; border: 1px solid #bacbdd; border-radius: 4px; color: var(--family-text); background: #fff; }
body.cully-public #tableDomainPricing thead th { font-size: 11px; letter-spacing: .02em; color: var(--family-copy); }
body.cully-public #tableDomainPricing tbody tr:nth-child(even) td { background: #f9fbfe; }
body.cully-public #tableDomainPricing tbody tr:hover td { background: #edf4fc; }
body.cully-public #tableDomainPricing tbody td:first-child { font-weight: 650; color: var(--family-text); }

body.cully-public .kb-search { flex-wrap: nowrap; }
body.cully-public .kb-search .input-group-append { flex-shrink: 0; }
body.cully-public .kb-category .card-body { display: block; border-left: 3px solid var(--family-action); }
body.cully-public .kb-category .h5 { font-size: 18px; font-weight: 600; }
body.cully-public .kb-category .badge { background: #eaf2fc; color: #123e8c; }
body.cully-public:is([data-cully-page="downloads"], [data-cully-page="knowledgebase"]) .primary-content > .alert,
body.cully-public .announcements > .alert { padding: 34px 24px; margin-block: 24px; background: #fff; border: 1px dashed #bacbdd; color: var(--family-copy); text-align: left !important; }
body.cully-public[data-cully-page="announcements"] .primary-content > .card { border-top: 3px solid var(--family-action); }
body.cully-public[data-cully-page="announcements"] .primary-content > .card > .card-body > .card-title { display: none; }
body.cully-public .announcements .announcement h1 { font-size: 22px; font-weight: 600; }
body.cully-public .login-form .card { border-top: 3px solid var(--family-action); }
body.cully-public .login-form .card-footer { padding-block: 16px; border-color: var(--cully-public-line); background: #edf3fb; }
body.cully-public #registration .card { border-top: 3px solid #c3d5ed; }
body.cully-public #registration .card:first-of-type { border-top-color: var(--family-action); }
body.cully-public #registration .card-title { font-size: 17px; font-weight: 650; }
body.cully-public #registration .card-title small { display: block; font-size: 12px; margin-top: 6px; }

/* Reuse the existing home hero and configured service copy. Distinct surfaces
 * signal domains, catalogue discovery and account help without marketing claims. */
body.cully-public-home .cully-public-services { background: #f0f5fc; }
body.cully-public-home .cully-service-highlights { gap: 20px; padding-block: 36px; }
body.cully-public-home .cully-service-highlights article { position: relative; display: flex; flex-direction: column; gap: 20px; padding: 28px; border: 1px solid var(--cully-public-line); border-radius: 4px; background: #fff; }
body.cully-public-home .cully-service-highlights article > div { display: flex; flex: 1; flex-direction: column; width: 100%; }
body.cully-public-home .cully-service-highlights article a { margin-top: auto; padding-top: 8px; }
body.cully-public-home .cully-service-highlights .cully-service-domain { background: var(--family-navy); border-color: var(--family-navy); }
body.cully-public-home .cully-service-domain h2 { color: #fff; }
body.cully-public-home .cully-service-domain p { color: #bdd0e8; }
body.cully-public-home .cully-service-domain :is(i,a) { color: #8bc6ff; }
body.cully-public-home .cully-service-highlights .cully-service-catalogue { border-top: 3px solid var(--family-action); }
body.cully-public-home .cully-service-highlights .cully-service-catalogue:last-child { background: #e5effc; }
body.cully-public-home .cully-returning-inner { gap: 72px; padding-block: 52px; }
body.cully-public-home .cully-returning-inner nav a { font-size: 16px; color: var(--family-text); }
body.cully-public-home .cully-returning-inner nav a span { color: var(--family-action); }
body.cully-public-home .cully-help-actions > a:hover strong { color: var(--family-action); }
body.cully-public-home .cully-public-help { padding-block: 48px 56px; }

/* Public content precedes its sidebar in the DOM. Only the desktop visual
 * layout moves the supporting rail to the left; mobile uses native DOM order. */
@media (min-width: 992px) {
    body.cully-public .cully-public-sidebar { order: -1; }
}
@media (max-width: 991.98px) {
    body.cully-public .cully-public-sidebar { margin-top: 24px; }
}
@media (max-width: 767px) {
    body.cully-public .master-breadcrumb { padding-block: 14px 18px; }
    body.cully-public .cully-page-heading { margin-bottom: 20px; padding-bottom: 14px; }
    body.cully-public .landing-page.ssl .hero { text-align: left; padding-block: 26px; }
    body.cully-public .landing-page.ssl .hero h3 { font-size: 14px; }
    body.cully-public .landing-page.ssl .validation-levels h3 { font-size: 20px; text-align: left; }
    body.cully-public .landing-page.ssl .validation-levels .item .logo-wrapper { min-height: 0; }
    body.cully-public .landing-page.ssl .validation-levels .item { padding: 20px; row-gap: 12px; }
    body.cully-public .landing-page.ssl .ssl-benefits .row > div { flex: 0 0 50%; max-width: 50%; }
    body.cully-public .landing-page.ssl .ssl-benefits i { font-size: 24px; }
    body.cully-public .kb-search { padding: 10px; }
    body.cully-public .kb-search .form-control { font-size: 14px; }
    body.cully-public-home .cully-service-highlights article { padding: 24px; gap: 14px; }
    body.cully-public-home .cully-returning-inner { gap: 28px; padding-block: 36px; }
    body.cully-public-home .cully-public-help { padding-block: 36px; }
}
@media (max-width: 575.98px) {
    /* WHMCS supplies a second mobile copy of this illustration. Keep one. */
    body.cully-public .landing-page.ssl .what-is-ssl > .container > img { display: none; }
    body.cully-public .landing-page.ssl .what-is-ssl .text-center img { max-width: 220px; }
    body.cully-public .landing-page.ssl .logos img { max-width: 100px; max-height: 34px; margin: 8px; }
}
