@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root {
  --dp-blue: #004d89;
  --dp-blue-dark: #003b6b;
  --dp-teal: #10a8a8;
  --dp-teal-dark: #087d82;
  --dp-coral: #ec1c4f;
  --dp-coral-dark: #c81543;
  --dp-text: #17324d;
  --dp-muted: #5e7180;
  --dp-soft: #f2f8fc;
  --dp-soft-teal: #eaf8f8;
  --dp-white: #ffffff;
  --dp-border: #d9e7ef;
  --dp-shadow: 0 16px 40px rgba(0, 77, 137, 0.09);
  --dp-shadow-lg: 0 26px 65px rgba(0, 77, 137, 0.14);
}

html { scroll-behavior: smooth; }
body { color: var(--dp-text); font-family: Inter, Arial, sans-serif; line-height: 1.65; }
body { overflow-x: hidden; }
.elementor { overflow-x: clip; }
.elementor h1, .elementor h2, .elementor h3 { margin-top: 0; color: var(--dp-text); font-family: Manrope, Inter, sans-serif; line-height: 1.15; letter-spacing: -0.035em; }
.elementor h1 { font-size: clamp(2.55rem, 5vw, 4.65rem); }
.elementor h2 { font-size: clamp(1.9rem, 3.6vw, 3.05rem); }
.elementor h3 { font-size: 1.1rem; }
.elementor p { margin: 0 0 1em; color: var(--dp-muted); }
.elementor img { display: block; max-width: 100%; }
.elementor a { text-decoration: none; }
.elementor .elementor-widget { margin-bottom: 0; }

/* Elementor 4.2 container compatibility
 *
 * Version 4.2 may preserve an .e-con-inner wrapper around programmatically
 * imported containers. Flattening that wrapper makes the imported children
 * participate in the grid or flex layout assigned to their actual container.
 * New imports request full-width containers, so this is also a safe fallback
 * for cached or migrated markup.
 */
.elementor .dp-imported-container { min-width: 0; --content-width: 100%; }
.elementor .dp-imported-container.e-con-boxed > .e-con-inner { display: contents; }
.elementor .dp-imported-container > *,
.elementor .dp-imported-container > .e-con-inner > * { min-width: 0; }

/* Global templates are embedded in the Canvas page so Elementor 4.2 cannot
   replace them with Hello Elementor's fallback title/menu and copyright. */
.dp-global-header-template { position: sticky !important; top: 0; z-index: 9999; width: 100% !important; }
.dp-global-footer-template { width: 100% !important; }
.dp-global-header-template__widget,
.dp-global-footer-template__widget,
.dp-global-header-template__widget > .elementor-widget-container,
.dp-global-footer-template__widget > .elementor-widget-container { width: 100%; }
body.admin-bar .dp-global-header-template { top: 32px; }
body.admin-bar .dp-header { top: 32px; }

