/* =====================================================================
   Simple-Webhosting.ca theme  (child of Twenty-One)
   Colours taken from the live site and logo.
   ===================================================================== */
:root {
    --swh-blue:  #006BD5;   /* hero band, links, main buttons */
    --swh-teal:  #005275;   /* consultation band, hover */
    --swh-green: #25B88D;   /* search / highlight buttons */
    --swh-red:   #E23B1C;   /* logo maple leaf */
    --swh-ink:   #0E2A38;   /* text, footer */
    --swh-muted: #4A5868;
    --swh-line:  #D5DEE8;
    --swh-tint:  #F2F6FB;
}

/* ---- Base ---------------------------------------------------------- */
body,
body.primary-bg-color {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    color: var(--swh-ink);
    background: #FFFFFF;
}
a { color: var(--swh-blue); }
a:hover, a:focus { color: var(--swh-teal); }

.btn-primary {
    background-color: var(--swh-blue);
    border-color: var(--swh-blue);
    color: #FFFFFF;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--swh-teal) !important;
    border-color: var(--swh-teal) !important;
}
.btn-outline-primary { color: var(--swh-blue); border-color: var(--swh-blue); }
.btn-outline-primary:hover { background-color: var(--swh-blue); border-color: var(--swh-blue); color: #FFFFFF; }
.btn-success {
    background-color: var(--swh-green);
    border-color: var(--swh-green);
    color: var(--swh-ink);
}
.btn-success:hover, .btn-success:focus {
    background-color: #1E9D78;
    border-color: #1E9D78;
    color: var(--swh-ink);
}
.badge-info { background-color: var(--swh-blue); }

/* ---- Header ------------------------------------------------------- */
.header.swh-header {
    background: #FFFFFF;
    border-bottom: 1px solid var(--swh-line);
    box-shadow: none;
}
.swh-brandbar .container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 16px;
}
.swh-lang {
    align-self: flex-end;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--swh-muted);
    font-size: 14px;
    margin-bottom: -8px;
}
.swh-lang .custom-select {
    width: auto;
    min-height: 40px;
    border-color: var(--swh-line);
    border-radius: 8px;
    color: var(--swh-ink);
    font-size: 14px;
    cursor: pointer;
}
.swh-logo { display: block; }
.swh-logo img {
    display: block;
    height: 150px;
    width: auto;
    max-width: 100%;
}

.header .swh-nav {
    padding: 8px 0 16px;
    background: transparent;
}
.swh-nav .navbar-nav { align-items: center; }
.swh-nav .navbar-nav .nav-link {
    color: var(--swh-ink);
    font-weight: 600;
    font-size: 15px;
    padding: 10px 13px;
}
.swh-nav .navbar-nav .nav-link:hover,
.swh-nav .navbar-nav .active > .nav-link { color: var(--swh-blue); }
.swh-nav .dropdown-menu { border-color: var(--swh-line); border-radius: 10px; }
.swh-nav .dropdown-item:active { background-color: var(--swh-blue); }
.swh-cart-count { color: var(--swh-blue); }

.swh-btn-login,
.swh-btn-login:visited {
    background: var(--swh-blue);
    color: #FFFFFF !important;
    font-weight: 600;
    font-size: 15px;
    border-radius: 10px;
    padding: 11px 18px;
    margin-left: 8px;
}
.swh-btn-login:hover { background: var(--swh-teal); }

/* The WHMCS "Home" menu item is not wanted (the logo links home) */
#Primary_Navbar-Home,
.swh-nav li[menuitemname="Home"] { display: none !important; }

.swh-nav-toggle {
    margin: 0 auto;
    border: 1px solid var(--swh-line);
    border-radius: 8px;
    color: var(--swh-ink);
    font-size: 15px;
    font-weight: 600;
    padding: 10px 16px;
}

