/* SomticoTech 1.1.15 | Nexus child theme | WHMCS 9.1.0
 * Visual overrides only. Native visibility, JS hooks, forms and status text stay intact.
 * Nexus and Nexus Cart share these documented custom properties.
 */
:root {
    --st-cobalt: #1f47e0;
    --st-cobalt-hover: #1838bd;
    --st-ink: #070d24;
    --st-navy: #0e1c47;
    --st-gold: #f5a623;
    --st-surface: #f5f7fc;
    --st-border: #dce2ee;
    --st-muted: #526078;
    --st-radius: 14px;
    --primary-50: #eef2ff;
    --primary-100: #e0e8ff;
    --primary-200: #c3d1ff;
    --primary-300: #9cb2ff;
    --primary-400: #6c89f6;
    --primary-500: #3d63eb;
    --primary-600: #1f47e0;
    --primary-700: #1838bd;
    --primary-800: #16309a;
    --primary-900: #152b78;
    --primary-950: #0e1c47;
    --primary: var(--st-cobalt);
    --primary-lifted: var(--st-cobalt-hover);
    --primary-accented: #16309a;
    --secondary: #526078;
    --secondary-lifted: #404d63;
    --secondary-accented: #303e55;
    --text: #17233b;
    --text-inverted: #fff;
    --text-muted: #58657b;
    --text-lifted: #526078;
    --text-accented: #35445f;
    --border-muted: #e8edf5;
    --border: var(--st-border);
    --border-lifted: #b1bdd1;
    --border-accented: #71809c;
    --bg: #fff;
    --bg-muted: #f8faff;
    --bg-lifted: #f0f4fc;
    --bg-accented: #e8edf7;
    --bg-inverted: var(--st-ink);
    --rounding-sm: 8px;
    --rounding-md: 12px;
    --rounding-lg: 16px;
    /* Complete the semantic colour contract consumed by inherited Nexus controls. */
    --grayscale: #1b4385;
    --grayscale-lifted: #193670;
    --grayscale-accented: #123164;
    --disabled-opacity: .65;
    --letter-spacing: normal;
    --info: #1b4385;
    --info-accented: #193670;
    --success: #146036;
    --success-accented: #104b2b;
    --error: #a02814;
    --error-lifted: #852010;
    --warning: #79530a;
    --warning-accented: #644508;
    --notice: #683698;
    --notice-lifted: #54287e;
    --neutral: #45536c;
    --neutral-lifted: #35445f;
    --neutral-accented: #243754;
    --yellow-200: #f5d67a;
    --yellow-300: #f5a623;
    --pink-400: #963867;
    --teal-300: #176b70;
    --teal-400: #12575b;
    --emerald-300: #146036;
}

body.somticotech {
    background: var(--st-surface);
    color: var(--text);
    font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.somticotech h1, .somticotech h2, .somticotech h3, .somticotech h4 {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--st-navy);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.25;
}
.somticotech a { color: var(--st-cobalt); }
.somticotech a:hover { color: var(--st-cobalt-hover); }
.somticotech p { overflow-wrap: anywhere; }
.somticotech :focus-visible, .invoice-container :focus-visible {
    outline: 3px solid var(--st-cobalt);
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}
.st-skip-link {
    position: absolute;
    z-index: 1100;
    top: 12px;
    left: 12px;
    padding: 12px 20px;
    background: #fff;
    border: 2px solid var(--st-cobalt);
    border-radius: 8px;
    transform: translateY(-200%);
}
.st-skip-link:focus { transform: translateY(0); }
.somticotech #main-body:focus { outline: none; }
.somticotech section#main-body { padding: 32px 0 60px; min-height: 55vh; }
.somticotech .primary-content { min-width: 0; }
.somticotech .st-page-heading { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 24px; }

