/* ==========================================================
   Sector 1 Solutions – WHMCS child theme (parent: twenty-one)
   Matches sector1solutions.net: Manrope, black bars, blue accent
   ========================================================== */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root{
  --s1-ink:#132238; --s1-ink-2:#4A5A72; --s1-line:#DCE3EE; --s1-paper-2:#F3F6FB;
  --s1-blue:#1747D6; --s1-blue-dark:#0F34A6; --s1-black:#0B0B0B; --s1-mint:#1DB27A;
}
body{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--s1-ink);background:#fff}
h1,h2,h3,h4,h5{font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:-0.02em;color:var(--s1-ink)}

/* Top bar + header ---------------------------------------- */
#header,.header,#main-menu{background:#fff!important;border-bottom:1px solid var(--s1-line)}
#main-menu .navbar-nav>li>a,#main-menu .nav-link{font-weight:600;color:var(--s1-ink-2)!important}
#main-menu .navbar-nav>li>a:hover,#main-menu .nav-link:hover{color:var(--s1-ink)!important}
#header .navbar{min-height:72px}
#header .logo img{max-height:48px;width:auto}
#header .navbar-nav>li>a{font-weight:600;color:var(--s1-ink-2)}
#header .navbar-nav>li>a:hover,#header .navbar-nav>li.active>a{color:var(--s1-ink);background:var(--s1-paper-2);border-radius:8px}
#header .dropdown-menu{border:1px solid var(--s1-line);border-radius:14px;box-shadow:0 20px 50px -20px rgba(19,34,56,.25);padding:8px}
#header .dropdown-menu>li>a{border-radius:8px;padding:9px 12px}
#header .dropdown-menu>li>a:hover{background:var(--s1-paper-2)}
.navbar-inverse{background:var(--s1-black)!important;border-color:var(--s1-black)!important}
.navbar-inverse .navbar-nav>li>a{color:rgba(255,255,255,.85)}

/* Hero / page header ------------------------------------- */
.header-lined h1,.page-header h1{font-size:2rem}
#main-body{background:#fff}
.landing-page,.home-shortcuts{background:var(--s1-paper-2)}

