/* Halali — Hostzilla presentation over the ResellersCenter-ready WHMCS shell. */
:root {
    --hz-primary: var(--halali-green, #457bff);
    --hz-primary-dark: var(--halali-green-dark, #2e5fd2);
    --hz-primary-soft: var(--halali-green-soft, #eef3ff);
    --hz-secondary: var(--halali-gold, #5a28fa);
    --hz-ink: #1a1a1a;
    --hz-copy: #626262;
    --hz-pale: #f6f8fe;
    --hz-line: #e4e7ef;
    --hz-white: #fff;
    --hz-radius: 22px;
    --hz-shadow: 0 20px 60px rgba(34, 55, 96, .1);
    --halali-font: "Satoshi", "Plus Jakarta Sans", Arial, sans-serif;
}

body.halali-body {
    color: var(--hz-copy);
    font-family: var(--halali-font);
}

body.halali-body h1,
body.halali-body h2,
body.halali-body h3,
body.halali-body h4,
body.halali-body h5,
body.halali-body h6 {
    color: var(--hz-ink);
    font-family: var(--halali-font);
    letter-spacing: -.045em;
}

.halali-container {
    width: min(1208px, calc(100% - 48px));
}

/* Hostzilla header treatment while retaining the reseller-aware menu tree. */
.halali-offer-bar {
    min-height: 42px;
    background: #111;
}

.halali-offer-inner { min-height: 42px; }
.halali-status-dot { background: var(--hz-secondary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--hz-secondary) 24%, transparent); }
.halali-main-nav { border-bottom-color: var(--hz-line); }
.halali-nav-inner { min-height: 86px; }
.halali-brand img { width: auto; max-width: 220px; max-height: 58px; object-fit: contain; }
.halali-brand-mark { border-radius: 10px; background: linear-gradient(135deg, var(--hz-primary), var(--hz-secondary)); }
.halali-brand-name,
.halali-nav-link,
body.halali-body .halali-nav-link { color: var(--hz-ink); }
.halali-nav-link,
body.halali-body .halali-nav-link { font-size: 14px; font-weight: 700; }
.halali-nav-link:hover,
.halali-nav-link:focus,
.halali-nav-dropdown.is-open > .halali-nav-link { color: var(--hz-primary) !important; }
.halali-dropdown-panel,
.halali-mega-menu { overflow: hidden; border-color: var(--hz-line); border-radius: 15px; box-shadow: var(--hz-shadow); }
.halali-dropdown-panel-small a:hover,
.halali-nav-panel a:hover { background: var(--hz-primary-soft); color: var(--hz-primary) !important; }
.halali-nav-panel a i { color: var(--hz-primary); }
.halali-cart-link { border-color: var(--hz-line); border-radius: 50%; }
.halali-cart-link:hover { border-color: var(--hz-primary); color: var(--hz-primary) !important; }
.halali-cart-link span { background: var(--hz-secondary); color: #fff; }
.halali-button-dark { border-radius: 9px; background: var(--hz-primary); }
.halali-button-dark:hover,
.halali-button-dark:focus { background: var(--hz-primary-dark); }
.halali-nav-panel-wide { min-width: 318px; }

/* Shared Hostzilla page primitives. */
.hz-home { overflow: hidden; color: var(--hz-copy); }
.hz-section { padding: 92px 0; }
.hz-heading { max-width: 650px; }
.hz-heading-center { margin: 0 auto 46px; text-align: center; }
.hz-heading h2,
.hz-split-copy h2,
.hz-support-card h2 {
    margin: 0 0 17px;
    font-size: clamp(34px, 4.1vw, 52px);
    font-weight: 700;
    line-height: 1.08;
}
.hz-heading p,
.hz-split-copy > p,
.hz-support-card p { margin: 0; font-size: 17px; line-height: 1.72; }
.hz-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: var(--hz-primary);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.hz-kicker::before { width: 19px; height: 3px; border-radius: 3px; background: var(--hz-secondary); content: ""; }
.hz-kicker-light { color: #fff; }
.hz-kicker-light::before { background: rgba(255,255,255,.65); }
.hz-button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 14px 27px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
}
.hz-button i { transition: transform .2s ease; }
.hz-button:hover i { transform: translateX(4px); }
.hz-button-primary { background: var(--hz-primary); color: #fff !important; box-shadow: 0 12px 30px color-mix(in srgb, var(--hz-primary) 28%, transparent); }
.hz-button-primary:hover { background: var(--hz-primary-dark); color: #fff !important; }
.hz-button-light { background: #fff; color: var(--hz-ink) !important; }
.hz-button-light:hover { background: var(--hz-secondary); color: #fff !important; }
.hz-text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--hz-primary) !important; font-weight: 800; text-decoration: none !important; }

/* Homepage hero. */
.hz-hero { position: relative; padding: 64px 0 74px; background: #fff; }
.hz-hero::before {
    position: absolute;
    right: -150px;
    bottom: -160px;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--hz-primary) 7%, transparent);
    content: "";
}
.hz-hero-grid { position: relative; display: grid; min-height: 555px; grid-template-columns: minmax(0, 1fr) minmax(450px, .94fr); gap: 65px; align-items: center; }
.hz-hero-copy { position: relative; z-index: 2; max-width: 630px; }
.hz-sale-pill { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; border-radius: 50px; padding: 9px 15px; background: var(--hz-primary-soft); color: var(--hz-primary); font-size: 13px; font-weight: 800; }
.hz-sale-pill i { color: var(--hz-secondary); }
.hz-hero-copy h1 { margin: 0 0 22px; font-size: clamp(45px, 5.15vw, 70px); font-weight: 700; line-height: 1.01; }
.hz-hero-copy > p { max-width: 590px; margin: 0 0 25px; font-size: 17px; line-height: 1.7; }
.hz-check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 18px; margin: 0 0 30px; padding: 0; list-style: none; }
.hz-check-list li { display: flex; align-items: center; gap: 9px; color: var(--hz-ink); font-size: 14px; font-weight: 650; }
.hz-check-list i { display: grid; width: 21px; height: 21px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--hz-primary); color: #fff; font-size: 9px; }
.hz-hero-actions { display: flex; align-items: center; gap: 24px; }
.hz-price { display: flex; flex-direction: column; }
.hz-price small { font-size: 12px; }
.hz-price strong { color: var(--hz-ink); font-size: 29px; line-height: 1.15; }
.hz-price strong span { color: var(--hz-copy); font-size: 13px; font-weight: 600; }
.hz-hero-visual { position: relative; display: flex; align-items: center; justify-content: center; }
.hz-hero-visual::before { position: absolute; inset: 8% 3%; border-radius: 50%; background: linear-gradient(135deg, color-mix(in srgb, var(--hz-primary) 13%, transparent), color-mix(in srgb, var(--hz-secondary) 9%, transparent)); content: ""; filter: blur(10px); }
.hz-hero-visual > img { position: relative; z-index: 2; display: block; width: 100%; max-width: 590px; height: auto; aspect-ratio: auto; object-fit: contain; }
.hz-dots { position: absolute; top: 0; right: -15px; width: 104px; height: 100px; background: url("../images/hostzilla/dots.webp") center/contain no-repeat; }

/* Services and domain search. */
.hz-services { background: var(--hz-pale); }
.hz-services-shell { overflow: hidden; border: 1px solid var(--hz-line); border-radius: var(--hz-radius); padding: 20px; background: #fff; box-shadow: 0 16px 45px rgba(34,55,96,.05); }
.hz-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.hz-service-card { display: block; min-height: 295px; border-right: 1px solid var(--hz-line); padding: 32px 27px; color: var(--hz-copy) !important; text-decoration: none !important; }
.hz-service-card:last-child { border-right: 0; }
.hz-service-icon { display: grid; width: 54px; height: 54px; margin-bottom: 24px; place-items: center; border-radius: 14px; background: var(--hz-primary-soft); color: var(--hz-primary); font-size: 22px; transition: .2s ease; }
.hz-service-card h3 { margin: 0 0 12px; font-size: 21px; }
.hz-service-card p { min-height: 70px; margin: 0 0 18px; font-size: 14px; line-height: 1.65; }
.hz-service-card b { color: var(--hz-ink); font-size: 13px; }
.hz-service-card:hover .hz-service-icon { background: var(--hz-primary); color: #fff; transform: translateY(-4px); }
.hz-service-card:hover b { color: var(--hz-primary); }
.hz-domain-card { position: relative; display: grid; overflow: hidden; min-height: 230px; grid-template-columns: .8fr 1.2fr; gap: 42px; align-items: center; margin-top: 10px; border-radius: var(--hz-radius); padding: 46px 50px; background: var(--hz-primary); color: #fff; }
.hz-domain-bg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .42; object-fit: cover; mix-blend-mode: screen; }
.hz-domain-copy,
.hz-domain-form { position: relative; z-index: 2; }
.hz-domain-copy span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.78); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.hz-domain-copy h2 { margin: 0; color: #fff !important; font-size: clamp(28px, 3.5vw, 43px); line-height: 1.08; }
.hz-domain-form { display: flex; min-height: 70px; border-radius: 50px; padding: 7px; background: #fff; box-shadow: 0 12px 35px rgba(0,0,0,.12); }
.hz-domain-form input[type="text"] { min-width: 0; flex: 1; border: 0 !important; border-radius: 50px; padding: 0 22px; background: transparent; color: var(--hz-ink); font: inherit; outline: 0; box-shadow: none !important; }
.hz-domain-form button { flex: 0 0 auto; border: 0; border-radius: 50px; padding: 0 25px; background: var(--hz-secondary); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }

/* Split, feature, proof and FAQ sections. */
.hz-split-grid { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: 85px; align-items: center; }
.hz-split-media { display: flex; min-height: 480px; align-items: center; justify-content: center; border-radius: var(--hz-radius); background: var(--hz-primary-soft); }
.hz-split-media img { display: block; width: min(100%, 590px); height: auto; max-height: 520px; object-fit: contain; }
.hz-split-copy > p { margin-bottom: 27px; }
.hz-tick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 30px; }
.hz-tick-grid span { display: flex; align-items: center; gap: 9px; color: var(--hz-ink); font-size: 14px; font-weight: 700; }
.hz-tick-grid i { color: var(--hz-primary); }
.hz-feature-section { background: var(--hz-pale); }
.hz-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hz-feature-grid article { min-height: 265px; border: 1px solid var(--hz-line); border-radius: var(--hz-radius); padding: 31px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.hz-feature-grid article:hover { transform: translateY(-5px); box-shadow: var(--hz-shadow); }
.hz-feature-grid article > span { display: grid; width: 58px; height: 58px; margin-bottom: 26px; place-items: center; border-radius: 50%; background: var(--hz-primary); color: #fff; font-size: 21px; }
.hz-feature-grid article:nth-child(even) > span { background: var(--hz-secondary); }
.hz-feature-grid h3 { margin: 0 0 11px; font-size: 21px; }
.hz-feature-grid p { margin: 0; font-size: 14px; line-height: 1.7; }
.hz-security-section { background: #fff; }
.hz-split-reverse { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); }
.hz-security-list { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.hz-security-list li { display: flex; gap: 15px; align-items: flex-start; }
.hz-security-list li > i { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: var(--hz-primary-soft); color: var(--hz-primary); }
.hz-security-list span { display: flex; flex-direction: column; }
.hz-security-list strong { color: var(--hz-ink); }
.hz-security-list small { margin-top: 3px; font-size: 13px; line-height: 1.55; }
.hz-proof-section { background: var(--hz-pale); }
.hz-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hz-proof-grid article { display: flex; min-height: 250px; flex-direction: column; border: 1px solid var(--hz-line); border-radius: var(--hz-radius); padding: 30px; background: #fff; }
.hz-proof-grid article > i { margin-bottom: 21px; color: var(--hz-primary); font-size: 28px; }
.hz-proof-grid p { flex: 1; margin: 0 0 25px; color: var(--hz-ink); font-size: 16px; line-height: 1.7; }
.hz-proof-grid strong { color: var(--hz-ink); }
.hz-proof-grid small { margin-top: 2px; color: var(--hz-copy); }
.hz-support-section { padding: 80px 0; background: #fff; }
.hz-support-card { position: relative; display: flex; overflow: hidden; min-height: 300px; align-items: center; justify-content: space-between; gap: 50px; border-radius: var(--hz-radius); padding: 60px 70px; background: linear-gradient(120deg, var(--hz-primary), var(--hz-secondary)); color: rgba(255,255,255,.8); }
.hz-support-card::after { position: absolute; right: -80px; bottom: -130px; width: 350px; height: 350px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; content: ""; }
.hz-support-card > div { position: relative; z-index: 2; max-width: 720px; }
.hz-support-card h2 { color: #fff !important; }
.hz-support-card .hz-button { position: relative; z-index: 2; flex: 0 0 auto; }
.hz-faq-section { padding-top: 72px; }
.hz-faq-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 75px; align-items: start; }
.hz-faq-list { display: grid; gap: 13px; }
.hz-faq-list details { overflow: hidden; border: 1px solid var(--hz-line); border-radius: 16px; background: #fff; }
.hz-faq-list summary { position: relative; display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 25px; color: var(--hz-ink); font-weight: 750; cursor: pointer; list-style: none; }
.hz-faq-list summary::-webkit-details-marker { display: none; }
.hz-faq-list summary span { position: relative; width: 17px; height: 17px; flex: 0 0 auto; }
.hz-faq-list summary span::before,
.hz-faq-list summary span::after { position: absolute; top: 8px; left: 1px; width: 15px; height: 2px; background: var(--hz-primary); content: ""; }
.hz-faq-list summary span::after { transform: rotate(90deg); transition: transform .2s ease; }
.hz-faq-list details[open] summary span::after { transform: rotate(0); }
.hz-faq-list details[open] summary { color: var(--hz-primary); }
.hz-faq-list details p { margin: 0; padding: 0 25px 23px; font-size: 14px; line-height: 1.7; }

/* Product pages keep dynamic ResellersCenter plans but use Hostzilla visuals. */
.hv-page { overflow: hidden; color: var(--hz-copy); }
.hv-section { padding: 90px 0; }
.hv-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--hz-primary); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.hv-kicker::before { width: 19px; height: 3px; border-radius: 3px; background: var(--hz-secondary); content: ""; }
.hv-service-hero { padding: 70px 0 84px; background: linear-gradient(180deg, #fff, var(--hz-pale)); }
.hv-service-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .88fr); gap: 70px; align-items: center; }
.hv-service-copy h1 { margin: 0 0 19px; font-size: clamp(42px, 5.3vw, 68px); line-height: 1.03; }
.hv-service-copy > p { margin: 0 0 25px; font-size: 17px; line-height: 1.7; }
.hv-hero-checks { display: grid; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
.hv-hero-checks li { display: flex; align-items: center; gap: 10px; color: var(--hz-ink); font-weight: 650; }
.hv-hero-checks i { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--hz-primary); color: #fff; font-size: 9px; }
.hv-service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; }
.hv-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 50px; padding: 13px 25px; font-weight: 750; text-decoration: none !important; }
.hv-button-primary { background: var(--hz-primary); color: #fff !important; }
.hv-button-primary:hover { background: var(--hz-primary-dark); }
.hv-button-link { color: var(--hz-ink) !important; }
.hv-button-dark { background: var(--hz-ink); color: #fff !important; }
.hv-button-light { background: #fff; color: var(--hz-ink) !important; }
.hv-button-outline-light { border-color: rgba(255,255,255,.55); color: #fff !important; }
.hv-service-visual { position: relative; display: flex; min-height: 485px; align-items: center; justify-content: center; border-radius: var(--hz-radius); background: var(--hz-primary-soft); }
.hv-service-main-image { position: relative; z-index: 2; width: min(100%, 540px); height: auto; max-height: 500px; object-fit: contain; }
.hv-visual-orbit { position: absolute; border: 1px solid color-mix(in srgb, var(--hz-primary) 22%, transparent); border-radius: 50%; }
.hv-visual-orbit-one { width: 320px; height: 320px; }
.hv-visual-orbit-two { width: 405px; height: 405px; }
.hv-plans-section { padding: 90px 0; background: #fff; }
.hv-section-heading { max-width: 720px; margin-bottom: 40px; }
.hv-section-heading-centered { margin-right: auto; margin-left: auto; text-align: center; }
.hv-section-heading h2 { margin: 0 0 15px; font-size: clamp(34px,4vw,50px); line-height: 1.1; }
.hv-section-heading p { margin: 0; font-size: 16px; line-height: 1.7; }
.hv-plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hv-plan-card { position: relative; display: flex; min-height: 490px; flex-direction: column; border: 1px solid var(--hz-line); border-radius: var(--hz-radius); padding: 32px; background: #fff; }
.hv-plan-card:hover { border-color: var(--hz-primary); box-shadow: var(--hz-shadow); }
.hv-plan-card-featured { border: 2px solid var(--hz-primary); }
.hv-plan-badge { position: absolute; top: -13px; left: 28px; border-radius: 50px; padding: 6px 13px; background: var(--hz-secondary); color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.hv-plan-card h3 { margin: 8px 0 11px; font-size: 24px; }
.hv-plan-description { min-height: 55px; margin: 0 0 20px; font-size: 14px; }
.hv-plan-price { margin-bottom: 22px; color: var(--hz-ink); font-size: 38px; font-weight: 800; }
.hv-plan-price small,
.hv-plan-price span { color: var(--hz-copy); font-size: 13px; font-weight: 500; }
.hv-plan-features { display: grid; flex: 1; gap: 11px; margin: 0 0 25px; padding: 0; list-style: none; }
.hv-plan-features li { display: flex; gap: 9px; font-size: 14px; }
.hv-plan-features i { margin-top: 5px; color: var(--hz-primary); }
.hv-empty-offer { display: flex; align-items: center; gap: 28px; border: 1px solid var(--hz-line); border-radius: var(--hz-radius); padding: 28px; }
.hv-empty-offer img { width: 130px; height: 110px; object-fit: contain; }
.hv-empty-offer > div { flex: 1; }
.hv-feature-section { background: var(--hz-pale); }
.hv-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hv-feature-grid article { min-height: 245px; border: 1px solid var(--hz-line); border-radius: var(--hz-radius); padding: 27px; background: #fff; }
.hv-feature-grid article img { display: block; width: 42px; height: 42px; margin-bottom: 22px; object-fit: contain; }
.hv-feature-grid article h3 { margin: 0 0 10px; font-size: 19px; }
.hv-feature-grid article p { margin: 0; font-size: 13px; line-height: 1.7; }
.hv-story-section { background: #fff; }
.hv-story-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 78px; align-items: center; }
.hv-story-media { position: relative; display: flex; min-height: 470px; align-items: center; justify-content: center; border-radius: var(--hz-radius); background: var(--hz-primary-soft); }
.hv-story-media > img { width: min(100%, 560px); max-height: 500px; object-fit: contain; }
.hv-story-chip { position: absolute; right: 25px; bottom: 25px; border-radius: 50px; padding: 12px 17px; background: #fff; color: var(--hz-ink); font-weight: 750; box-shadow: var(--hz-shadow); }
.hv-story-chip i { color: var(--hz-primary); }
.hv-story-copy h2 { margin: 0 0 18px; font-size: clamp(34px,4vw,50px); }
.hv-story-copy > p { margin: 0 0 25px; font-size: 16px; line-height: 1.7; }
.hv-story-points { display: grid; gap: 15px; margin-bottom: 27px; }
.hv-story-points > div { display: flex; gap: 12px; }
.hv-story-points img { width: 34px; height: 34px; object-fit: contain; }
.hv-story-points span { display: flex; flex-direction: column; }
.hv-story-points strong { color: var(--hz-ink); }
.hv-story-points small { margin-top: 2px; }
.hv-support-section { padding: 78px 0; background: linear-gradient(120deg, var(--hz-primary), var(--hz-secondary)); color: rgba(255,255,255,.82); }
.hv-support-grid { display: grid; grid-template-columns: 1fr 390px; gap: 70px; align-items: center; }
.hv-support-copy .hv-kicker { color: #fff; }
.hv-support-copy h2 { margin: 0 0 16px; color: #fff !important; font-size: clamp(35px,4.2vw,52px); }
.hv-support-copy p { margin: 0 0 25px; font-size: 16px; line-height: 1.7; }
.hv-support-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hv-support-grid > img { width: 100%; max-height: 330px; object-fit: contain; }
.hv-faq-section { background: #fff; }
.hv-faq-list { display: grid; max-width: 900px; gap: 12px; margin: 0 auto; }
.hv-faq-list details { border: 1px solid var(--hz-line); border-radius: 16px; background: #fff; }
.hv-faq-list summary { padding: 22px 25px; color: var(--hz-ink); font-weight: 750; cursor: pointer; }
.hv-faq-list details p { margin: 0; padding: 0 25px 22px; font-size: 14px; line-height: 1.7; }

/* Hostzilla full-width footer. */
.halali-footer { position: relative; width: 100%; border-top: 1px solid var(--hz-line); padding: 0; background: #fff; color: var(--hz-copy); }
.halali-footer .halali-container { width: min(1208px, calc(100% - 48px)); }
.halali-footer-grid { grid-template-columns: 1.35fr repeat(4, 1fr); gap: 42px; padding: 76px 0 55px; }
.halali-footer-brand { margin-bottom: 22px; }
.halali-footer-about { max-width: 280px; }
.halali-footer-about > p { font-size: 14px; line-height: 1.7; }
.halali-footer-column h3 { margin: 3px 0 22px; color: var(--hz-ink) !important; font-size: 15px; letter-spacing: -.01em; }
.halali-footer-column ul { gap: 11px; }
.halali-footer-column a { color: var(--hz-copy) !important; font-size: 13px; }
.halali-footer-column a:hover { color: var(--hz-primary) !important; }
.halali-footer-contact-item i { background: var(--hz-primary-soft); color: var(--hz-primary); }
.halali-footer-contact-item strong { color: var(--hz-ink); }
.halali-footer-bottom { border-top-color: var(--hz-line); padding: 24px 0 30px; }
.halali-footer-socials a { border-color: var(--hz-line); color: var(--hz-ink) !important; }
.halali-footer-socials a:hover { border-color: var(--hz-primary); background: var(--hz-primary); color: #fff !important; }
.hz-payment-marks { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.hz-payment-marks img { width: 38px; height: 25px; border: 1px solid var(--hz-line); border-radius: 5px; padding: 3px; background: #fff; object-fit: contain; }
.halali-scroll-top { background: var(--hz-primary); }

/* WHMCS and std_cart retain the compatibility layer but inherit Hostzilla colour/radius. */
body.halali-body .btn-primary,
body.halali-body .btn-success { border-color: var(--hz-primary) !important; background: var(--hz-primary) !important; }
body.halali-body .btn-primary:hover,
body.halali-body .btn-success:hover { border-color: var(--hz-primary-dark) !important; background: var(--hz-primary-dark) !important; }
body.halali-body .card,
body.halali-body .panel,
body.halali-body #order-standard_cart .domain-selection-options .option { border-radius: 16px; }

@media (max-width: 1100px) {
    .hz-hero-grid { grid-template-columns: minmax(0,1fr) minmax(380px,.82fr); gap: 36px; }
    .hz-hero-copy h1 { font-size: 54px; }
    .hz-service-card { padding: 27px 20px; }
    .hz-domain-card { padding: 40px 34px; }
    .hz-split-grid { gap: 50px; }
    .halali-footer-grid { grid-template-columns: 1.25fr repeat(2,1fr); }
    .halali-footer-about { max-width: none; }
    .hv-feature-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 991px) {
    .halali-container { width: min(760px, calc(100% - 36px)); }
    .halali-navigation { background: #fff; }
    .hz-section { padding: 74px 0; }
    .hz-hero { padding-top: 45px; }
    .hz-hero-grid,
    .hz-split-grid,
    .hz-split-reverse,
    .hz-faq-grid,
    .hv-service-hero-grid,
    .hv-story-grid,
    .hv-support-grid { grid-template-columns: 1fr; }
    .hz-hero-copy { max-width: 700px; }
    .hz-hero-visual { max-width: 620px; margin: 0 auto; }
    .hz-service-grid { grid-template-columns: 1fr 1fr; }
    .hz-service-card:nth-child(2) { border-right: 0; }
    .hz-service-card:nth-child(-n+2) { border-bottom: 1px solid var(--hz-line); }
    .hz-domain-card { grid-template-columns: 1fr; gap: 25px; }
    .hz-feature-grid,
    .hz-proof-grid { grid-template-columns: 1fr 1fr; }
    .hz-proof-grid article:last-child { grid-column: 1 / -1; }
    .hz-split-media { min-height: 410px; }
    .hz-support-card { padding: 50px 45px; }
    .hv-service-visual,
    .hv-story-media { min-height: 410px; }
    .hv-plan-grid { grid-template-columns: repeat(2,1fr); }
    .halali-footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 650px) {
    .halali-container,
    .halali-footer .halali-container { width: calc(100% - 28px); }
    .hz-section { padding: 58px 0; }
    .hz-heading h2,
    .hz-split-copy h2,
    .hz-support-card h2 { font-size: 34px; }
    .hz-hero-grid { min-height: 0; }
    .hz-hero-copy h1 { font-size: 43px; }
    .hz-check-list,
    .hz-tick-grid { grid-template-columns: 1fr; }
    .hz-hero-actions { align-items: flex-start; flex-direction: column; }
    .hz-hero-visual > img { width: min(100%, 480px); }
    .hz-services-shell { padding: 10px; }
    .hz-service-grid,
    .hz-feature-grid,
    .hz-proof-grid,
    .hv-plan-grid,
    .hv-feature-grid { grid-template-columns: 1fr; }
    .hz-service-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--hz-line); }
    .hz-service-card:nth-child(3) { border-bottom: 1px solid var(--hz-line); }
    .hz-service-card:last-child { border-bottom: 0; }
    .hz-service-card p { min-height: 0; }
    .hz-domain-card { padding: 34px 20px; }
    .hz-domain-form { min-height: 60px; }
    .hz-domain-form input[type="text"] { padding: 0 15px; }
    .hz-domain-form button { padding: 0 17px; }
    .hz-split-media { min-height: 320px; }
    .hz-proof-grid article:last-child { grid-column: auto; }
    .hz-support-card { min-height: 0; align-items: flex-start; flex-direction: column; padding: 39px 27px; }
    .hz-faq-grid { gap: 35px; }
    .hv-service-copy h1 { font-size: 41px; }
    .hv-service-visual,
    .hv-story-media { min-height: 325px; }
    .hv-empty-offer { align-items: flex-start; flex-direction: column; }
    .halali-footer-grid { grid-template-columns: 1fr; padding-top: 55px; }
    .halali-footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .hz-service-card,
    .hz-feature-grid article,
    .hz-button i { transition: none; }
}
