/* ==========================================================================
   HEALTHIZO • HOMEOPATHY01
   Modern, self-contained frontend theme
   ========================================================================== */

:root {
    --hz-primary: #2f8f6b;
    --hz-primary-dark: #216b50;
    --hz-primary-light: #eaf7f1;
    --hz-accent: #d5a64a;
    --hz-ink: #17372d;
    --hz-text: #53665f;
    --hz-muted: #7d8d87;
    --hz-white: #fff;
    --hz-soft: #f5faf7;
    --hz-border: #e3eee9;
    --hz-shadow: 0 18px 50px rgba(31, 79, 62, .10);
    --hz-radius: 22px;
    --hz-container: 1180px;
}

*,
*::before,
*::after { box-sizing: border-box; }

body.hz-site {
    margin: 0;
    color: var(--hz-text);
    background: #fff;
    font-family: "Poppins", "Inter", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}

body.hz-site img { max-width: 100%; height: auto; }
body.hz-site a { color: inherit; text-decoration: none; transition: .25s ease; }
body.hz-site button,
body.hz-site input,
body.hz-site textarea,
body.hz-site select { font: inherit; }
body.hz-site h1,
body.hz-site h2,
body.hz-site h3,
body.hz-site h4 { color: var(--hz-ink); line-height: 1.2; margin: 0 0 16px; font-weight: 700; }
body.hz-site p { margin: 0 0 18px; }
body.hz-site ul { margin: 0; padding: 0; list-style: none; }

.hz-container {
    width: min(var(--hz-container), calc(100% - 40px));
    margin-inline: auto;
}

.hz-main { min-height: 50vh; overflow: hidden; }
.hz-section { padding: 100px 0; }
.hz-soft { background: var(--hz-soft); }
.hz-heading { max-width: 760px; margin-bottom: 46px; }
.hz-heading-center { margin-inline: auto; text-align: center; }
.hz-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 35px; max-width: none; }
.hz-heading h2,
.hz-copy h2 { font-size: clamp(32px, 4vw, 48px); letter-spacing: -.025em; }
.hz-heading p { max-width: 680px; color: var(--hz-muted); }
.hz-heading-center p { margin-inline: auto; }
.hz-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: var(--hz-primary);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.hz-kicker::before {
    content: "";
    width: 26px;
    height: 2px;
    background: var(--hz-accent);
    border-radius: 20px;
}