/* Retain the parent navbar, dropdowns, account switching and notification popover. */
.somticotech header.header { border-top: 3px solid var(--st-cobalt); box-shadow: 0 1px 0 var(--st-border); }
.somticotech header.header .navbar { min-height: 78px; }
.somticotech header.header .navbar-brand { max-width: calc(100% - 120px); }
.somticotech header.header .logo-img { width: 220px; height: auto; max-width: 100%; max-height: 58px; object-fit: contain; }
.somticotech header.header .topbar { background: var(--st-navy); padding: 5px 0; }
.somticotech header.header .topbar .btn, .somticotech header.header .topbar .input-group-text { color: #f0f4ff; }
.somticotech header.header .topbar .btn { min-height: 40px; }
.somticotech header.header .topbar .active-client { flex-wrap: wrap; justify-content: flex-end; }
.somticotech header.header .topbar .btn.btn-active-client span { overflow-wrap: anywhere; }
.somticotech header.header .search { background: #f8faff; border-radius: 9px; }
.somticotech header.header .search .form-control { background: transparent; }
.somticotech header.header .search .btn { color: var(--st-muted); }
.somticotech header.header .main-navbar-wrapper { min-height: 0; border-top: 1px solid #edf0f6; background: #fff; }
.somticotech header.header .navbar-nav a { font-size: .9rem; font-weight: 600; min-height: 44px; }
.somticotech header.header .navbar-nav > li > a { display: flex; align-items: center; padding: 11px 14px; border-radius: 8px; }
.somticotech header.header .navbar-nav > li > a:hover { background: #eef2ff; color: var(--st-cobalt); }
.somticotech header.header .toolbar .nav-link { min-width: 44px; min-height: 44px; color: var(--st-navy); }
.somticotech header.header .toolbar .badge { background: var(--st-cobalt); color: #fff; }
.somticotech .dropdown-menu { border: 1px solid var(--st-border); border-radius: 12px; box-shadow: 0 12px 32px #0e1c4714; padding: 8px; }
.somticotech .dropdown-menu .dropdown-item { border-radius: 6px; }
.somticotech header.header .dropdown-item.active, .somticotech header.header .dropdown-item:active { background: #eaf0ff; color: var(--st-cobalt); }
.somticotech .master-breadcrumb, .somticotech .master-breadcrumb .breadcrumb { background: #edf1f8; }
.somticotech .master-breadcrumb .breadcrumb { padding: 10px 0; font-size: .8rem; }
.somticotech .master-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.somticotech .master-breadcrumb .breadcrumb a { color: #435370; }

/* Public homepage: task-led, with the native catalogue and domain utility below. */
.st-hero {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 42px;
    padding: 54px 48px;
    border-radius: 20px;
    color: #fff;
    background: radial-gradient(ellipse at 100% 0, #203c87 0, transparent 58%), var(--st-navy);
}
.st-eyebrow { font-size: .68rem; font-weight: 700; letter-spacing: .13em; line-height: 1.5; margin: 0 0 16px; }
.st-hero .st-eyebrow { color: #d8e2ff; display: flex; align-items: center; gap: 10px; }
.st-brand-mark { width: 8px; height: 8px; background: var(--st-gold); transform: rotate(45deg); flex: 0 0 8px; }
.somticotech .st-hero h1 { color: #fff; font-size: clamp(2.1rem, 4.3vw, 3.55rem); line-height: 1.1; letter-spacing: -.045em; margin: 0 0 22px; }
.st-hero h1 span { color: var(--st-gold); }
.st-hero-description { max-width: 470px; color: #d9e1f5; font-size: 1rem; line-height: 1.8; margin: 0 0 28px; }
.st-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.somticotech .st-btn-gold { background: var(--st-gold); color: var(--st-ink); border-color: var(--st-gold); font-weight: 700; padding: 13px 18px; }
.somticotech .st-btn-gold:hover { background: #ffc15b; border-color: #ffc15b; color: var(--st-ink); }
.st-btn-gold span { margin-left: 12px; }
.somticotech .st-btn-light { background: transparent; color: #fff; border: 1px solid #8fa2ce; padding: 13px 18px; }
.somticotech .st-btn-light:hover { background: #ffffff14; color: #fff; border-color: #fff; }
.somticotech .st-hero-company { display: inline-block; color: #d7e3ff; font-size: .75rem; margin-top: 24px; text-decoration: underline; text-underline-offset: 4px; }
.somticotech .st-hero-company:hover { color: #fff; }
.st-workspace { background: #fff; border: 1px solid #ffffff30; border-radius: 14px; padding: 24px; color: var(--text); box-shadow: 0 16px 40px #00000018; min-width: 0; }
.st-workspace-heading { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #e6ebf4; }
.st-workspace-heading .st-eyebrow { color: var(--st-muted); font-size: .6rem; margin: 0 0 5px; }
.st-workspace-heading p { color: var(--st-navy); margin: 0; font-size: .95rem; font-weight: 700; }
.st-workspace-symbol { display: grid; place-items: center; background: var(--st-navy); color: #fff; border-radius: 10px; width: 42px; height: 42px; flex: 0 0 42px; }
.somticotech .st-workspace-link { display: flex; align-items: center; gap: 12px; padding: 18px 0; border-bottom: 1px solid #e6ebf4; color: var(--st-navy); text-decoration: none; }
.somticotech .st-workspace-link:hover strong { color: var(--st-cobalt); text-decoration: underline; text-underline-offset: 3px; }
.st-workspace-icon { display: grid; place-items: center; background: #edf2ff; color: var(--st-cobalt); border-radius: 10px; width: 40px; height: 40px; flex: 0 0 40px; font-size: 17px; }
.st-workspace-icon-gold { background: #fff4df; color: #87500a; }
.st-workspace-link strong { display: block; font-size: .85rem; line-height: 1.4; }
.st-workspace-link small { display: block; font-size: .7rem; color: var(--st-muted); margin-top: 3px; }
.st-link-arrow { margin-left: auto; color: var(--st-cobalt); }
.st-workspace-bottom { color: var(--st-muted); font-size: .66rem; margin-top: 18px; }
.st-workspace-bottom i { color: var(--st-cobalt); margin-right: 6px; }
.st-promise-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 25px 6px; margin-bottom: 24px; border-bottom: 1px solid var(--st-border); }
.st-promise-strip p { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; color: #45536c; font-size: .74rem; font-weight: 600; }
.st-promise-strip i { color: var(--st-cobalt); font-size: 18px; }
.st-page-homepage .primary-content > h2 { text-align: left !important; margin: 34px 0 20px !important; font-size: 1.45rem; }
.st-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; column-count: auto; }
.somticotech .st-product-grid .card { display: flex; width: auto; margin: 0 !important; }
.somticotech .st-product-grid .card-body { display: flex; flex-direction: column; align-items: flex-start; padding: 24px !important; text-align: left !important; }
.somticotech .st-product-grid h3.card-title { font-size: 1.15rem; margin-bottom: 12px; }
.st-product-grid .card-body p { color: var(--st-muted); font-size: .85rem; }
.st-product-grid .btn { margin-top: auto; }
.somticotech .st-domain-utility { border: 1px solid var(--st-border); background: #fff; border-radius: var(--st-radius); margin-top: 28px; }
.st-domain-utility .home-domain-search { background: transparent !important; border-radius: var(--st-radius); }
.st-domain-utility .container { max-width: 100%; }
.st-domain-utility .p-5 { padding: 24px !important; }
.st-domain-utility .home-domain-search h2 { font-size: 1.15rem; margin: 0 0 18px; }
.st-domain-utility .home-domain-search .input-group-wrapper { max-width: 720px; margin: 0 auto 16px; }
.st-domain-utility .home-domain-search .form-control { font-size: 1rem; }
.st-page-homepage .action-icon-btns { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px !important; }
.st-page-homepage .action-icon-btns > div { max-width: 100%; padding: 0; margin-left: 0; }
.somticotech.st-page-homepage #main-body .action-icon-btns a { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; text-align: left; background: #fff; color: var(--st-navy); padding: 18px; height: 100%; min-height: 120px; font-weight: 600; font-size: .78rem; line-height: 1.5; border: 1px solid var(--st-border); border-radius: 12px; }
.somticotech.st-page-homepage #main-body .action-icon-btns a:hover { border-color: var(--st-cobalt); background: #f8faff; }
.st-page-homepage .action-icon-btns .ico-container { margin: 0 0 12px; width: auto; height: auto; line-height: 1; }
.st-page-homepage .action-icon-btns .ico-container i { color: var(--st-cobalt); font-size: 22px; }

/* Native dashboard tiles and hook-driven panels; never replace counts or panel logic. */
.st-dashboard-intro { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 28px; padding: 24px; border: 1px solid #dbe4ff; border-left: 4px solid var(--st-cobalt); border-radius: var(--st-radius); background: #edf2ff; }
.st-dashboard-intro .st-eyebrow { color: var(--st-cobalt); margin-bottom: 10px; }
.somticotech .st-dashboard-intro h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 10px; }
.st-dashboard-intro p:last-child { color: #45536c; font-size: .85rem; margin: 0; }
.st-support-link { white-space: normal; }
.somticotech .tiles { background: transparent; border: 0; }
.somticotech .tiles .row { margin: -6px; }
.somticotech .tiles .row > div { padding: 6px; }
.somticotech .tiles .tile { border: 1px solid var(--st-border); background: #fff; border-radius: 12px; padding: 24px 18px; min-height: 140px; color: var(--st-navy); }
.somticotech .tiles .tile:hover { border-color: var(--st-cobalt); background: #f8faff; }
.somticotech .tiles .row > div:last-child .tile { border: 1px solid var(--st-border); }
.somticotech .tiles .tile i { color: var(--st-cobalt); opacity: 1; font-size: 22px; top: 24px; right: 18px; }
.somticotech .tiles .tile:hover i { color: var(--st-cobalt); font-size: 22px; }
.somticotech .tiles .tile .stat { font-size: 2rem; font-weight: 700; color: var(--st-navy); line-height: 1.2; }
.somticotech .tiles .tile .title { font-size: .78rem; margin-top: 12px; color: var(--st-muted); }
.somticotech .tiles .tile .highlight { height: 3px; opacity: .7; }
.somticotech .primary-content .card, .somticotech .sidebar .card { border: 1px solid var(--st-border); border-radius: var(--st-radius); box-shadow: 0 3px 12px #0e1c4704; margin-bottom: 20px; }
.somticotech .card-header { padding: 18px 20px; background: #fff; border-bottom: 1px solid #e6ebf4; border-radius: 13px 13px 0 0; }
.somticotech .card-header h3 { font-size: 1rem; }
.somticotech .card-footer { background: #f8faff; border-top-color: #e6ebf4; }
.somticotech .client-home-cards .list-group-item { padding: 16px 20px; border-color: #e6ebf4; font-size: .85rem; }
.somticotech .list-group-item.active { background: var(--st-cobalt); border-color: var(--st-cobalt); color: #fff; }
.somticotech .sidebar .list-group-item { padding: 12px 16px; overflow-wrap: anywhere; min-height: 44px; font-size: .85rem; }

/* Forms, authentication, support editors and native actions. Do not style gateway iframes. */
.somticotech .btn { min-height: 44px; border-radius: 8px; font-weight: 600; white-space: normal; }
.somticotech .btn-primary { background-color: var(--st-cobalt); border-color: var(--st-cobalt); color: #fff; }
.somticotech .btn-primary:hover, .somticotech .btn-primary:active { background-color: var(--st-cobalt-hover); border-color: var(--st-cobalt-hover); color: #fff; }
.somticotech .btn-outline-primary { color: var(--st-cobalt); border-color: var(--st-cobalt); }
.somticotech .btn-outline-primary:hover { background: var(--st-cobalt); color: #fff; }
.somticotech .btn-default { border-color: #bdc8da; color: #243754; background-color: #fff; }
.somticotech .btn-default:hover { background: #edf2ff; color: var(--st-cobalt); }
.somticotech .form-control, .somticotech .custom-select { border: 1px solid #aab7cd; border-radius: 8px; min-height: 44px; color: #17233b; font-size: 1rem; }
.somticotech .form-control:focus { border-color: var(--st-cobalt); box-shadow: 0 0 0 3px #1f47e020; }
.somticotech .form-control:disabled, .somticotech .form-control[readonly] { background: #edf1f8; }
.somticotech label { font-weight: 600; }
.somticotech .alert { border-radius: 10px; overflow-wrap: anywhere; }
.somticotech .login-form { max-width: 480px; }
.somticotech .ticket-reply { border: 1px solid var(--st-border); border-radius: 10px; background: #fff; }
.somticotech .ticket-reply.staff { border-color: #acbeef; background: #f5f8ff; }
.somticotech .ticket-reply .posted-by { background: #edf2fb; padding: 14px 18px; }
.somticotech .ticket-reply .message { line-height: 1.8; overflow-wrap: anywhere; }
.somticotech .ticket-reply .message img { max-width: 100%; height: auto; }
.somticotech .ticket-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.somticotech .md-editor { border-radius: 8px; border: 1px solid #aab7cd; }
.somticotech .text-muted { color: var(--st-muted) !important; }
.somticotech .nav-tabs { border-bottom-color: var(--st-border); gap: 4px; }
.somticotech .nav-tabs .nav-link { color: #45536c; padding: 12px 16px; min-height: 44px; border-radius: 8px 8px 0 0; font-weight: 600; }
.somticotech .nav-tabs .nav-link.active { color: var(--st-cobalt); border-color: var(--st-border) var(--st-border) #fff; background: #fff; }
.somticotech .product-details .product-status { border-radius: 12px; }
.somticotech .product-details-tab-container { border: 1px solid var(--st-border); border-top: 0; padding: 22px; border-radius: 0 0 12px 12px; }
.somticotech .product-actions-wrapper .btn { margin-bottom: 10px; }
.somticotech .kb-article-item { padding: 18px 20px; min-height: 44px; line-height: 1.7; }
.somticotech .article-content, .somticotech .kb-article-content { font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.somticotech .article-content img, .somticotech .kb-article-content img { max-width: 100%; height: auto; }
.somticotech .service-renewals .card { border-color: var(--st-border); }

/* Keep table semantics, column order, hidden sorting values, checkboxes and DataTables. */
.somticotech .table-container { border: 1px solid var(--st-border); background: #fff; border-radius: 12px; padding: 8px; overflow-x: auto; }
.somticotech .table-list { border-collapse: separate; border-spacing: 0; }
.somticotech .table-list > thead > tr > th { background: #f0f4fc; color: #45536c; border: 0; padding: 15px 12px; font-size: .72rem; font-weight: 700; }
.somticotech .table-list > tbody > tr > td { padding: 18px 12px; vertical-align: middle; border-top: 1px solid #e8edf5; font-size: .82rem; }
.somticotech .table-list tbody tr:hover td { background: #f5f8ff; }
.somticotech .table-list a.st-detail-link { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.somticotech .st-domain-visit { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.somticotech .dataTables_wrapper .dataTables_filter input { min-height: 44px; border: 1px solid #aab7cd; border-radius: 8px; padding: 6px 10px; max-width: 100%; }
.somticotech .dataTables_wrapper .dataTables_paginate .paginate_button { min-width: 44px; min-height: 44px; }
.somticotech .status { border-radius: 6px; font-size: .7rem; padding: 6px 9px; font-weight: 700; white-space: normal; }
.somticotech .status-active, .somticotech .status-paid { background: #e7f5ec; color: #146036; border: 1px solid #b8dfc7; }
.somticotech .status-unpaid, .somticotech .status-overdue { background: #fff0eb; color: #a02814; border: 1px solid #efc3b6; }
.somticotech .status-pending, .somticotech .status-suspended { background: #fff5dc; color: #79530a; border: 1px solid #e5d299; }
.somticotech .status-cancelled, .somticotech .status-terminated, .somticotech .status-expired { background: #edf1f7; color: #45536c; border: 1px solid #cbd5e3; }

/* The invoice is a standalone parent page and deliberately has no child body class. */
.invoice-container { width: calc(100% - 32px); margin: 24px auto; color: #17233b; border: 1px solid var(--st-border); border-top: 4px solid var(--st-cobalt); border-radius: 12px; box-shadow: 0 10px 40px #0e1c470c; }
.invoice-container .invoice-header img { max-width: 240px; max-height: 80px; height: auto; }
.invoice-container .invoice-header h3 { color: var(--st-navy); font-weight: 700; }
.invoice-container .table > thead > tr > th { background: #edf2fb; color: #35445f; }
.invoice-container .payment-btn-container { margin-top: 20px; }
.invoice-container .btn { min-height: 44px; border-radius: 8px; white-space: normal; }
.invoice-container .btn-primary { background: var(--st-cobalt); border-color: var(--st-cobalt); color: #fff; }

.somticotech footer.footer { background: var(--st-ink); padding: 36px 0 28px; color: #d6dff3; }
.st-footer-brand { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 24px; margin-bottom: 20px; border-bottom: 1px solid #344061; }
.st-footer-brand p { margin-bottom: 6px; font-size: .8rem; color: #bcc9e2; }
.st-footer-brand .st-footer-name { color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }
.somticotech footer .st-company-link { color: #ffcf7c; font-size: .8rem; padding: 12px 0; }
.somticotech footer .st-company-link:hover { color: #fff; }
.somticotech footer.footer .nav-link { color: #d6dff3; min-height: 44px; display: flex; align-items: center; }
.somticotech footer.footer .copyright { margin-top: 14px; font-size: .72rem; color: #bcc9e2; }
.somticotech footer.footer .btn-outline-light { color: #fff; border-color: #71809c; }
.somticotech footer.footer .btn-outline-light:is(:hover,:focus,:active,.active) { background:#edf2ff; border-color:#edf2ff; color:#1838bd; }
.somticotech footer.footer a:focus-visible, .st-hero a:focus-visible { outline-color: var(--st-gold); box-shadow: 0 0 0 2px var(--st-ink); }

@media (max-width: 1199.98px) {
    .st-hero { padding: 36px; gap: 28px; }
    .somticotech #mainNavbar { padding: 12px 0; }
    .somticotech #mainNavbar .navbar-nav { gap: 2px; }
    .somticotech #mainNavbar .dropdown-menu { box-shadow: none; }
    .somticotech .sidebar .card-title { font-size: 1rem; }
}
@media (max-width: 991.98px) {
    .st-hero { grid-template-columns: 1fr; }
    .st-hero-copy { max-width: 560px; }
    .st-workspace { max-width: 100%; }
    .st-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .st-page-homepage .action-icon-btns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .somticotech .st-hero h1 { font-size: 2.8rem; }
}
@media (max-width: 575.98px) {
    .somticotech section#main-body { padding: 20px 0 36px; }
    .somticotech header.header .navbar { min-height: 70px; }
    .somticotech header.header .main-navbar-wrapper { min-height: 0; }
    .somticotech header.header .logo-img { width: 178px; }
    .somticotech header.header .navbar > .container { gap: 8px; flex-wrap: nowrap; }
    .somticotech header.header .topbar > .container { padding-left: 10px; padding-right: 10px; }
    .somticotech header.header .topbar .btn { padding-left: 6px; padding-right: 6px; }
    .somticotech header.header .topbar .d-flex > .ml-auto { min-width: 0; }
    .somticotech header.header .btn-active-client { max-width: 140px; }
    .st-hero { padding: 28px 22px; border-radius: 14px; gap: 28px; }
    .somticotech .st-hero h1 { font-size: 2.3rem; }
    .st-hero-description { font-size: .92rem; }
    .st-hero-actions { flex-direction: column; }
    .st-hero-actions .btn { width: 100%; }
    .st-hero-company { line-height: 1.8; }
    .st-workspace { padding: 18px; }
    .st-workspace-link strong { font-size: .78rem; }
    .st-workspace-heading p { font-size: .84rem; }
    .st-workspace-icon { width: 34px; height: 34px; flex-basis: 34px; }
    .st-promise-strip { grid-template-columns: 1fr; padding: 22px 0; gap: 14px; }
    .st-promise-strip p { justify-content: flex-start; }
    .st-product-grid { grid-template-columns: 1fr; }
    .st-page-homepage .action-icon-btns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .somticotech.st-page-homepage #main-body .action-icon-btns a { padding: 16px; }
    .st-domain-utility .p-5 { padding: 18px !important; }
    .st-dashboard-intro { padding: 20px; }
    .somticotech .sidebar .list-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .somticotech .sidebar .list-group-item { padding: 10px 14px; }
    .somticotech .tiles .tile { padding: 20px 14px; min-height: 128px; }
    .somticotech .tiles .tile .stat { font-size: 1.8rem; }
    .somticotech .tiles .tile i { font-size: 18px; right: 14px; }
    .somticotech .tiles .tile:hover i { font-size: 18px; }
    .somticotech .client-home-cards .card-header .float-right { float: none !important; margin-bottom: 12px; }
    .somticotech .dataTables_wrapper .dataTables_filter { text-align: left; }
    .somticotech .table-list { min-width: 580px; }
    .somticotech #domainForm > .btn-group { display: flex; flex-wrap: wrap; gap: 6px; }
    .somticotech #domainForm > .btn-group > .btn { border-radius: 8px; }
    .st-footer-brand { align-items: flex-start; flex-direction: column; gap: 8px; }
    .somticotech footer.footer .nav { justify-content: flex-start !important; }
    .somticotech footer.footer .list-inline { text-align: left !important; }
    .invoice-container { width: 100%; margin: 0; border-radius: 0; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
    .somticotech *, .somticotech *::before, .somticotech *::after { scroll-behavior: auto !important; }
    .somticotech .st-hero *, .somticotech .st-workspace *, .somticotech .action-icon-btns * { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
    .st-hero, .st-workspace, .st-dashboard-intro, .somticotech .card, .somticotech .tiles .tile { border: 1px solid CanvasText; }
    .somticotech :focus-visible { outline: 3px solid Highlight; }
}
@media print {
    .st-skip-link, .st-hero, .st-promise-strip, .somticotech header.header, .somticotech footer.footer { display: none !important; }
    .somticotech, .invoice-container { background: #fff; box-shadow: none; border: 0; color: #000; }
    .invoice-container a { color: #000; }
    .invoice-container { width: 100%; margin: 0; }
}

/* Native domain discovery controls: separated targets and independent focus rings. */
.somticotech #frmDomainHomepage .input-group-wrapper { padding:6px; border:0; background:transparent; box-shadow:none; }
.somticotech #frmDomainHomepage .input-group { display:flex; flex-wrap:wrap; gap:14px; align-items:stretch; }
.somticotech #frmDomainHomepage .input-group > .form-control { flex:1 1 260px; width:auto; min-width:0; margin:0; border-radius:10px !important; padding:12px 16px; min-height:50px; }
.somticotech #frmDomainHomepage .input-group-append { margin:0; }
.somticotech #frmDomainHomepage .input-group-append .btn { margin:0 0 0 10px; min-height:50px; padding:12px 22px; border-radius:10px !important; }
.somticotech #frmDomainHomepage .input-group-append .btn:first-child { margin-left:0; }
.somticotech #frmDomainHomepage .row.d-sm-none { margin-top:16px; row-gap:12px; }
.somticotech #frmDomainHomepage .form-control:focus-visible,.somticotech #frmDomainHomepage .btn:focus-visible { outline:3px solid #1f47e0; outline-offset:3px; box-shadow:none; }
/* Match both native IDs so Nexus's two-ID state rules cannot reset these colours. */
.somticotech #frmDomainHomepage #btnTransfer { background:#070d24; border-color:#070d24; color:#fff; }
.somticotech #frmDomainHomepage #btnTransfer2 { background:#0e1c47; border-color:#0e1c47; color:#fff; }
.somticotech #frmDomainHomepage :is(#btnTransfer,#btnTransfer2):is(:hover,:focus,:active) { background:#193670; border-color:#193670; color:#fff; }
.somticotech #frmDomainHomepage :is(#btnDomainSearch,#btnDomainSearch2) { background:#1f47e0; border-color:#1f47e0; color:#fff; }
.somticotech #frmDomainHomepage :is(#btnDomainSearch,#btnDomainSearch2):is(:hover,:focus,:active) { background:#1838bd; border-color:#1838bd; color:#fff; }
.somticotech #frmDomainHomepage :is(#btnTransfer,#btnTransfer2,#btnDomainSearch,#btnDomainSearch2):focus-visible { outline:3px solid #1f47e0; outline-offset:3px; box-shadow:none; }
.somticotech .domain-pricing .tld-filters { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 24px; }
.somticotech .domain-pricing .tld-filters a.badge { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid #b9c9e6; border-radius:9px; background:#edf2ff; color:#1838bd; font-size:.875rem; line-height:1.5; white-space:normal; text-decoration:none; }
.somticotech .domain-pricing .tld-filters a.badge:hover { background:#dce6ff; border-color:#1f47e0; color:#152b78; }
.somticotech .domain-pricing .tld-filters a.badge-success { background:#1f47e0; border-color:#1f47e0; color:#fff; }
.somticotech .domain-pricing .tld-filters a.badge-success:hover { background:#1838bd; border-color:#1838bd; color:#fff; }
.somticotech .domain-pricing .tld-filters a:focus-visible { outline:3px solid #1f47e0; outline-offset:3px; }
@media(max-width:575.98px) { .somticotech #frmDomainHomepage .p-5 { padding:22px 16px !important; } .somticotech #frmDomainHomepage .row.d-sm-none .btn { min-height:48px; padding:10px 12px; } }

/* Native DataTables labels stay in document flow, separate from their inputs. */
.somticotech .dataTables_wrapper .dataTables_filter { float:none; width:auto; margin:0 0 18px; padding:8px; text-align:right; }
.somticotech .dataTables_wrapper .dataTables_filter::after { content:none; }
.somticotech .dataTables_wrapper .dataTables_filter label { display:inline-flex; position:static; align-items:center; flex-wrap:wrap; gap:12px; margin:0; padding:0; max-width:100%; white-space:normal; font-weight:600; color:#243754; }
.somticotech .dataTables_wrapper .dataTables_filter label input.form-control { position:static; display:block; width:230px; max-width:100%; margin:0; padding:10px 14px !important; background:#fff; border:1px solid #8192b0; min-height:46px; }
.somticotech .dataTables_wrapper .dataTables_filter input:focus-visible { outline:3px solid #1f47e0; outline-offset:3px; box-shadow:none; }
.somticotech header.header .input-group.search { gap:8px; padding:4px; background:transparent; align-items:stretch; flex-wrap:nowrap; }
.somticotech header.header .search .input-group-prepend { margin:0; }
.somticotech header.header .search .btn { background:#edf2ff; color:#1838bd; border:1px solid #b9c9e6; border-radius:9px !important; min-width:44px; }
.somticotech header.header .search .form-control { margin:0; min-width:0; border:1px solid #aab7cd; background:#fff; padding:10px 14px; border-radius:9px !important; }
.somticotech header.header .search :focus-visible { outline:3px solid #1f47e0; outline-offset:2px; box-shadow:none; }

/* A centred authentication surface; provider markup stays native and conditional. */
.somticotech.st-page-login #main-body { padding-top:clamp(24px,6vh,64px); padding-bottom:clamp(40px,8vh,88px); }
.somticotech.st-page-login .primary-content { max-width:100%; }
.somticotech.st-page-login .login-form { width:100%; max-width:500px; margin:0 auto; }
.somticotech.st-page-login .login-form > .card { width:100%; max-width:none; margin:0 !important; border-radius:18px; box-shadow:0 16px 48px #0e1c4710; border-top:4px solid #1f47e0; }
.somticotech.st-page-login .login-form .card-body { padding:32px !important; }
.somticotech.st-page-login .login-form h6 { font-size:1.8rem; font-weight:750; letter-spacing:-.04em; }
.somticotech.st-page-login .login-form .form-group { margin-bottom:22px; }
.somticotech.st-page-login .login-form .card-footer { padding:20px 32px; background:#f7f9ff; border-radius:0 0 18px 18px; line-height:1.8; }
.somticotech.st-page-login .login-form .input-group-text { background:#f0f4fc; color:#45536c; min-width:44px; justify-content:center; border-color:#aab7cd; }
.somticotech.st-page-login .login-form .input-group > .form-control { min-width:0; min-height:48px; }
.somticotech.st-page-login .login-form .input-group:focus-within { border-radius:9px; outline:3px solid #1f47e0; outline-offset:3px; }
.somticotech.st-page-login .login-form .input-group .form-control:focus { box-shadow:none; }
.somticotech.st-page-login .login-form .input-group .form-control:focus-visible { outline:0; }
.somticotech.st-page-login .login-form .text-right { padding:12px 0 0; clear:both; text-align:left !important; }
.somticotech.st-page-login .login-form .text-right label { display:inline-flex; align-items:center; gap:10px; min-height:32px; margin:0; }
.somticotech.st-page-login .login-form input.form-check-input { position:static; margin:0; flex-shrink:0; }
.somticotech.st-page-login .login-form .float-left { float:none !important; }
.somticotech.st-page-login .login-form #login { width:100%; min-height:48px; }
.somticotech.st-page-login .providerPreLinking { width:100%; max-width:500px; margin:18px auto 0; padding:22px; background:#fff; border:1px solid #d8e0ef; border-radius:14px; }
.somticotech.st-page-login .providerLinkingFeedback:not(:empty) { max-width:500px; margin:0 auto 20px; }
.somticotech.st-page-login .social-signin-btns { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px; }
.somticotech.st-page-login .social-signin-btns > * { max-width:100%; margin:0; }
.somticotech.st-page-login .social-signin-btns .btn { min-height:46px; margin:0; }

/* Product-group discovery, independently of the approved product comparison cards. */
.somticotech .st-section-heading { margin:32px 0 22px; text-align:left; font-size:clamp(1.45rem,2.5vw,1.9rem); letter-spacing:-.035em; }
.somticotech .st-product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:20px; }
.somticotech .st-product-grid .card { position:relative; border:1px solid #d6e0f1; border-radius:16px; box-shadow:0 6px 20px #0e1c4707; overflow:hidden; }
.somticotech .st-product-grid .card-body { width:100%; min-width:0; padding:24px !important; }
.st-discovery-icon { display:flex; align-items:center; justify-content:center; width:46px; height:46px; flex-shrink:0; margin-bottom:16px; border:1px solid #d5defc; border-radius:12px; background:#edf2ff; color:#1f47e0; font-size:20px; }
.somticotech .st-product-grid h3.card-title { font-size:1.35rem; line-height:1.3; letter-spacing:-.035em; margin-bottom:12px; overflow-wrap:anywhere; }
.somticotech .st-product-grid .st-group-description { width:100%; color:var(--st-muted); font-size:.95rem; line-height:1.7; margin:0 0 18px; overflow-wrap:anywhere; }
.somticotech .st-product-grid .st-group-description p { font-size:inherit; line-height:inherit; margin-bottom:12px; }
.somticotech .st-product-grid .st-group-description > :last-child { margin-bottom:0; }
.somticotech #main-body .st-product-grid .btn { width:100%; padding:12px 16px; min-height:48px; background:#1b4385; color:#fff; border:1px solid #1b4385; text-align:center; border-radius:10px; }
.somticotech #main-body .st-product-grid .btn:hover { background:#2456a3; border-color:#2456a3; color:#fff; }
.somticotech #main-body .st-product-grid .btn:focus { background:#173b75; border-color:#173b75; color:#fff; }
.somticotech #main-body .st-product-grid .btn:focus-visible { outline:3px solid #1b4385; outline-offset:3px; box-shadow:0 0 0 2px #fff; }
.somticotech #main-body .st-product-grid .btn:not(:disabled):not(.disabled):active { background:#123164; border-color:#123164; color:#fff; }

/* Explicit idle, hover and focus surfaces override the parent's borderless field. */
.somticotech #frmDomainHomepage .input-group-wrapper .form-control { background:#fff; color:#17233b; border:1px solid #8192b0; box-shadow:0 2px 6px #0e1c4706; }
.somticotech #frmDomainHomepage .form-control::placeholder { color:#58657b; opacity:1; }
.somticotech #frmDomainHomepage .form-control:hover { border-color:#455f98; }
.somticotech #frmDomainHomepage .input-group-wrapper .form-control:focus { border-color:#1f47e0; outline:3px solid #1f47e0; outline-offset:3px; box-shadow:none; }

/* Inherited knowledgebase categories, search results, article content and empty states. */
.somticotech:is(.st-page-knowledgebase,.st-page-knowledgebasecat,.st-page-knowledgebasearticle) { overflow-wrap:anywhere; }
.somticotech :is(.kb-search) { display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; background:#fff; padding:12px; border:1px solid #d6e0f1; border-radius:14px; }
.somticotech .kb-search > .form-control { min-width:0; flex:1 1 200px; margin:0; border-radius:9px !important; min-height:48px; font-size:1rem; }
.somticotech .kb-search .input-group-append { margin:0; }
.somticotech .kb-search .btn { border-radius:9px !important; padding:12px 24px; min-height:48px; }
.somticotech .kb-category { height:calc(100% - 24px); border:1px solid #d6e0f1; border-radius:14px; box-shadow:0 6px 18px #0e1c4706; }
.somticotech .kb-category > a.card-body { display:block; padding:24px; color:#0e1c47; text-decoration:none; }
.somticotech .kb-category > a.card-body:hover { background:#f7f9ff; border-radius:14px; }
.somticotech .kb-category .h5 { display:block; line-height:1.6; font-size:1.125rem; font-weight:700; }
.somticotech .kb-category .badge-info { float:none !important; display:table; margin:0 0 12px; padding:6px 10px; background:#edf2ff; color:#1838bd; border:1px solid #d5defc; font-size:.75rem; line-height:1.5; white-space:normal; }
.somticotech .kb-category p { margin-top:12px !important; line-height:1.75; }
.somticotech .kb-category p small { font-size:.9rem; }
.somticotech .kb-article-item { display:block; padding:22px 24px; color:#0e1c47; font-size:1rem; font-weight:600; overflow-wrap:anywhere; }
.somticotech .kb-article-item:hover { background:#f7f9ff; color:#1838bd; }
.somticotech .kb-article-item small { display:block; margin:8px 0 0 25px; font-size:.875rem; color:#526078; line-height:1.75; font-weight:400; }
.somticotech.st-page-knowledgebasearticle .card-body { padding:clamp(20px,4vw,36px); }
.somticotech.st-page-knowledgebasearticle h1 { font-size:clamp(1.6rem,3vw,2.15rem); line-height:1.3; letter-spacing:-.035em; }
.somticotech.st-page-knowledgebasearticle h1 .btn { margin:0 0 12px 16px; }
.somticotech.st-page-knowledgebasearticle article { max-width:76ch; color:#243754; font-size:1rem; line-height:1.85; overflow-wrap:anywhere; }
.somticotech.st-page-knowledgebasearticle article :is(img,video,iframe) { max-width:100%; }
.somticotech.st-page-knowledgebasearticle article img { height:auto; }
.somticotech.st-page-knowledgebasearticle article :is(pre,table) { display:block; max-width:100%; overflow-x:auto; }
.somticotech.st-page-knowledgebasearticle article :is(h2,h3,h4) { margin:28px 0 16px; line-height:1.4; }
.somticotech.st-page-knowledgebasearticle article a { text-decoration:underline; text-underline-offset:3px; }
.somticotech.st-page-knowledgebasearticle form { flex-wrap:wrap; gap:12px; }
.somticotech.st-page-knowledgebasearticle form .btn-secondary { background:#edf2ff; border-color:#b9c9e6; color:#1838bd; }
.somticotech.st-page-knowledgebasearticle form .btn-secondary:hover,.somticotech.st-page-knowledgebasearticle form .btn-secondary:focus { background:#1f47e0; border-color:#1f47e0; color:#fff; }
.somticotech.st-page-knowledgebase .alert { padding:28px; border:1px solid #d6e0f1; background:#fff; color:#45536c; }
@media(max-width:575.98px) {
    .somticotech .dataTables_wrapper .dataTables_filter { text-align:left; }
    .somticotech .dataTables_wrapper .dataTables_filter label { display:flex; flex-direction:column; align-items:flex-start; width:100%; gap:10px; }
    .somticotech .dataTables_wrapper .dataTables_filter label input.form-control { width:100%; }
    .somticotech.st-page-login .login-form .card-body { padding:24px 20px !important; }
    .somticotech.st-page-login .login-form .card-footer { padding:18px 20px; }
    .somticotech .st-product-grid .card-body { padding:24px !important; }
    .somticotech .kb-search .input-group-append,.somticotech .kb-search .btn { width:100%; }
    .somticotech.st-page-knowledgebasearticle h1 .btn { float:none !important; display:table; margin:12px 0; }
}

@media(min-width:576px) and (max-width:1199.98px) { .somticotech .st-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.somticotech #frmDomainHomepage a.btn-link { float:none !important; display:table; width:fit-content; margin:20px 0 0 auto; padding:8px 0; min-height:44px; }

/* Inherited semantic button variants, without changing native disabled/loading logic. */
.somticotech .btn.btn-link:is(:hover,:focus,:active) { color:#1838bd; }
.somticotech #frmDomainHomepage a.btn-link:is(:hover,:focus,:active) { background:transparent; border-color:transparent; color:#1838bd; }
.somticotech #main-body .btn-outline-primary:not(:where(.st-product-grid *)):is(:hover,:focus,:active,.active) { background:#1f47e0; border-color:#1f47e0; color:#fff; }
.somticotech .btn-danger { background-color:#a02814; border-color:#a02814; color:#fff; }
.somticotech .btn-danger:is(:hover,:focus) { background-color:#852010; border-color:#852010; color:#fff; }
.somticotech .btn-warning,.somticotech .btn-warning:is(:hover,:focus,:active) { color:#17233b; }
.invoice-container + p a { color:#1f47e0; }
.invoice-container a:not(.btn) { color:#1f47e0; }
.invoice-container a:not(.btn):hover { color:#1838bd; }
.invoice-container + p a:hover { color:#1838bd; }
.invoice-container + p a:focus-visible { outline:3px solid #1f47e0; outline-offset:3px; }
.somticotech .btn-success { background-color:#146036; border-color:#146036; color:#fff; }
.somticotech .btn-success:is(:hover,:focus) { background-color:#104b2b; border-color:#104b2b; color:#fff; }
.somticotech .btn-info { background-color:#176b70; border-color:#176b70; color:#fff; }
.somticotech .btn-info:is(:hover,:focus) { background-color:#12575b; border-color:#12575b; color:#fff; }
.somticotech .card:focus-within .show-on-card-hover,.somticotech :is(h1,h2,h3,h4,h5,h6):focus-within .show-on-hover { opacity:1; }
.somticotech:is(.st-page-clientareadomaindns,.st-page-clientareadomainemailforwarding,.st-page-account-paymentmethods) #main-body .card .card-body { min-width:0; overflow-x:auto; scroll-padding:8px; }
.somticotech.st-page-clientareacancelrequest .d-inline-block { max-width:100%; }
.somticotech.st-page-clientareacancelrequest :is(select,.btn) { max-width:100%; overflow-wrap:anywhere; }
/* Bootstrap's text-success utility is important; retain its priority within tables. */
.somticotech .table-container .text-success { color:#146036 !important; }
.somticotech.st-page-homepage #main-body .action-icon-btns a .ico-container { font-size:22px; }

/* Independent native actions wrap with room for the six-pixel outer focus ring. */
.somticotech #main-body .st-action-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.somticotech #main-body .st-action-row.text-center { justify-content:center; }
.somticotech #main-body .st-action-row.text-right { justify-content:flex-end; }
.somticotech #main-body .st-action-row > * { margin:0; max-width:100%; overflow-wrap:anywhere; }
.somticotech #main-body .client-home-cards .card-body.st-action-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr)); align-items:stretch; }
.somticotech #main-body .client-home-cards .card-body.st-action-row > .btn { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; }
.somticotech #main-body .st-action-item { margin-block:6px; margin-inline-end:12px; max-width:100%; vertical-align:middle; overflow-wrap:anywhere; }
.somticotech #main-body span.st-action-item > .btn { margin-block:6px; }
.somticotech header.header .topbar .container > .d-flex { gap:12px; flex-wrap:wrap; }
.somticotech header.header .topbar .container > .d-flex > * { min-width:0; max-width:100%; }
/* Connected widgets retain their native geometry; the focus indicator stays inside. */
.somticotech .btn-group > .btn:focus-visible,
.somticotech .md-header button:focus-visible,
.somticotech .pagination a:focus-visible,
.invoice-container .btn-group > .btn:focus-visible {
    outline:0;
    box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px #1f47e0;
}
/* Vendor promotional CTAs must resolve after each inherited vendor palette. */
.somticotech #main-body .promo-banner .btn { background:#1b4385; border-color:#1b4385; color:#fff; }
.somticotech #main-body .promo-banner .btn:is(:hover,:focus) { background:#193670; border-color:#193670; color:#fff; }
.somticotech #main-body .promo-banner .btn:is(:active,.active) { background:#123164; border-color:#123164; color:#fff; }
.somticotech #main-body :is(.client-home-cards .btn,.product-actions-wrapper .btn,.ticket-actions .btn,.login-form .btn-primary,#registration .btn-primary,.st-action-row > .btn,.st-action-item.btn,.promo-banner .btn):not(:where(.text-left,.text-right,.dropdown-toggle,.btn-social,.btn-group *,.input-group *)) { display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:.5em; line-height:1.5; }
.somticotech #main-body :is(.client-home-cards .btn,.product-actions-wrapper .btn,.ticket-actions .btn,.login-form .btn-primary,#registration .btn-primary,.st-action-row > .btn,.st-action-item.btn,.promo-banner .btn):not(:where(.text-left,.text-right,.dropdown-toggle,.btn-social,.btn-group *,.input-group *)) > :is(i,span):not(.sr-only) { float:none; margin-inline:0; }
.somticotech footer.footer .nav-link:is(:hover,:focus-visible) { color:#f5a623; text-decoration:underline; text-underline-offset:.2em; }
.somticotech :is(.breadcrumb a[href],.client-home-cards .list-group-item[href],.client-home-cards .card-footer a[href],.table-container a[href]:not(.btn),.markdown-content a[href],a.kb-article-item):is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:.2em; }
.somticotech #main-body .promo-banner a[href]:not(.btn) { color:#1b4385; text-decoration:underline; text-underline-offset:.2em; }
.somticotech #main-body .promo-banner a[href]:not(.btn):is(:hover,:focus-visible,:active) { color:#123164; text-decoration-thickness:2px; }
/* Native promotional cards: readable hierarchy without changing product content or forms. */
.somticotech #main-body .promo-banner { margin:20px 0; padding:28px; border:1px solid #d6e0f1; border-top:3px solid #1b4385; border-radius:16px; background:#fff; box-shadow:0 6px 20px #0e1c4707; overflow:visible; }
.somticotech #main-body .promo-banner > .card-body { display:flex; flex-wrap:wrap; gap:28px; align-items:flex-start; padding:0; }
.somticotech #main-body .promo-banner .icon-left { flex:0 0 auto; float:none; width:112px; max-width:100%; margin:0; padding:12px; min-height:80px; display:flex; align-items:center; justify-content:center; background:#f3f6fc; border-radius:12px; }
.somticotech #main-body .promo-banner .icon-left a { display:flex; align-items:center; justify-content:center; width:100%; min-height:56px; }
.somticotech #main-body .promo-banner .icon-left img { display:block; width:auto; max-width:100%; max-height:88px; object-fit:contain; }
.somticotech #main-body .promo-banner .content { flex:1 1 340px; min-width:0; margin:0; overflow-wrap:anywhere; }
.somticotech #main-body .promo-banner h3 { margin:0 0 18px; padding:0; color:#0e1c47; font-size:1.4rem; font-weight:700; line-height:1.35; letter-spacing:-.025em; }
.somticotech #main-body .promo-banner h3 small { display:block; margin-top:12px; font-size:.8rem; font-weight:600; line-height:1.5; }
.somticotech #main-body .promo-banner h3 small a { display:inline-flex; align-items:center; min-height:36px; padding:7px 12px; border:1px solid #b9c9e6; border-radius:8px; background:#edf2ff; text-decoration:none; }
.somticotech #main-body .promo-banner h3 small a:is(:hover,:focus-visible) { background:#dce7ff; text-decoration:underline; }
.somticotech #main-body .promo-banner h4 { margin:0 0 14px; color:#243754; font-size:1rem; font-weight:600; line-height:1.6; }
.somticotech #main-body .promo-banner p { margin:0 0 20px; color:#526078; font-size:.95rem; line-height:1.75; }
.somticotech #main-body .promo-banner ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:10px 20px; margin:0 0 24px; padding:0; font-size:.9rem; line-height:1.65; }
.somticotech #main-body .promo-banner ul li { display:flex; align-items:flex-start; gap:10px; float:none; width:auto; margin:0; color:#35445f; }
.somticotech #main-body .promo-banner ul li > i { flex:0 0 auto; margin:2px 0 0; color:#146036; font-size:1rem; line-height:1.4; }
.somticotech #main-body .promo-banner form { margin:0; text-align:left; }
.somticotech #main-body .promo-banner form .btn { max-width:100%; min-height:48px; margin:0; padding:12px 20px; border:1px solid #1b4385; border-radius:10px; font-size:.95rem; font-weight:600; line-height:1.6; white-space:normal; overflow-wrap:anywhere; }
@media(max-width:767.98px) {
    .somticotech #main-body .promo-banner { padding:24px 20px; }
    .somticotech #main-body .promo-banner > .card-body { flex-direction:column; gap:22px; }
    .somticotech #main-body .promo-banner .content { flex:0 1 auto; width:100%; }
    .somticotech #main-body .promo-banner .icon-left { width:132px; min-height:64px; }
    .somticotech #main-body .promo-banner .icon-left a { min-height:40px; }
    .somticotech #main-body .promo-banner h3 { font-size:1.3rem; }
    .somticotech #main-body .promo-banner form .btn { width:100%; }
}
/* Service states retain their native text/filter values and SSL attributes. */
.somticotech .status-terminated { background:#b42318; border-color:#b42318; color:#fff; }
.somticotech .status-active { background:#237a3b; border-color:#237a3b; color:#fff; text-shadow:none; }
.somticotech #tableServicesList tr:has(.status-terminated) td:first-child > img[src$="/ssl-inactive-domain.png"] { content:url('../img/icons/service-terminated.svg?v=1.1.15'); width:25px; height:29px; object-fit:contain; }
.somticotech #tableServicesList tr:has(.status-active) td:first-child > img.ssl-state.ssl-active[src$="/ssl-active.png"] { content:url('../img/icons/service-active.svg?v=1.1.15'); width:25px; height:29px; object-fit:contain; }
/* The native fit layout creates filter, information and table as direct siblings. */
.somticotech .dataTables_wrapper .listtable { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:20px; row-gap:12px; }
.somticotech .dataTables_wrapper .listtable > .dataTables_info { grid-column:1; grid-row:1; float:none; width:auto; padding:8px 0; margin:0; text-align:left; }
.somticotech .dataTables_wrapper .listtable > .dataTables_filter { grid-column:2; grid-row:1; justify-self:end; float:none; width:auto; padding:6px; margin:0; }
.somticotech .dataTables_wrapper .listtable > :is(table,.dataTables_scroll) { grid-column:1 / -1; grid-row:2; }
@media(max-width:767.98px) {
    .somticotech .dataTables_wrapper .listtable { grid-template-columns:minmax(0,1fr); row-gap:8px; }
    .somticotech .dataTables_wrapper .listtable > .dataTables_filter { grid-column:1; grid-row:1; justify-self:stretch; }
    .somticotech .dataTables_wrapper .listtable > .dataTables_info { grid-column:1; grid-row:2; padding:4px 0; }
    .somticotech .dataTables_wrapper .listtable > :is(table,.dataTables_scroll) { grid-row:3; }
    .somticotech .dataTables_wrapper .listtable > .dataTables_filter label { display:flex; flex-direction:row; align-items:center; width:100%; gap:12px; }
    .somticotech .dataTables_wrapper .listtable > .dataTables_filter label input.form-control { flex:1 1 0; min-width:0; width:auto; }
}