/* Buttons ------------------------------------------------- */
.btn{border-radius:10px;font-weight:700;padding:10px 20px}
.btn-primary,.btn-default.active,.btn-styled-blue{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important;color:#fff!important}
.btn-primary:hover,.btn-styled-blue:hover{background:var(--s1-blue-dark)!important;border-color:var(--s1-blue-dark)!important}
.btn-success{background:var(--s1-mint)!important;border-color:var(--s1-mint)!important}
.btn-default{border:1.5px solid var(--s1-line);color:var(--s1-ink);background:#fff}
.btn-default:hover{border-color:var(--s1-ink)}

/* Cards, panels, tables ----------------------------------- */
.panel,.card,.tile{border:1px solid var(--s1-line);border-radius:14px;box-shadow:none}
.panel-heading,.card-header{background:#fff;border-bottom:1px solid var(--s1-line);border-radius:14px 14px 0 0;font-weight:700}
.panel-primary>.panel-heading{background:var(--s1-blue);border-color:var(--s1-blue);color:#fff}
.tile .icon{color:var(--s1-blue)}
.table>thead>tr>th{border-bottom:1px solid var(--s1-line);color:var(--s1-ink-2);font-weight:700}
.table-hover>tbody>tr:hover{background:var(--s1-paper-2)}
.form-control{border:1.5px solid var(--s1-line);border-radius:10px;box-shadow:none;padding:10px 14px;height:auto}
.form-control:focus{border-color:var(--s1-blue);box-shadow:none}
.badge,.label{border-radius:999px;font-weight:700}
.label-success{background:var(--s1-mint)}
.label-info{background:var(--s1-blue)}
a{color:var(--s1-blue)}

/* Order form / cart (works for both cart.php and WHMCS 9 /store pages) --- */
html,body,#main-body,.main-content,.landing-page{background:#fff!important}
.header-lined,.breadcrumb,.breadcrumb-bar,#main-menu ~ .container-fluid > .row > .col-12 > .breadcrumb{background:var(--s1-paper-2)!important;border:0}
.breadcrumb a,.breadcrumb li{color:var(--s1-ink-2)}

/* Product cards */
.product,.products .product,.product-selection .product,.package{border:1px solid var(--s1-line)!important;border-radius:16px!important;box-shadow:none!important;overflow:hidden;background:#fff!important}
.product header,.product > header,.package header,.product .header{background:var(--s1-black)!important;color:#fff!important;border:0!important;border-radius:0!important;padding:18px 22px!important}
.product header span,.product header .product-name,.product header h4,.product header h3{color:#fff!important;font-weight:800!important;font-size:1.15rem}
.product.featured header,.product.product-featured header{background:var(--s1-blue)!important}
.product .product-desc,.product .product-features{color:var(--s1-ink-2)}
.product .product-pricing,.product .pricing .price,.product .price{color:var(--s1-ink)!important;font-weight:800!important}
.product .product-pricing .cycle,.product .pricing .cycle{color:var(--s1-ink-2)!important;font-weight:500!important}
.product footer{background:transparent!important;border:0!important}

/* Buttons: kill the green, use brand blue */
.btn-success,.btn-primary,.btn.btn-success,.btn.btn-primary,.product footer .btn,.btn-styled-blue,button[type=submit].btn{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important;color:#fff!important;border-radius:10px!important;font-weight:700!important}
.btn-success:hover,.btn-primary:hover,.product footer .btn:hover{background:var(--s1-blue-dark)!important;border-color:var(--s1-blue-dark)!important}
.btn-default,.btn-secondary,.btn-light{border:1.5px solid var(--s1-line)!important;color:var(--s1-ink)!important;background:#fff!important;border-radius:10px!important;font-weight:700!important}
.btn-default:hover,.btn-secondary:hover{border-color:var(--s1-ink)!important}

/* Sidebar panels */
.panel-sidebar,.card-sidebar,.sidebar .card{border:1px solid var(--s1-line)!important;border-radius:14px!important;overflow:hidden;box-shadow:none!important}
.panel-sidebar .panel-heading,.card-sidebar .card-header,.sidebar .card-header{background:#fff!important;border-bottom:1px solid var(--s1-line)!important;font-weight:700;color:var(--s1-ink)}
.panel-sidebar .list-group-item.active,.sidebar .list-group-item.active{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important;color:#fff!important}
.panel-sidebar .list-group-item,.sidebar .list-group-item{border-color:var(--s1-line)!important;color:var(--s1-ink)}

/* Order summary / checkout */
.order-summary{background:var(--s1-black)!important;border-radius:16px!important;color:#fff}
.order-summary .btn{background:#fff!important;color:var(--s1-black)!important}
.domain-checker-bg,.domainchecker-homepage-captcha{background:var(--s1-black)!important;border-radius:16px}
.domain-selection-options .option{border:1px solid var(--s1-line)!important;border-radius:12px!important}
.view-cart-tabs .nav-tabs>li.active>a,.nav-tabs .nav-link.active{border-bottom:3px solid var(--s1-blue)!important;color:var(--s1-ink)!important}
.summary-container,.cart-summary{border-radius:16px!important}

/* Client area sidebar ------------------------------------- */
.list-group-item{border-color:var(--s1-line)}
.list-group-item.active,.list-group-item.active:hover{background:var(--s1-blue);border-color:var(--s1-blue)}
.panel-sidebar .panel-heading{background:var(--s1-paper-2)}

/* Footer -------------------------------------------------- */
#footer,footer.footer{background:var(--s1-black);color:rgba(255,255,255,.75);border-top:0}
#footer a,footer.footer a{color:rgba(255,255,255,.85)}
#footer a:hover{color:#fff}
#footer .copyright{color:rgba(255,255,255,.5)}

/* Misc ---------------------------------------------------- */
.alert{border-radius:12px}
.alert-info{background:#E7EDFF;border-color:#E7EDFF;color:var(--s1-blue-dark)}
.alert-success{background:#E6F7F0;border-color:#E6F7F0;color:#0E6B48}
.alert-danger{background:#FDECEC;border-color:#FDECEC;color:#9B2C2C}
.progress-bar{background:var(--s1-blue)}
.pagination>.active>a{background:var(--s1-blue);border-color:var(--s1-blue)}

/* Review & Checkout page ---------------------------------- */
.view-cart-items thead,.view-cart-items thead th,.cart-body thead th,table.table thead th,.table-primary,.thead-dark th{background:var(--s1-black)!important;color:#fff!important;border:0!important}
.view-cart-items thead th:first-child{border-radius:12px 0 0 0}
.view-cart-items thead th:last-child{border-radius:0 12px 0 0}
.view-cart-items,.view-cart-items tbody tr{border-color:var(--s1-line)!important}
.view-cart-items .item-title,.view-cart-items .item-group{color:var(--s1-ink)}
.view-cart-items .item-domain,.view-cart-items a{color:var(--s1-blue)}
.order-summary,.summary-container .card,.cart-summary{border:1px solid var(--s1-line)!important;border-radius:16px!important;box-shadow:none!important;overflow:hidden;background:#fff!important;color:var(--s1-ink)!important}
.order-summary .card-header,.order-summary header,.summary-container .card-header,.order-summary h2,.order-summary .summary-header{background:var(--s1-black)!important;color:#fff!important;border:0!important;font-weight:800;font-size:1.15rem}
.order-summary .total-due-today .amt,.order-summary .amt{color:var(--s1-ink)!important;font-weight:800}
.btn-checkout,#checkout,#btnCompleteOrder,.btn-lg.btn-success,button.btn-checkout,a.btn-checkout{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important;color:#fff!important;border-radius:12px!important;font-weight:800!important;box-shadow:none!important}
.btn-checkout:hover,#checkout:hover{background:var(--s1-blue-dark)!important;border-color:var(--s1-blue-dark)!important}
#btnEmptyCart,.btn-empty-cart,.empty-cart-btn{background:transparent!important;border:1.5px solid var(--s1-line)!important;color:var(--s1-ink-2)!important;border-radius:10px!important}
#btnEmptyCart:hover{border-color:#9B2C2C!important;color:#9B2C2C!important}
.view-cart-tabs,.promo-container,.cart-promo{background:var(--s1-paper-2)!important;border-radius:14px!important;border:1px solid var(--s1-line)!important}
.view-cart-tabs .nav-tabs>li>a,.view-cart-tabs .nav-link{color:var(--s1-ink-2)!important;font-weight:600}
.btn-continue-shopping,.continue-shopping{color:var(--s1-blue)!important;background:transparent!important;border:0!important}

/* Checkout form -------------------------------------------- */
.checkout-form .card,.checkout .card,#frmCheckout .card,.sub-heading span{border-color:var(--s1-line)!important;border-radius:14px!important}
.sub-heading span{background:#fff!important;color:var(--s1-ink)!important;font-weight:800}
.sub-heading:before{border-color:var(--s1-line)!important}
#frmCheckout .btn-primary,#frmCheckout .btn-success,#btnCompleteOrder{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important}
.payment-methods .btn-toggle,.payment-methods .btn{border:1.5px solid var(--s1-line)!important;border-radius:10px!important;color:var(--s1-ink)!important;background:#fff!important}
.payment-methods .btn.active,.payment-methods .btn-toggle.active{border-color:var(--s1-blue)!important;background:#E7EDFF!important;color:var(--s1-blue-dark)!important}
.cc-input-wrap,.credit-card-input-holder,.cc-details{border-color:var(--s1-line)!important;border-radius:12px!important}

/* Pass 3: fixes from cart/checkout screenshots -------------- */
/* Knowledgebase search button back to neutral */
.search-form .btn,.search-form button,#header .form-inline .btn,.input-group-btn .btn,.kb-search .btn,button[type=submit].btn.search-btn{background:#fff!important;border:1px solid var(--s1-line)!important;color:var(--s1-ink-2)!important;border-radius:10px 0 0 10px!important}
/* Cart table header: catch every variant */
thead th,thead > tr > th,.view-cart-items th,.cart-items th,.table-header,.bg-primary,.table thead.thead-light th{background:var(--s1-black)!important;color:#fff!important;border:0!important}
/* Promo / secondary actions as outline buttons */
#btnApplyPromo,#applyPromo,.promo-container .btn,.view-cart-tabs .btn,.btn-validate-promo{background:#fff!important;color:var(--s1-ink)!important;border:1.5px solid var(--s1-line)!important;font-weight:700!important;border-radius:10px!important}
#btnApplyPromo:hover,.promo-container .btn:hover{border-color:var(--s1-ink)!important}
/* Already Registered? and other info buttons */
.btn-info,.btn-outline-info,#btnAlreadyRegistered,.btn-already-registered{background:#fff!important;color:var(--s1-blue)!important;border:1.5px solid var(--s1-blue)!important;border-radius:10px!important;font-weight:700!important}
.btn-info:hover{background:#E7EDFF!important}
/* Page title band + breadcrumb bar: flat and clean */
.header-lined,.page-header{background:transparent!important;border-bottom:1px solid var(--s1-line)!important;padding:8px 0 14px;margin-bottom:18px}
.breadcrumb-bar,.breadcrumb,nav[aria-label="breadcrumb"]{background:#fff!important;border-bottom:1px solid var(--s1-line)!important;border-radius:0!important}
.breadcrumb-item,.breadcrumb li,.breadcrumb a{color:var(--s1-ink-2)!important;font-size:.9rem}
/* Checkout form inputs */
#frmCheckout .form-control,.checkout .form-control,.input-group .form-control{border:1.5px solid var(--s1-line)!important;border-radius:10px!important;background:#fff!important;color:var(--s1-ink)}
#frmCheckout .form-control:focus{border-color:var(--s1-blue)!important;box-shadow:none!important}
.input-group-text,.input-group-addon{background:var(--s1-paper-2)!important;border-color:var(--s1-line)!important;color:var(--s1-ink-2)!important;border-radius:10px 0 0 10px!important}
.sub-heading span{background:#fff!important;color:var(--s1-ink)!important;font-weight:800;padding:0 14px}
/* Sidebar active item */
.list-group-item.active{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important}

/* Header search button: neutral regardless of markup */
#header .input-group .btn,#header .input-group button,.navbar-search .btn,.header .input-group-append .btn,#header form button,header .input-group button{background:#fff!important;border:1px solid var(--s1-line)!important;color:var(--s1-ink-2)!important}
/* Dashboard stat tiles */
.tiles .tile,.client-home-panels .tile,.tile{border:1px solid var(--s1-line)!important;border-radius:14px!important;background:#fff!important}
.tile .stat,.tile .number{color:var(--s1-blue)!important;font-weight:800}
.tile .icon,.tile i{color:var(--s1-line)!important}
.tile.tile-services .highlight,.tile.tile-domains .highlight,.tile.tile-tickets .highlight,.tile.tile-invoices .highlight{background:var(--s1-blue)!important}
.card .card-footer,.panel .panel-footer{background:var(--s1-paper-2)!important;border-top:1px solid var(--s1-line)!important}

/* Exact selectors from standard_cart/viewcart.tpl ----------- */
#order-standard_cart .view-cart-items-header{background:var(--s1-black)!important;color:#fff!important;border-radius:12px 12px 0 0;font-weight:700;border:0!important}
#order-standard_cart .view-cart-items{border:1px solid var(--s1-line);border-top:0;border-radius:0 0 12px 12px}
#order-standard_cart .view-cart-items .item{border-bottom:1px solid var(--s1-line)}
#order-standard_cart .view-cart-items .item:last-child{border-bottom:0}
#order-standard_cart .view-cart-items .item-title{color:var(--s1-ink);font-weight:700}
#order-standard_cart .view-cart-items .item-price span:first-child{color:var(--s1-ink);font-weight:800}
/* Any btn-default must stay neutral even when it's a submit button */
.btn.btn-default,button.btn-default,input.btn-default,.btn-block.btn-default,#order-standard_cart .btn-default{background:#fff!important;color:var(--s1-ink)!important;border:1.5px solid var(--s1-line)!important;font-weight:700!important;border-radius:10px!important}
.btn.btn-default:hover,button.btn-default:hover{border-color:var(--s1-ink)!important;background:#fff!important}
#order-standard_cart .view-cart-tabs{background:var(--s1-paper-2)!important;border:1px solid var(--s1-line)!important;border-radius:14px!important;padding:0 16px 16px}
#order-standard_cart .view-cart-tabs .nav-tabs{border-bottom:1px solid var(--s1-line)}
#order-standard_cart .view-cart-tabs .nav-link.active{background:transparent!important;border:0!important;border-bottom:3px solid var(--s1-blue)!important;color:var(--s1-ink)!important}
#order-standard_cart .order-summary{border:1px solid var(--s1-line)!important;border-radius:16px!important;overflow:hidden;background:#fff!important;box-shadow:none!important}
#order-standard_cart .order-summary h2{background:var(--s1-black)!important;color:#fff!important;margin:0;padding:16px 20px;font-size:1.2rem!important;font-weight:800}
#order-standard_cart .order-summary .summary-container{padding:16px 20px}
#order-standard_cart .order-summary .total-due-today .amt{color:var(--s1-ink)!important;font-weight:800}
#order-standard_cart .btn-checkout{background:var(--s1-blue)!important;border-color:var(--s1-blue)!important}
#order-standard_cart .empty-cart .btn-link{color:var(--s1-ink-2)!important}
#order-standard_cart .empty-cart .btn-link:hover{color:#9B2C2C!important}

/* Full logo sizing in header */
#header .logo img,#logo img,.navbar-brand img,#header img.logo{max-height:56px!important;height:56px;width:auto!important}