.dp-shell { width: min(1200px, calc(100% - 40px)) !important; max-width: 1200px !important; margin-inline: auto !important; }
.dp-narrow { max-width: 860px !important; }
.dp-section { padding: 84px 0; }
.dp-section--soft { background: var(--dp-soft); }
.dp-section-heading { max-width: 760px; margin-bottom: 38px; }
.dp-section-heading.is-centered { margin-inline: auto; text-align: center; }
.dp-section-heading .dp-lead p, .dp-lead p { font-size: 1.08rem; line-height: 1.78; }
.dp-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: var(--dp-teal-dark); font-family: Manrope, sans-serif; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dp-eyebrow::before { width: 5px; height: 5px; border-radius: 50%; background: var(--dp-coral); content: ''; }
.dp-eyebrow.is-light { color: #a1f2ec; }
.dp-actions { display: flex !important; flex-flow: row wrap !important; gap: 12px; }
.dp-actions.is-centered { justify-content: center; margin-top: 36px; }

.elementor .elementor-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 13px 22px; border: 1px solid var(--dp-coral); border-radius: 12px; color: #fff; background: var(--dp-coral); box-shadow: 0 8px 20px rgba(160,18,56,.16); font-weight: 700; transition: .18s ease; }
.elementor .elementor-button:hover { color: #fff; background: var(--dp-coral-dark); border-color: var(--dp-coral-dark); transform: translateY(-2px); }
.dp-button-outline .elementor-button { color: var(--dp-blue); background: #fff; border-color: var(--dp-border); box-shadow: none; }
.dp-button-outline .elementor-button:hover { color: var(--dp-blue); background: var(--dp-soft-teal); border-color: var(--dp-teal); }
.dp-button-light .elementor-button { color: var(--dp-blue); background: #fff; border-color: #fff; }
.elementor .dp-text-link .elementor-button { min-height: auto; padding: 0; border: 0; border-radius: 0; color: var(--dp-teal-dark) !important; background: transparent !important; background-color: transparent !important; box-shadow: none; justify-content: flex-start; }
.elementor .dp-text-link .elementor-button:hover { color: var(--dp-blue) !important; background: transparent !important; background-color: transparent !important; transform: none; }

/* Header and navigation */
.dp-top-strip { min-height: 30px; padding: 2px 0; background: var(--dp-blue-dark); }
.dp-top-strip > .dp-shell { padding-block: 0 !important; }
.dp-top-strip p { margin: 0; color: #d8eff7; font-size: .76rem; text-align: right; }
.dp-top-strip p span { padding-inline: 7px; color: #69d7d3; }
.dp-header { position: sticky !important; top: 0; z-index: 9999; min-height: 72px; padding: 6px 0; border-bottom: 1px solid rgba(217,231,239,.85); background: rgba(255,255,255,.97); box-shadow: 0 10px 30px rgba(0,48,87,.07); backdrop-filter: blur(12px); }
.dp-header__inner { min-height: 60px; display: grid !important; grid-template-columns: 214px minmax(0,1fr) auto; align-items: center; gap: 18px; }
.dp-header__logo img { width: 214px; height: auto; }
.dp-header__nav .elementor-nav-menu { flex-wrap: nowrap !important; justify-content: center; gap: clamp(3px, .55vw, 10px); }
.dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > li { flex: 0 0 auto; }
.dp-header__nav .elementor-nav-menu a { color: #34536b !important; font-size: .76rem; font-weight: 650; white-space: nowrap; }
.dp-header__nav .elementor-nav-menu--main .elementor-item { padding-inline: 5px !important; }
.dp-header__nav .elementor-nav-menu a:hover, .dp-header__nav .elementor-item-active { color: var(--dp-blue) !important; }
.dp-header__nav .sub-menu { max-height: 70vh; overflow-y: auto; border: 1px solid var(--dp-border) !important; border-radius: 12px; box-shadow: var(--dp-shadow); }
.dp-header__nav .sub-menu a { min-width: 260px; border-bottom-color: #eaf1f5 !important; background: #fff !important; }
.dp-header__nav .sub-menu a:hover { background: var(--dp-soft) !important; }
.dp-header__button .elementor-button { min-height: 44px; padding: 10px 16px; font-size: .8rem; }

/* Desktop Conditions and Treatments mega menus */
@media (min-width: 1025px) {
  .dp-header__nav,
  .dp-header__nav .elementor-widget-container,
  .dp-header__nav .elementor-nav-menu--main { position: static !important; }
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu { position: static !important; }
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu > .sub-menu {
    position: absolute !important;
    /* Keep the panel touching the header so the pointer never crosses a dead
       hover gap before reaching the links. */
    top: calc(100% - 1px) !important;
    right: auto !important;
    left: 50% !important;
    width: min(940px, calc(100vw - 48px)) !important;
    max-height: min(72vh, 620px);
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px 12px;
    padding: 20px !important;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    border-top: 4px solid var(--dp-teal) !important;
    border-radius: 0 0 18px 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(0,48,87,.18);
    transform: translate(-50%, 10px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  }
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu--treatments > .sub-menu {
    width: min(790px, calc(100vw - 48px)) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu > .sub-menu::before {
    grid-column: 1 / -1;
    margin: -2px 4px 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--dp-border);
    color: var(--dp-blue);
    font-family: Manrope, Inter, sans-serif;
    font-size: .9rem;
    font-weight: 800;
    letter-spacing: .02em;
    content: 'Conditions We Evaluate and Treat';
  }
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu--treatments > .sub-menu::before { content: 'Vascular Treatment Options'; }
  .dp-header__nav .dp-mega-menu > .sub-menu > li { width: auto !important; }
  .dp-header__nav .dp-mega-menu > .sub-menu > li > a {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 10px 12px !important;
    white-space: normal !important;
    border: 1px solid transparent !important;
    border-radius: 9px;
    line-height: 1.35;
  }
  .dp-header__nav .dp-mega-menu > .sub-menu > li > a::before {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border: 2px solid var(--dp-teal);
    border-radius: 50%;
    content: '';
  }
  .dp-header__nav .dp-mega-menu > .sub-menu > li > a:hover,
  .dp-header__nav .dp-mega-menu > .sub-menu > li > a:focus {
    border-color: var(--dp-border) !important;
    background: var(--dp-soft-teal) !important;
  }
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu:hover > .sub-menu,
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu:focus-within > .sub-menu,
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu > a.highlighted ~ .sub-menu,
  .dp-header__nav .elementor-nav-menu--main > .elementor-nav-menu > .dp-mega-menu.dp-mega-is-open > .sub-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }
  .dp-header__nav.dp-nav-is-closing .dp-mega-menu > .sub-menu {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 10px) !important;
  }
}

/* Home hero */
.dp-home-hero { position: relative; min-height: 700px; padding: 55px 0; overflow: hidden; background: linear-gradient(116deg,#f8fbfe 0%,#eef9fb 62%,#e2f5f7 100%); }
.dp-home-hero::before { position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(rgba(0,77,137,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,77,137,.04) 1px,transparent 1px); background-size: 44px 44px; content: ''; mask-image: linear-gradient(90deg,#000,transparent 72%); }
.dp-home-hero__inner { position: relative; z-index: 1; min-height: 590px; display: grid !important; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; }
.dp-home-hero__copy h1 { max-width: 710px; margin-bottom: 22px; color: var(--dp-blue); }
.dp-home-hero__copy .dp-lead { max-width: 700px; }
.dp-credentials { margin: 18px 0 24px !important; padding-left: 16px; border-left: 3px solid var(--dp-teal); font-size: .86rem; }
.dp-credentials strong { color: var(--dp-blue); font-family: Manrope, sans-serif; }
.dp-medical-note-inline { max-width: 670px; margin-top: 20px !important; color: #48697c !important; font-size: .82rem; }
.dp-home-hero__visual { position: relative; min-height: 560px; display: flex !important; align-items: flex-end; justify-content: center; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 48% 48% 28px 28px; background: radial-gradient(circle at 50% 30%,#fff 0 22%,#d8f2f1 52%,#bfe4eb 100%); box-shadow: var(--dp-shadow-lg); }
.dp-home-hero__photo { width: 100%; height: 100%; align-self: stretch; }
.dp-home-hero__photo .elementor-widget-container, .dp-home-hero__photo img { width: 100%; height: 100%; }
.dp-home-hero__photo img { object-fit: contain; object-position: center bottom; }
.dp-nameplate { position: absolute; right: 20px; bottom: 20px; left: 20px; padding: 17px 22px; border-radius: 17px; color: #fff; background: rgba(0,61,110,.94); }
.dp-nameplate span, .dp-nameplate strong, .dp-nameplate small { display: block; }
.dp-nameplate span { color: #83e7e2; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dp-nameplate strong { margin: 3px 0; font-family: Manrope, sans-serif; font-size: 1.16rem; }
.dp-nameplate small { color: #d9eef7; }

/* Cards and grids */
.dp-trust { position: relative; z-index: 2; border-block: 1px solid var(--dp-border); background: #fff; }
.dp-trust-grid { padding-block: 18px; }
.dp-card-grid { display: grid !important; gap: 18px; }
.dp-card-grid--five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.dp-card-grid--four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.dp-card-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dp-card-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dp-card { min-height: 100%; padding: 24px; border: 1px solid var(--dp-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(0,77,137,.035); transition: .18s ease; }
.dp-card:hover { border-color: rgba(16,168,168,.55); box-shadow: var(--dp-shadow); transform: translateY(-4px); }
.dp-card h3 { margin-bottom: 10px; font-size: 1rem; }
.dp-card p { font-size: .82rem; line-height: 1.65; }
.dp-card__icon { width: 64px; height: 64px; margin-bottom: 18px; padding: 7px; border-radius: 16px; background: var(--dp-soft-teal); }
.dp-card__icon .elementor-widget-container, .dp-card__icon img { width: 100%; height: 100%; }
.dp-card__icon img { object-fit: contain; }
.dp-trust-grid .dp-card { min-height: 135px; display: grid !important; grid-template-columns: 48px 1fr; align-content: center; column-gap: 14px; padding: 18px; border: 0; border-right: 1px solid var(--dp-border); border-radius: 0; box-shadow: none; }
.dp-trust-grid .dp-card:last-child { border-right: 0; }
.dp-trust-grid .dp-card__icon { grid-row: 1 / span 2; width: 48px; height: 48px; margin: 0; padding: 6px; }
.dp-trust-grid .dp-card h3, .dp-trust-grid .dp-card p { margin: 0; }
.dp-trust-grid .dp-card p { font-size: .7rem; }
.dp-simple-card { padding: 24px; border: 1px solid var(--dp-border); border-radius: 16px; background: #fff; }
.dp-card-label { display: inline-block; margin-bottom: 10px; color: var(--dp-teal-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

/* Doctor, info and content sections */
.dp-doctor-intro { background: #fff; }
.dp-doctor-intro__inner, .dp-about-profile__inner, .dp-two-column, .dp-info-panel { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 70px; }
.dp-doctor-intro__image, .dp-about-profile__image { height: 640px; min-height: 0; display: flex !important; align-items: flex-end; overflow: hidden; border-radius: 28px; background: linear-gradient(160deg,#e9f8f8,#cde9f1); }
.dp-doctor-photo, .dp-doctor-photo .elementor-widget-container { width: 100%; height: 100%; }
.dp-doctor-photo img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.dp-doctor-intro__copy, .dp-about-profile__copy { max-width: 570px; }
.dp-emergency { padding: 72px 0; background: #fff; }
.dp-emergency__inner { display: grid !important; grid-template-columns: 170px minmax(0,1fr); align-items: center; gap: 46px; padding: 44px 48px; border: 1px solid rgba(236,28,79,.24); border-radius: 24px; background: #fff6f8; box-shadow: 0 14px 36px rgba(126,32,61,.06); }
.dp-emergency__icon { width: 150px; height: 150px; padding: 16px; border-radius: 22px; background: #fff; }
.dp-emergency__icon .elementor-widget-container, .dp-emergency__icon img { width: 100%; height: 100%; }
.dp-emergency__icon img { object-fit: contain; }
.dp-emergency__copy { max-width: 820px; }
.elementor .dp-emergency .elementor-heading-title { margin-bottom: 12px; color: #8d1538 !important; font-size: clamp(1.8rem,3.2vw,2.65rem); }
.elementor .dp-emergency .elementor-widget-text-editor p { color: #714553 !important; }
.dp-emergency .dp-eyebrow.is-light { color: #b7153c; }
.dp-emergency .dp-button-light .elementor-button { color: #b7153c; border-color: rgba(236,28,79,.26); }
.dp-page-hero { padding: 78px 0; background: linear-gradient(118deg,var(--dp-blue-dark),var(--dp-blue) 62%,#066c8f); }
.dp-page-hero__inner { display: grid !important; grid-template-columns: minmax(0,1fr) 170px; align-items: center; gap: 65px; }
.elementor .dp-page-hero .elementor-heading-title { max-width: 850px; margin-bottom: 18px; color: #fff !important; font-size: clamp(2.35rem,4.7vw,4.2rem); }
.elementor .dp-page-hero .elementor-widget-text-editor p { max-width: 790px; color: #dbeef7 !important; }
.dp-page-hero__icon { width: 170px; height: 170px; padding: 22px; border: 1px solid rgba(255,255,255,.32); border-radius: 32px; background: rgba(255,255,255,.96); box-shadow: var(--dp-shadow-lg); }
.dp-page-hero__icon .elementor-widget-container, .dp-page-hero__icon img { width: 100%; height: 100%; }
.dp-page-hero__icon img { object-fit: contain; }
.dp-info-panel { padding: 42px; border-radius: 24px; background: var(--dp-soft); }
.dp-info-panel__icon { width: 200px; height: 200px; justify-self: center; }
.dp-info-panel__icon img { width: 100%; height: 100%; object-fit: contain; }
.dp-content-card, .dp-info-card { padding: 28px; border: 1px solid var(--dp-border); border-radius: 18px; background: #fff; }
.dp-narrative-grid { align-items: stretch; gap: 22px; margin-top: 34px; }
.dp-info-grid { margin: 22px 0; }
.dp-info-card h2, .dp-content-card h2 { font-size: 1.45rem; }
.dp-step-number { display: inline-grid; width: 42px; height: 42px; place-items: center; margin-bottom: 13px; border-radius: 12px; color: var(--dp-blue); background: var(--dp-soft-teal); font-family: Manrope,sans-serif; font-size: .76rem; font-weight: 800; }
.dp-medical-note, .dp-urgent-note, .dp-contact-note, .dp-emergency-banner { margin-top: 26px; padding: 20px 22px; border-left: 4px solid var(--dp-teal); border-radius: 12px; background: var(--dp-soft-teal); color: var(--dp-text); }
.dp-medical-note strong, .dp-urgent-note strong, .dp-contact-note strong, .dp-emergency-banner strong { color: var(--dp-blue); }
.dp-urgent-note { border-left-color: var(--dp-coral); background: #fff1f4; }
.dp-urgent-note p, .dp-contact-note p, .dp-emergency-banner p { margin: 4px 0 0; }

/* Detail pages */
.dp-detail-layout { display: grid !important; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 55px; }
.dp-sticky-aside { position: sticky !important; top: 110px; padding: 28px; border: 1px solid var(--dp-border); border-radius: 20px; background: var(--dp-soft); box-shadow: var(--dp-shadow); }
.dp-sticky-aside h2 { font-size: 1.55rem; }
.dp-aside__icon { width: 100px; height: 100px; margin-bottom: 18px; padding: 12px; border-radius: 18px; background: #fff; }
.dp-aside__icon img { width: 100%; height: 100%; object-fit: contain; }
.dp-aside-links { display: grid; gap: 8px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--dp-border); }
.dp-aside-links strong { margin-bottom: 3px; color: var(--dp-blue); }
.dp-aside-links a { color: var(--dp-teal-dark); font-size: .85rem; font-weight: 700; }
.dp-copy-stack { display: grid !important; gap: 20px; margin-top: 22px; }
.dp-treatment-process { margin-top: 24px; padding: 28px; border-radius: 20px; color: #fff; background: var(--dp-blue-dark); }
.elementor .dp-treatment-process .elementor-heading-title { color: #fff !important; }
.dp-process-list { display: grid !important; gap: 14px; }
.dp-process-step { display: grid !important; grid-template-columns: 48px 1fr; align-items: start; gap: 13px; }
.dp-process-step .dp-step-number { margin: 0; color: #fff; background: rgba(255,255,255,.14); }
.elementor .dp-process-step .elementor-widget-text-editor p { color: #d8eff7 !important; }

/* Lists, FAQ and forms */
.elementor-widget-icon-list .elementor-icon-list-item { align-items: flex-start !important; margin-bottom: 10px; }
.elementor-widget-icon-list .elementor-icon-list-icon { padding-top: 4px; color: var(--dp-teal); }
.elementor-widget-icon-list .elementor-icon-list-text { color: var(--dp-muted); line-height: 1.55; }
.dp-faq .elementor-accordion-item { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--dp-border) !important; border-radius: 13px; background: #fff; }
.dp-faq .elementor-tab-title { padding: 19px 22px !important; color: var(--dp-text) !important; font-family: Manrope,sans-serif; font-weight: 700 !important; }
.dp-faq .elementor-tab-content { padding: 0 22px 20px !important; border: 0 !important; color: var(--dp-muted); }
.elementor .dp-appointment.e-no-lazyload { color: #fff; background-color: var(--dp-blue-dark) !important; background-image: linear-gradient(120deg,var(--dp-blue-dark),var(--dp-blue)) !important; }
.dp-appointment__inner { display: grid !important; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 70px; }
.elementor .dp-appointment .elementor-heading-title { color: #fff !important; }
.elementor .dp-appointment__copy .elementor-widget-text-editor p { color: #d8eff7 !important; }
.dp-appointment__form { padding: 30px; border-radius: 22px; background: #fff; box-shadow: var(--dp-shadow-lg); }
.dp-appointment-form .elementor-field-label { margin-bottom: 6px; color: var(--dp-text); font-size: .78rem; font-weight: 700; }
.dp-appointment-form .elementor-field { min-height: 47px; border: 1px solid var(--dp-border); border-radius: 9px; background: #fafdff; }
.dp-appointment-form textarea.elementor-field { min-height: 115px; }
.dp-appointment-form .elementor-button { width: 100%; }

/* Supporting pages */
.dp-step-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.dp-step-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dp-step-card { padding: 26px; border: 1px solid var(--dp-border); border-radius: 18px; background: #fff; }
.dp-diagnostics-layout { display: grid !important; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 40px; }
.dp-diagnostics-feature { position: sticky !important; top: 110px; padding: 34px; border-radius: 22px; background: var(--dp-blue); }
.elementor .dp-diagnostics-feature .elementor-heading-title { color: #fff !important; }
.elementor .dp-diagnostics-feature .elementor-widget-text-editor p { color: #d8eff7 !important; }
.dp-feature-icon { width: 130px; height: 130px; margin-bottom: 22px; padding: 15px; border-radius: 20px; background: #fff; }
.dp-feature-icon img { width: 100%; height: 100%; object-fit: contain; }
.dp-resource-card { min-height: 100%; display: grid !important; grid-template-columns: 90px 1fr; align-content: start; column-gap: 22px; padding: 28px; border: 1px solid var(--dp-border); border-radius: 20px; background: #fff; }
.dp-resource-card .dp-card__icon { grid-row: 1 / span 5; width: 90px; height: 90px; }
.dp-resource-card h2 { font-size: 1.42rem; }
.dp-resource-checklist { color: #fff; background: var(--dp-blue-dark); }
.dp-resource-checklist__inner { display: grid !important; grid-template-columns: .9fr 1.1fr; gap: 60px; }
.elementor .dp-resource-checklist .elementor-heading-title { color: #fff !important; }
.elementor .dp-resource-checklist .elementor-widget-text-editor p,
.elementor .dp-resource-checklist .elementor-icon-list-text { color: #d8eff7 !important; }
.dp-resource-checklist .elementor-icon-list-icon { color: #83e7e2; }
.dp-warning-card { padding: 26px; border: 1px solid #f2c8d2; border-radius: 18px; background: #fff; }
.dp-warning-card h2 { font-size: 1.35rem; }
.dp-warning-mark { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 16px; border-radius: 12px; color: #fff; background: var(--dp-coral); font-family: Manrope,sans-serif; font-weight: 800; }
.dp-emergency-banner { margin: 0 0 28px; border-left: 0; background: #fff1f4; text-align: center; }
.dp-contact-placeholder { padding: 24px 0; background: var(--dp-soft); }
.dp-contact-note { margin: 0; }
.dp-legal-content { display: grid !important; gap: 26px; }
.dp-legal-section { padding-bottom: 24px; border-bottom: 1px solid var(--dp-border); }
.dp-legal-section:last-child { border-bottom: 0; }

/* CTA and footer */
.dp-cta { padding: 54px 0; background: linear-gradient(110deg,var(--dp-blue),#056c91); }
.dp-cta__inner { display: grid !important; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 40px; }
.elementor .dp-cta .elementor-heading-title { margin-bottom: 10px; color: #fff !important; }
.elementor .dp-cta .elementor-widget-text-editor p { margin: 0; color: #d8eff7 !important; }
.dp-footer { padding: 72px 0 22px; color: #fff; background: #082f4e; }
.dp-footer__grid { display: grid !important; grid-template-columns: 1.35fr repeat(3,1fr); gap: 45px; }
.elementor .dp-footer .elementor-heading-title { color: #fff !important; font-size: 1rem; }
.elementor .dp-footer .elementor-widget-text-editor p { color: #bed5e3 !important; font-size: .84rem; }
.dp-footer__logo { max-width: 235px; margin-bottom: 18px; padding: 10px; border-radius: 10px; background: #fff; }
.dp-footer-links { display: grid; gap: 8px; }
.dp-footer-links a { color: #cce2ed; font-size: .82rem; }
.dp-footer-links a:hover { color: #83e7e2; }
.dp-footer__bottom { margin-top: 50px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); }
.dp-footer__bottom p { margin: 0; text-align: center; }
.dp-footer__bottom a { color: #83e7e2; }
.dp-mobile-bar { display: none !important; }

@media (max-width: 1250px) {
  .dp-header__inner { grid-template-columns: 190px minmax(0,1fr); }
  .dp-header__button { display: none; }
}

@media (max-width: 1100px) {
  .dp-card-grid--five { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dp-card-grid--four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dp-home-hero__inner { gap: 40px; }
  .dp-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1024px) {
  .dp-header__inner { grid-template-columns: 190px minmax(0,1fr); gap: 12px; }
  .dp-header__button { display: none; }
  .dp-header__nav { position: relative; }
  .dp-header__nav .elementor-menu-toggle { margin-left: auto; color: var(--dp-blue); background: var(--dp-soft); }
  .dp-header__nav .elementor-nav-menu--dropdown { position: absolute; top: 58px; right: 0; left: auto; width: min(420px,calc(100vw - 28px)); max-height: 75vh; overflow-y: auto; border-radius: 0 0 14px 14px; box-shadow: var(--dp-shadow); }
  .dp-header__nav .elementor-nav-menu--dropdown a { padding: 12px 18px; }
  .dp-header__nav .elementor-nav-menu--dropdown .dp-mega-menu > .sub-menu { max-height: none; margin: 0 12px 10px !important; padding-left: 8px !important; overflow: visible; border: 0 !important; border-left: 3px solid var(--dp-teal) !important; border-radius: 0; box-shadow: none; }
  .dp-header__nav .elementor-nav-menu--dropdown .dp-mega-menu > .sub-menu a { min-width: 0; padding: 10px 14px !important; white-space: normal; background: #f8fbfd !important; }
}

@media (max-width: 900px) {
  .dp-section { padding: 78px 0; }
  .dp-home-hero { min-height: 0; }
  .dp-home-hero__inner, .dp-doctor-intro__inner, .dp-about-profile__inner, .dp-detail-layout, .dp-diagnostics-layout, .dp-appointment__inner { grid-template-columns: 1fr; }
  .dp-home-hero__visual { min-height: 520px; max-width: 520px; width: 100%; margin-inline: auto; }
  .dp-sticky-aside, .dp-diagnostics-feature { position: relative !important; top: auto; }
  .dp-card-grid--three, .dp-step-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dp-page-hero__inner { grid-template-columns: 1fr 130px; gap: 35px; }
  .dp-page-hero__icon { width: 130px; height: 130px; }
  .dp-emergency__inner { grid-template-columns: 125px minmax(0,1fr); gap: 30px; padding: 34px; }
  .dp-emergency__icon { width: 120px; height: 120px; }
}

@media (max-width: 767px) {
  body { padding-bottom: 62px; }
  .dp-shell { width: min(100% - 28px,1200px) !important; }
  .dp-section { padding: 64px 0; }
  .dp-top-strip { display: none !important; }
  .dp-header { min-height: 68px; }
  .dp-header__inner { grid-template-columns: 190px minmax(0,1fr); gap: 10px; }
  .dp-header__logo img { width: 188px; }
  body.admin-bar .dp-global-header-template { top: 46px; }
  body.admin-bar .dp-header { top: 46px; }
  .dp-header__nav .elementor-menu-toggle { margin-left: auto; color: var(--dp-blue); background: var(--dp-soft); }
  .dp-header__nav .elementor-nav-menu--dropdown { position: absolute; top: 58px; right: 0; left: auto; width: min(420px,calc(100vw - 28px)); max-height: 75vh; overflow-y: auto; border-radius: 0 0 14px 14px; box-shadow: var(--dp-shadow); }
  .dp-header__nav .elementor-nav-menu--dropdown a { padding: 12px 18px; }
  .dp-header__nav .elementor-nav-menu--dropdown .dp-mega-menu > .sub-menu { max-height: none; margin: 0 12px 10px !important; padding-left: 8px !important; overflow: visible; border: 0 !important; border-left: 3px solid var(--dp-teal) !important; border-radius: 0; box-shadow: none; }
  .dp-header__nav .elementor-nav-menu--dropdown .dp-mega-menu > .sub-menu a { min-width: 0; padding: 10px 14px !important; white-space: normal; background: #f8fbfd !important; }
  .dp-home-hero { padding: 48px 0 26px; }
  .dp-home-hero__inner { gap: 32px; }
  .dp-home-hero__visual { min-height: 430px; border-radius: 42% 42% 24px 24px; }
  .dp-nameplate { right: 12px; bottom: 12px; left: 12px; padding: 14px 16px; }
  .dp-page-hero { padding: 58px 0; }
  .dp-page-hero__inner { grid-template-columns: 1fr; }
  .dp-page-hero__icon { width: 108px; height: 108px; grid-row: 1; }
  .dp-page-hero h1 { font-size: clamp(2.2rem,10vw,3.15rem); }
  .dp-card-grid--five, .dp-card-grid--four, .dp-card-grid--three, .dp-card-grid--two, .dp-step-grid, .dp-step-grid--three, .dp-two-column, .dp-info-panel, .dp-resource-checklist__inner, .dp-cta__inner, .dp-footer__grid { grid-template-columns: 1fr; }
  .dp-trust-grid { grid-template-columns: 1fr !important; }
  .dp-trust-grid .dp-card { border-right: 0; border-bottom: 1px solid var(--dp-border); }
  .dp-trust-grid .dp-card:last-child { border-bottom: 0; }
  .dp-doctor-intro__image, .dp-about-profile__image { height: 520px; min-height: 0; }
  .dp-emergency { padding: 54px 0; }
  .dp-emergency__inner { grid-template-columns: 1fr; gap: 22px; padding: 26px 22px; }
  .dp-emergency__icon { width: 96px; height: 96px; }
  .dp-info-panel { padding: 28px; gap: 28px; }
  .dp-resource-card { grid-template-columns: 72px 1fr; padding: 20px; column-gap: 15px; }
  .dp-resource-card .dp-card__icon { width: 72px; height: 72px; }
  .dp-appointment__form { padding: 20px; }
  .dp-cta__inner { text-align: center; }
  .dp-footer { padding-bottom: 34px; }
  .dp-mobile-bar { position: fixed !important; right: 0; bottom: 0; left: 0; z-index: 1000; height: 62px; display: grid !important; grid-template-columns: repeat(3,1fr); padding: 0; border-top: 1px solid var(--dp-border); background: #fff; box-shadow: 0 -8px 24px rgba(0,48,87,.12); }
  .dp-mobile-bar__item .elementor-button { width: 100%; min-height: 62px; padding: 8px 4px; border: 0; border-radius: 0; color: var(--dp-blue); background: #fff; box-shadow: none; font-size: .72rem; }
  .dp-mobile-bar__item.is-active .elementor-button { color: #fff; background: var(--dp-blue); }
}