@media (max-width: 1199.98px) {
    .swh-nav .navbar-collapse { margin-top: 8px; }
    .swh-nav .navbar-nav { align-items: stretch; text-align: center; }
    .swh-btn-login { display: block; margin: 8px 0 0; }
}
@media (max-width: 575.98px) {
    .swh-logo img { height: 96px; }
    .swh-lang { margin-bottom: 4px; }
}

/* ---- Breadcrumb / page body -------------------------------------- */
.master-breadcrumb { background: var(--swh-tint); }
.swh-page-homepage #main-body { padding-top: 0; padding-bottom: 0; }

/* ---- Home: consultation band ------------------------------------- */
.swh-eyebrow {
    display: block;
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #D9EAFB;
}
.swh-cta {
    background: var(--swh-teal);
    color: #FFFFFF;
    padding: 56px 0;
}
.swh-cta .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.swh-cta-text { max-width: 640px; }
.swh-cta h2 {
    color: #FFFFFF;
    font-weight: 800;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    margin: 12px 0;
}
.swh-cta p { color: #EAF3FD; font-size: 17px; line-height: 1.55; margin: 0; }
.swh-btn-white {
    background: #FFFFFF;
    color: var(--swh-ink) !important;
    font-weight: 700;
    font-size: 16px;
    padding: 16px 24px;
    border-radius: 12px;
}
.swh-btn-white:hover { background: #EAF3FD; }

/* ---- Home: hero + WHMCS domain search ---------------------------- */
.swh-hero {
    background: var(--swh-blue);
    color: #FFFFFF;
    padding: 72px 0 8px;
    text-align: center;
}
.swh-hero h1 {
    color: #FFFFFF;
    font-weight: 800;
    font-size: clamp(36px, 6vw, 64px);
    line-height: 1.04;
    letter-spacing: -0.03em;
    max-width: 16ch;
    margin: 14px auto 18px;
}
.swh-hero p {
    color: #EAF3FD;
    font-size: 19px;
    line-height: 1.55;
    max-width: 58ch;
    margin: 0 auto;
}

/* WHMCS's domain search block (includes/domain-search.tpl) sits in the blue band
   as a white card */
.swh-page-homepage .home-domain-search {
    background: var(--swh-blue) !important;
    padding: 28px 0 72px;
}
.swh-page-homepage .home-domain-search > .container > .p-5 {
    background: #FFFFFF;
    border-radius: 16px;
    max-width: 860px;
    margin: 0 auto;
    padding: 32px !important;
}
.swh-page-homepage .home-domain-search h2 {
    color: var(--swh-ink);
    font-size: 22px;
    font-weight: 700;
}
.swh-page-homepage .home-domain-search .form-control {
    height: 54px;
    font-size: 17px;
}
.swh-page-homepage .home-domain-search .btn {
    font-weight: 700;
}
.swh-page-homepage .home-domain-search .input-group-wrapper .btn {
    height: 54px;
    padding-left: 22px;
    padding-right: 22px;
}
.swh-page-homepage .home-domain-search .btn-primary {
    background-color: var(--swh-green) !important;
    border-color: var(--swh-green) !important;
    color: var(--swh-ink) !important;
}
.swh-page-homepage .home-domain-search .btn-success {
    background-color: var(--swh-teal) !important;
    border-color: var(--swh-teal) !important;
    color: #FFFFFF !important;
}
.swh-page-homepage .home-domain-search .btn-link {
    color: var(--swh-blue);
    background: transparent !important;
    border-color: transparent !important;
}

/* ---- Footer ------------------------------------------------------- */
.footer {
    background: var(--swh-ink);
    color: #C9D2DA;
    border-top: 4px solid var(--swh-teal);
}
.footer .nav-link,
.footer a { color: #D3DAE0; }
.footer .nav-link:hover,
.footer a:hover { color: #FFFFFF; }
.footer .copyright { color: #A9B5C0; }
.footer .btn { color: #D3DAE0; border-color: #2E4A5A; }