/* Header */
.hz-header { position: relative; z-index: 100; background: #fff; }
.hz-topbar { background: var(--hz-ink); color: rgba(255,255,255,.84); font-size: 12px; }
.hz-topbar-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hz-topbar-left { display: flex; gap: 24px; }
.hz-topbar a { color: inherit; }
.hz-topbar a:hover { color: #fff; }
.hz-topbar i { color: var(--hz-accent); margin-right: 6px; }
.hz-topbar-message { opacity: .8; }

.hz-nav-shell {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--hz-border);
}
.hz-nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.hz-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 210px; }
.hz-brand img { max-height: 54px; width: auto; }
.hz-brand-mark,
.hz-footer-mark {
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    border-radius: 50%;
    background: var(--hz-primary-light);
    color: var(--hz-primary);
    font-size: 20px;
}
.hz-brand-text { display: flex; flex-direction: column; }
.hz-brand-text strong { color: var(--hz-ink); font-size: 17px; line-height: 1.2; }
.hz-brand-text small { color: var(--hz-primary); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hz-nav { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.hz-nav > a { position: relative; padding: 12px 14px; color: #40544d; font-size: 13px; font-weight: 600; }
.hz-nav > a:not(.hz-nav-btn)::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 5px;
    height: 2px;
    background: var(--hz-primary);
    transform: scaleX(0);
    transform-origin: center;
    transition: .25s ease;
}
.hz-nav > a:hover,
.hz-nav > a.is-active { color: var(--hz-primary); }
.hz-nav > a:hover::after,
.hz-nav > a.is-active::after { transform: scaleX(1); }
.hz-nav .hz-nav-btn { padding: 12px 20px; margin-left: 8px; border-radius: 30px; background: var(--hz-primary); color: #fff; box-shadow: 0 9px 22px rgba(47,143,107,.22); }
.hz-nav .hz-nav-btn:hover { background: var(--hz-primary-dark); color: #fff; transform: translateY(-1px); }
.hz-menu-toggle { display: none; border: 0; background: transparent; padding: 8px; cursor: pointer; }
.hz-menu-toggle span { display: block; width: 25px; height: 2px; background: var(--hz-ink); margin: 5px; transition: .25s; }

/* Buttons */
.hz-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 28px; }
.hz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 23px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.hz-btn-primary { background: var(--hz-primary); color: #fff !important; box-shadow: 0 12px 28px rgba(47,143,107,.20); }
.hz-btn-primary:hover { background: var(--hz-primary-dark); color: #fff !important; transform: translateY(-2px); }
.hz-btn-outline { border-color: var(--hz-border); background: #fff; color: var(--hz-ink) !important; }
.hz-btn-outline:hover { border-color: var(--hz-primary); color: var(--hz-primary) !important; }
.hz-btn-light { background: #fff; color: var(--hz-primary) !important; }
.hz-btn-light:hover { transform: translateY(-2px); }

/* Hero */
.hz-hero {
    position: relative;
    padding: 76px 0 95px;
    background:
        radial-gradient(circle at 82% 25%, rgba(214,234,224,.95) 0, rgba(214,234,224,0) 31%),
        linear-gradient(135deg, #f8fcfa 0%, #eef8f3 100%);
}
.hz-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 42px;
    background: #fff;
    clip-path: ellipse(55% 100% at 50% 100%);
}
.hz-hero-grid { min-height: 560px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 45px; }
.hz-hero-copy { position: relative; z-index: 2; max-width: 650px; }
.hz-hero-copy h1 { font-size: clamp(42px, 5.5vw, 72px); letter-spacing: -.045em; margin-bottom: 23px; }
.hz-hero-copy h1 em { display: block; color: var(--hz-primary); font-style: normal; }
.hz-hero-copy > p { max-width: 600px; font-size: 17px; color: #63766f; }
.hz-hero-assurance { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 23px; color: #62766e; font-size: 12px; font-weight: 600; }
.hz-hero-assurance i { color: var(--hz-primary); margin-right: 5px; }
.hz-hero-visual { position: relative; min-height: 540px; display: grid; place-items: center; }
.hz-hero-blob {
    position: absolute;
    width: min(470px, 90%);
    aspect-ratio: 1;
    border-radius: 46% 54% 58% 42%;
    background: #dcefe6;
    transform: rotate(-9deg);
}
.hz-hero-image { position: relative; z-index: 2; width: min(500px, 100%); height: 500px; display: grid; place-items: center; overflow: hidden; }
.hz-hero-image img { width: 100%; height: 100%; object-fit: contain; }
.hz-hero-leaf { position: absolute; z-index: 3; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #fff; color: var(--hz-primary); box-shadow: var(--hz-shadow); font-size: 20px; }
.hz-hero-leaf-one { top: 13%; left: 4%; transform: rotate(-18deg); }
.hz-hero-leaf-two { right: 2%; bottom: 18%; transform: rotate(24deg); color: var(--hz-accent); }
.hz-hero-card { position: absolute; z-index: 4; right: 0; bottom: 9%; display: flex; align-items: center; gap: 12px; max-width: 260px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.8); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: var(--hz-shadow); }
.hz-mini-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; background: var(--hz-primary-light); color: var(--hz-primary); }
.hz-hero-card strong,
.hz-hero-card small { display: block; }
.hz-hero-card strong { color: var(--hz-ink); font-size: 12px; }
.hz-hero-card small { color: var(--hz-muted); font-size: 10px; }

/* Trust */
.hz-trust { position: relative; z-index: 5; margin-top: -1px; padding: 18px 0; background: #fff; }
.hz-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--hz-border); border-radius: 18px; box-shadow: 0 12px 38px rgba(31,79,62,.06); overflow: hidden; background: #fff; }
.hz-trust-item { display: flex; align-items: center; gap: 13px; min-height: 98px; padding: 18px 22px; border-right: 1px solid var(--hz-border); }
.hz-trust-item:last-child { border-right: 0; }
.hz-round-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; background: var(--hz-primary-light); color: var(--hz-primary); }
.hz-trust-item strong,
.hz-trust-item small { display: block; }
.hz-trust-item strong { color: var(--hz-ink); font-size: 20px; }
.hz-trust-item small { color: var(--hz-muted); font-size: 10px; }

/* Services */
.hz-service-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.hz-service-card,
.hz-why-card,
.hz-review-card { position: relative; padding: 28px; border: 1px solid var(--hz-border); border-radius: var(--hz-radius); background: #fff; transition: .3s ease; }
.hz-service-card:hover,
.hz-why-card:hover,
.hz-review-card:hover { transform: translateY(-7px); border-color: rgba(47,143,107,.25); box-shadow: var(--hz-shadow); }
.hz-service-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px; border-radius: 16px; background: var(--hz-primary-light); color: var(--hz-primary); font-size: 19px; }
.hz-service-card h3,
.hz-why-card h3 { font-size: 17px; }
.hz-service-card p,
.hz-why-card p { color: var(--hz-muted); font-size: 12px; line-height: 1.8; min-height: 66px; }
.hz-service-card a,
.hz-doctor-info a,
.hz-text-link { color: var(--hz-primary); font-size: 12px; font-weight: 700; }
.hz-service-card a i,
.hz-doctor-info a i,
.hz-text-link i { margin-left: 5px; transition: .2s; }
.hz-service-card a:hover i,
.hz-doctor-info a:hover i,
.hz-text-link:hover i { transform: translateX(4px); }

/* About */
.hz-about-band { background: #f6faf8; }
.hz-two { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.hz-about-visual { position: relative; min-height: 490px; }
.hz-about-image { width: 86%; height: 450px; overflow: hidden; border-radius: 30px; background: #e4f2eb; box-shadow: var(--hz-shadow); }
.hz-about-image img { width: 100%; height: 100%; object-fit: cover; }
.hz-about-badge { position: absolute; right: 0; bottom: 12px; display: grid; grid-template-columns: 48px 1fr; column-gap: 10px; align-items: center; max-width: 270px; padding: 15px; border-radius: 17px; background: #fff; box-shadow: var(--hz-shadow); }
.hz-about-badge i { grid-row: span 2; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--hz-primary-light); color: var(--hz-primary); }
.hz-about-badge strong { color: var(--hz-ink); font-size: 12px; }
.hz-about-badge span { color: var(--hz-muted); font-size: 9px; line-height: 1.4; }
.hz-points { display: grid; gap: 12px; margin: 24px 0 28px; }
.hz-points span { color: #52655e; font-size: 12px; font-weight: 600; }
.hz-points i { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 8px; border-radius: 50%; background: var(--hz-primary-light); color: var(--hz-primary); font-size: 10px; }

/* Why */
.hz-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hz-why-card { overflow: hidden; }
.hz-number { position: absolute; top: 15px; right: 22px; color: #edf4f0; font-size: 52px; line-height: 1; font-weight: 800; }
.hz-why-card .hz-service-icon { position: relative; }

/* Doctors */
.hz-doctor-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hz-doctor-card { overflow: hidden; border: 1px solid var(--hz-border); border-radius: 24px; background: #fff; transition: .3s ease; }
.hz-doctor-card:hover { transform: translateY(-6px); box-shadow: var(--hz-shadow); }
.hz-doctor-photo { height: 300px; overflow: hidden; background: var(--hz-primary-light); }
.hz-doctor-photo img { width: 100%; height: 100%; object-fit: cover; transition: .4s; }
.hz-doctor-card:hover .hz-doctor-photo img { transform: scale(1.03); }
.hz-doctor-info { padding: 24px; }
.hz-doctor-info > span { color: var(--hz-primary); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.hz-doctor-info h3 { margin-top: 7px; font-size: 20px; }
.hz-doctor-info p { color: var(--hz-muted); font-size: 12px; min-height: 25px; }
.hz-doctor-info a { display: inline-block; margin-top: 5px; }

/* Reviews */
.hz-testimonial-band { background: #eef8f3; }
.hz-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hz-review-card { border: 0; }
.hz-stars { margin-bottom: 14px; color: var(--hz-accent); letter-spacing: 3px; font-size: 13px; }
.hz-review-card p { color: #52665e; font-size: 13px; }
.hz-review-card strong { color: var(--hz-ink); font-size: 12px; }

/* CTA */
.hz-cta { margin: 0; padding: 70px 0; background: var(--hz-primary); color: rgba(255,255,255,.85); }
.hz-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hz-cta .hz-kicker { color: #d8eee3; }
.hz-cta h2 { max-width: 720px; color: #fff; font-size: clamp(30px, 4vw, 46px); }
.hz-cta p { max-width: 650px; margin-bottom: 0; }
.hz-cta .hz-btn { flex: 0 0 auto; }

/* Inner page hero */
.hz-page-head {
    position: relative;
    padding: 78px 0;
    background:
        radial-gradient(circle at 85% 15%, rgba(214,234,224,.9), transparent 30%),
        #f1f9f5;
    border-bottom: 1px solid var(--hz-border);
}
.hz-page-head h1 { max-width: 800px; font-size: clamp(36px, 5vw, 58px); letter-spacing: -.035em; }
.hz-page-head p { max-width: 680px; color: var(--hz-muted); }
.hz-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; color: var(--hz-muted); font-size: 11px; }
.hz-breadcrumb a { color: var(--hz-primary); }

/* Inner content/cards */
.hz-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.hz-card { padding: 28px; border: 1px solid var(--hz-border); border-radius: 22px; background: #fff; box-shadow: 0 5px 22px rgba(31,79,62,.04); }
.hz-card-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 14px; background: var(--hz-primary-light); color: var(--hz-primary); }
.hz-pagination { margin-top: 38px; }
.hz-pagination .pagination { justify-content: center; gap: 5px; }
.hz-pagination .page-link { border: 1px solid var(--hz-border); color: var(--hz-ink); border-radius: 9px !important; }
.hz-pagination .page-item.active .page-link { background: var(--hz-primary); border-color: var(--hz-primary); }

/* Doctor detail */
.hz-profile { display: grid; grid-template-columns: 380px 1fr; gap: 55px; align-items: start; }
.hz-profile-photo { overflow: hidden; border-radius: 26px; background: var(--hz-primary-light); }
.hz-profile-photo img { display: block; width: 100%; min-height: 390px; object-fit: cover; }
.hz-profile-content h2 { font-size: 38px; }
.hz-info-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 28px 0; }
.hz-info-list > div { padding: 16px; border: 1px solid var(--hz-border); border-radius: 14px; background: var(--hz-soft); }
.hz-info-list strong,
.hz-info-list span { display: block; }
.hz-info-list strong { color: var(--hz-ink); font-size: 11px; }
.hz-info-list span { color: var(--hz-muted); font-size: 12px; }

/* Appointment/forms — keeps existing Healthizo fields functional */
.hz-booking { max-width: 920px; margin: auto; padding: 38px; border: 1px solid var(--hz-border); border-radius: 28px; background: #fff; box-shadow: var(--hz-shadow); }
.hz-booking .form-control,
.hz-booking .form-select,
.hz-booking select,
.hz-booking input,
.hz-booking textarea {
    min-height: 46px;
    border: 1px solid #dce9e4;
    border-radius: 10px;
    box-shadow: none;
}
.hz-booking .form-control:focus,
.hz-booking .form-select:focus,
.hz-booking select:focus,
.hz-booking input:focus,
.hz-booking textarea:focus {
    border-color: var(--hz-primary);
    box-shadow: 0 0 0 3px rgba(47,143,107,.09);
}
.hz-booking label { color: var(--hz-ink); font-size: 12px; font-weight: 600; }

/* Contact */
.hz-contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; }
.hz-contact-info,
.hz-contact-form { padding: 32px; border: 1px solid var(--hz-border); border-radius: 24px; background: #fff; box-shadow: 0 8px 30px rgba(31,79,62,.05); }
.hz-contact-item { display: flex; gap: 13px; padding: 15px 0; border-bottom: 1px solid var(--hz-border); }
.hz-contact-item:last-child { border-bottom: 0; }
.hz-contact-item > i { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; background: var(--hz-primary-light); color: var(--hz-primary); }
.hz-contact-item strong,
.hz-contact-item a { display: block; }
.hz-contact-item strong { color: var(--hz-ink); font-size: 11px; }
.hz-contact-item a { color: var(--hz-muted); font-size: 12px; }

/* Empty */
.hz-empty { grid-column: 1 / -1; padding: 30px; border: 1px dashed #cfe1d9; border-radius: 18px; background: var(--hz-soft); text-align: center; color: var(--hz-muted); }

/* Footer */
.hz-footer { background: #122e25; color: rgba(255,255,255,.68); }
.hz-footer-main { padding: 65px 0 45px; }
.hz-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 45px; }
.hz-footer-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; font-size: 18px; font-weight: 700; margin-bottom: 18px; }
.hz-footer-mark { width: 40px; height: 40px; flex-basis: 40px; background: rgba(255,255,255,.09); color: #bfe7d4; }
.hz-footer-about p { max-width: 330px; font-size: 12px; }
.hz-footer-contact { color: #fff !important; font-size: 12px; font-weight: 600; }
.hz-footer h4 { color: #fff; font-size: 13px; margin-bottom: 19px; }
.hz-footer-links a { display: block; margin: 8px 0; color: rgba(255,255,255,.68); font-size: 12px; }
.hz-footer-links a:hover { color: #fff; transform: translateX(3px); }
.hz-footer-contact-column p { display: flex; gap: 9px; font-size: 12px; }
.hz-footer-contact-column i { width: 16px; color: #a7d9c3; margin-top: 4px; }
.hz-footer-contact-column a:hover { color: #fff; }
.hz-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.hz-footer-bottom-inner { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 10px; }
.hz-footer-bottom-inner div { display: flex; gap: 18px; }
.hz-footer-bottom-inner a:hover { color: #fff; }

/* Compatibility with existing Healthizo frontend classes */
.hz-site .container { max-width: var(--hz-container); }
.hz-site .btn-primary { background: var(--hz-primary); border-color: var(--hz-primary); }
.hz-site .btn-primary:hover { background: var(--hz-primary-dark); border-color: var(--hz-primary-dark); }
.hz-site .alert,
.hz-site .card,
.hz-site .modal-content { border-radius: 16px; }
.hz-site .invalid-feedback { font-size: 11px; }

/* Existing Healthizo appointment markup */
.hz-booking .appointment-form__input-block { margin-bottom: 20px; }
.hz-booking .appointment-form__input-block label { display:block; margin-bottom:8px; }
.hz-booking .appointment-form__input-block .required { color:#d34b4b; margin-left:3px; }
.hz-booking .appointment-form .form-check-input { accent-color: var(--hz-primary); }
.hz-booking .appointment-form .form-control,
.hz-booking .appointment-form select,
.hz-booking .appointment-form textarea,
.hz-booking .appointment-form input[type="text"],
.hz-booking .appointment-form input[type="email"],
.hz-booking .appointment-form input[type="password"],
.hz-booking .appointment-form input[type="tel"],
.hz-booking .appointment-form input[type="date"] {
    width:100%; min-height:48px; padding:11px 14px; border:1px solid #dce9e4;
    border-radius:12px; background:#fff; color:var(--hz-ink); outline:0;
}
.hz-booking .appointment-form textarea { min-height:120px; resize:vertical; }
.hz-booking .appointment-form .form-control:focus,
.hz-booking .appointment-form select:focus,
.hz-booking .appointment-form textarea:focus {
    border-color:var(--hz-primary);
    box-shadow:0 0 0 4px rgba(47,143,107,.08);
}
.hz-booking .appointment-form .btn,
.hz-booking .appointment-form button[type="submit"] {
    border:0; border-radius:999px; min-height:48px; padding:11px 25px;
    background:var(--hz-primary); color:#fff; font-weight:700;
}
.hz-booking .appointment-form .btn:hover,
.hz-booking .appointment-form button[type="submit"]:hover { background:var(--hz-primary-dark); }

/* Legacy inner-page markup used by existing Healthizo controllers */
.hz-site .hz-doctor { overflow:hidden; border:1px solid var(--hz-border); border-radius:24px; background:#fff; box-shadow:0 5px 22px rgba(31,79,62,.04); transition:.3s ease; }
.hz-site .hz-doctor:hover { transform:translateY(-5px); box-shadow:var(--hz-shadow); }
.hz-site .hz-doctor > img { display:block; width:100%; height:300px; object-fit:cover; background:var(--hz-primary-light); }
.hz-site .hz-doctor > div { padding:23px; }
.hz-site .hz-doctor h3 { margin-top:6px; font-size:20px; }
.hz-site .hz-doctor > div > span { color:var(--hz-primary); font-size:10px; font-weight:700; text-transform:uppercase; }
.hz-site .hz-doctor > div > p { color:var(--hz-muted); font-size:12px; }
.hz-site .hz-service-grid .hz-card { height:100%; }
.hz-site .hz-profile .hz-info-list a { color:var(--hz-primary); }

/* Generic content blocks from legacy inner pages */
.hz-site .hz-content-card,
.hz-site .hz-hours-card,
.hz-site .hz-policy-content {
    border:1px solid var(--hz-border); border-radius:22px; padding:30px; background:#fff;
    box-shadow:0 6px 26px rgba(31,79,62,.05);
}
.hz-site .hz-table-wrap { overflow-x:auto; border:1px solid var(--hz-border); border-radius:18px; }
.hz-site table { width:100%; margin:0; border-collapse:collapse; background:#fff; }
.hz-site table th { color:var(--hz-ink); background:var(--hz-soft); font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.hz-site table th, .hz-site table td { padding:14px 16px; border-bottom:1px solid var(--hz-border); }

/* Inner page components */
.hz-schedule { display:grid; gap:10px; max-width:900px; margin:auto; }
.hz-schedule > div { display:flex; justify-content:space-between; gap:20px; padding:18px 22px; border:1px solid var(--hz-border); border-radius:15px; background:#fff; }
.hz-schedule strong { color:var(--hz-ink); font-size:12px; }
.hz-schedule span { color:var(--hz-muted); font-size:12px; }
.hz-review { padding:30px; border:1px solid var(--hz-border); border-radius:22px; background:#fff; box-shadow:0 5px 22px rgba(31,79,62,.04); }
.hz-review p { color:var(--hz-text); font-size:13px; }
.hz-legal { max-width:950px; margin:auto; padding:38px; border:1px solid var(--hz-border); border-radius:24px; background:#fff; box-shadow:0 7px 30px rgba(31,79,62,.05); white-space:normal; }
.hz-site .hero-section { background:linear-gradient(135deg,#f1f9f5,#fff) !important; border-radius:0 !important; }
.hz-site .hero-section h1 { color:var(--hz-ink); }
.hz-site .hero-section .breadcrumb a { color:var(--hz-primary); }
.hz-site .card { border-color:var(--hz-border); box-shadow:0 6px 25px rgba(31,79,62,.05); }
.hz-site .table { --bs-table-border-color:var(--hz-border); }
.hz-site .btn { border-radius:999px; }
@media(max-width:700px){
    .hz-schedule > div { align-items:flex-start; flex-direction:column; gap:4px; }
    .hz-legal { padding:22px; }
}


/* Dynamic clinic branding / image fallback */
.hz-brand-logo{display:block;max-width:230px;width:auto;height:auto;max-height:58px;object-fit:contain}
.hz-footer-logo{display:block;max-width:210px;width:auto;height:auto;max-height:54px;object-fit:contain;margin-bottom:16px}
.hz-hero-image img,.hz-about-image img{width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.hz-brand-logo{max-width:190px;max-height:48px}.hz-footer-logo{max-width:180px}}
