/* =========================================================================
   GlamourHost theme — restyles WHMCS Twenty-One to match glamourhost.com
   (child theme; inherits Twenty-One base CSS, this file only adds brand skin)
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
    --gh-brand-50:  #eafaf4;
    --gh-brand-100: #cdf2e3;
    --gh-brand-300: #7fdcbb;
    --gh-brand-400: #42c79b;
    --gh-brand-500: #12a87a;
    --gh-brand-600: #0c8b66;
    --gh-brand-700: #0a6e52;
    --gh-gold-400:  #f3c969;
    --gh-gold-500:  #e7b54a;
    --gh-ink:       #0a1714;
    --primary-color: #12a87a;
    --secondary-color: #0c8b66;
}

/* ---- Typography -------------------------------------------------------- */
body,
.body-wrapper,
p, td, label, input, select, textarea, .form-control {
    font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
    color: #334155;
}
body { background: #f7faf9; }
h1, h2, h3, h4, h5, h6,
.navbar-brand, .panel-title, .card-title, .page-header h1, .primary-heading {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-weight: 800 !important;
    color: var(--gh-ink);
    letter-spacing: -0.01em;
}
a { color: var(--gh-brand-600); }
a:hover { color: var(--gh-brand-700); }

/* ---- Header / navbar --------------------------------------------------- */
#header .navbar,
#main-menu,
.navbar.navbar-expand-lg,
header .navbar {
    background: rgba(255,255,255,0.95) !important;
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e7efeb !important;
    box-shadow: 0 1px 0 rgba(10,23,20,0.02);
}
.navbar .nav-link,
#main-menu .nav-link,
.navbar-nav > li > a {
    color: #334155 !important;
    font-weight: 500;
}
.navbar .nav-link:hover,
.navbar-nav > li > a:hover { color: var(--gh-brand-600) !important; }
.navbar-brand { color: var(--gh-ink) !important; font-size: 1.35rem; }
.logo-img { max-height: 40px; }

/* Cart button in header */
.cart-btn, .navbar .cart-btn {
    background: var(--gh-brand-500) !important;
    color: #fff !important;
    border-radius: 0.6rem !important;
    font-weight: 600;
}
.cart-btn:hover { background: var(--gh-brand-600) !important; }

/* ---- Buttons ---------------------------------------------------------- */
.btn {
    border-radius: 0.6rem;
    font-weight: 600;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: all .15s ease;
}
.btn-primary,
.btn-success,
.btn-info,
.btn-checkout,
.btn-add-to-cart,
.btn-order-now {
    background: var(--gh-brand-500) !important;
    border-color: var(--gh-brand-500) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px -6px rgba(18,168,122,0.6);
}
.btn-primary:hover, .btn-primary:focus,
.btn-success:hover, .btn-success:focus,
.btn-info:hover,
.btn-checkout:hover,
.btn-add-to-cart:hover,
.btn-order-now:hover {
    background: var(--gh-brand-600) !important;
    border-color: var(--gh-brand-600) !important;
    color: #fff !important;
}
.btn-secondary,
.btn-default {
    background: #fff !important;
    border: 1px solid #d8e3de !important;
    color: #1f2937 !important;
}
.btn-secondary:hover, .btn-default:hover { border-color: var(--gh-brand-500) !important; color: var(--gh-brand-600) !important; }
.btn-outline-primary {
    color: var(--gh-brand-600) !important;
    border-color: var(--gh-brand-500) !important;
}
.btn-outline-primary:hover { background: var(--gh-brand-500) !important; color: #fff !important; }
.btn-warning, .btn-gold {
    background: var(--gh-gold-500) !important;
    border-color: var(--gh-gold-500) !important;
    color: var(--gh-ink) !important;
}
.btn-warning:hover { background: var(--gh-gold-400) !important; }

/* ---- Links / text accents -------------------------------------------- */
.text-primary, .text-success { color: var(--gh-brand-600) !important; }
.bg-primary { background-color: var(--gh-brand-500) !important; }
.badge-primary, .badge-success { background-color: var(--gh-brand-500) !important; }
.badge-info { background-color: var(--gh-gold-500) !important; color: var(--gh-ink) !important; }

/* ---- Cards / panels --------------------------------------------------- */
.card, .panel,
.client-home-panels .panel,
.sidebar, .menu-sidebar,
.summary-container, .order-summary {
    border-radius: 1rem !important;
    border: 1px solid #e7efeb !important;
    box-shadow: 0 10px 30px -18px rgba(10,23,20,0.18);
}
.panel-heading, .card-header {
    background: #fff !important;
    border-bottom: 1px solid #eef3f1 !important;
    font-weight: 700;
    border-radius: 1rem 1rem 0 0 !important;
}
.panel-primary > .panel-heading,
.card-header.bg-primary {
    background: var(--gh-brand-500) !important;
    color: #fff !important;
}

/* ---- Forms ------------------------------------------------------------ */
.form-control, .form-select, select.form-control {
    border-radius: 0.6rem;
    border: 1px solid #d8e3de;
    padding: 0.6rem 0.85rem;
}
.form-control:focus {
    border-color: var(--gh-brand-400);
    box-shadow: 0 0 0 3px rgba(18,168,122,0.18);
}
.custom-control-input:checked ~ .custom-control-label::before,
.form-check-input:checked {
    background-color: var(--gh-brand-500) !important;
    border-color: var(--gh-brand-500) !important;
}

/* ---- Hero / page headers --------------------------------------------- */
.home-banner, .header-lined, .page-header,
.primary-content > h1:first-child {
    border-color: var(--gh-brand-100);
}
.jumbotron, .home-banner {
    background: linear-gradient(135deg, var(--gh-brand-600), var(--gh-brand-800, #0a5642)) !important;
    color: #fff;
    border-radius: 1.25rem;
}

/* ---- Domain checker / search ----------------------------------------- */
.domain-checker-container,
#domaincheckersearch,
.domain-search {
    border-radius: 1rem;
}
.domain-checker-container .btn,
#domaincheckerform .btn { border-radius: 0.6rem; }
.domain-available, .available { color: var(--gh-brand-600) !important; }

/* =========================================================================
   ORDER FORM / CART
   ========================================================================= */
#order-standard_cart .panel,
#order-standard_cart .product,
#frmConfigureProduct .panel,
.cart-template,
#productConfigurableOptions {
    border-radius: 1rem !important;
    border: 1px solid #e7efeb !important;
}
#order-standard_cart .product .panel-heading,
.product .panel-heading {
    background: var(--gh-ink) !important;
    color: #fff !important;
    border-radius: 1rem 1rem 0 0 !important;
}
#order-standard_cart .product.active,
.product.selected,
.product:hover {
    box-shadow: 0 12px 30px -16px rgba(18,168,122,0.5);
    border-color: var(--gh-brand-400) !important;
}
.product-pricing .price, .price-big, .cycle, .amount,
#order-standard_cart .price {
    color: var(--gh-brand-600) !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
}
.order-summary .total, .summary-totals .total, .cart-total {
    color: var(--gh-brand-700) !important;
    font-weight: 800;
}
.cartContent .panel-heading,
.checkout-step-header,
.order-review-summary .panel-heading {
    background: var(--gh-brand-50) !important;
    color: var(--gh-ink) !important;
    border-bottom: 1px solid var(--gh-brand-100) !important;
}
/* Promo / popular ribbon */
.product .recommended, .popular-badge, .ribbon {
    background: var(--gh-gold-500) !important;
    color: var(--gh-ink) !important;
}

/* ---- Tables ----------------------------------------------------------- */
.table thead th { color: var(--gh-ink); border-bottom: 2px solid var(--gh-brand-100); }
.table-hover tbody tr:hover { background: var(--gh-brand-50); }

/* ---- Alerts ----------------------------------------------------------- */
.alert-success { background: var(--gh-brand-50); border-color: var(--gh-brand-300); color: var(--gh-brand-700); }
.alert-info { background: #fff8e9; border-color: var(--gh-gold-400); color: #7a5c12; }

/* ---- Footer ----------------------------------------------------------- */
#footer, .footer, footer#footer {
    background: var(--gh-ink) !important;
    color: rgba(205,242,227,0.7) !important;
    border-top: none !important;
}
#footer a, .footer a { color: rgba(255,255,255,0.85) !important; }
#footer a:hover, .footer a:hover { color: #fff !important; }
#footer h3, #footer h4, #footer .footer-title { color: #fff !important; }
.footer-bottom, .copyright { color: rgba(205,242,227,0.55) !important; }

/* ---- Misc accents ----------------------------------------------------- */
.nav-tabs .nav-link.active { color: var(--gh-brand-600); border-bottom-color: var(--gh-brand-500); }
.progress-bar { background-color: var(--gh-brand-500); }
::selection { background: var(--gh-brand-100); }
