/* CareOnYou design tokens; all rules stay scoped to the home/auth plugin templates. */
body.careonyou-brand-page {
  --coy-red: #c52842;
  --coy-red-dark: #a61e37;
  --coy-red-soft: #fff1f3;
  --coy-ink: #20232d;
  --coy-muted: #626978;
  --coy-green: #258b71;
  --coy-line: #e9ebf0;
}
.careonyou-auth-template,
.careonyou-home {
  --coy-red: #c52842;
  --coy-red-dark: #a61e37;
  --coy-red-soft: #fff1f3;
  --coy-ink: #20232d;
  --coy-muted: #626978;
  --coy-green: #258b71;
  --coy-line: #e9ebf0;
  width: 100%;
  color: var(--coy-ink);
  font-family: inherit;
  line-height: 1.55;
  box-sizing: border-box;
}
.careonyou-auth-template *, .careonyou-auth-template *::before, .careonyou-auth-template *::after,
.careonyou-home *, .careonyou-home *::before, .careonyou-home *::after { box-sizing: border-box; }

/* Homepage engagement hero */
.careonyou-home {
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 660px;
  min-height: clamp(660px, calc(100vh - 86px), 820px);
  padding: clamp(48px, 5vw, 72px) 22px;
  background: radial-gradient(ellipse at 84% 12%, rgba(255,218,224,.58), transparent 30%), linear-gradient(135deg, #fffafa 0%, #fff 56%, #f6f8fc 100%);
}
.careonyou-home__inner { width: min(1320px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); align-items: center; gap: clamp(48px, 6vw, 88px); }
.careonyou-home__copy { max-width: 690px; }
.careonyou-home__eyebrow, .careonyou-auth__eyebrow { display: inline-flex; align-items: center; padding: 8px 13px; border-radius: 999px; color: var(--coy-red-dark); background: var(--coy-red-soft); font-size: .76rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.careonyou-home__eyebrow::before { display: inline-block; content: ''; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: var(--coy-red); box-shadow: 0 0 0 4px rgba(197,40,66,.11); }
.careonyou-home__copy h1 { max-width: 690px; margin: 25px 0 20px; color: var(--coy-ink); font-size: clamp(2.8rem, 5.2vw, 4.7rem); font-weight: 800; line-height: 1.02; letter-spacing: -.055em; }
.careonyou-home__lead { max-width: 610px; margin: 0; color: var(--coy-muted); font-size: clamp(1.08rem, 1.45vw, 1.28rem); line-height: 1.75; }
.careonyou-home__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 33px; }
.careonyou-button { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; padding: 15px 24px; border: 1px solid transparent; border-radius: 10px; font: inherit; font-size: 1rem; font-weight: 750; text-align: center; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.careonyou-button:hover { transform: translateY(-1px); }
.careonyou-button--primary { color: #fff !important; background: var(--coy-red); box-shadow: 0 10px 22px rgba(197,40,66,.18); }
.careonyou-button--primary:hover { color: #fff !important; background: var(--coy-red-dark); box-shadow: 0 12px 25px rgba(197,40,66,.23); }
.careonyou-button--secondary { color: var(--coy-ink) !important; background: #fff; border-color: #dfe2e8; }
.careonyou-button--secondary:hover { color: var(--coy-red-dark) !important; border-color: #e9b4bd; background: #fffafb; }
.careonyou-home__note { display: flex; align-items: center; gap: 9px; margin: 22px 0 0; color: #717887; font-size: .92rem; }
.careonyou-home__note span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: var(--coy-green); background: #eaf7f2; font-size: .72rem; font-weight: 800; }
.careonyou-home__card { max-width: 560px; width: 100%; justify-self: end; padding: 30px; border: 1px solid rgba(32,35,45,.07); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 28px 70px rgba(24,40,70,.11); }
.careonyou-home__card-head { display: flex; align-items: center; gap: 16px; padding: 6px 4px 24px; border-bottom: 1px solid var(--coy-line); }
.careonyou-home__pulse { display: grid; flex: 0 0 54px; place-items: center; width: 54px; height: 54px; border-radius: 16px; color: #fff; background: var(--coy-red); font-size: 1.55rem; box-shadow: 0 7px 16px rgba(197,40,66,.18); }
.careonyou-home__card-head strong, .careonyou-home__card-head span:not(.careonyou-home__pulse) { display: block; }
.careonyou-home__card-head strong { color: var(--coy-ink); font-size: 1.12rem; }
.careonyou-home__card-head div > span { margin-top: 4px; color: var(--coy-muted); font-size: .92rem; }
.careonyou-home__feature { display: flex; align-items: center; gap: 15px; min-height: 96px; padding: 18px 4px; border-bottom: 1px solid var(--coy-line); color: inherit; text-decoration: none !important; }
a.careonyou-home__feature:hover strong, .careonyou-home__feature > b { color: var(--coy-red); }
.careonyou-home__feature-icon { display: grid; flex: 0 0 50px; place-items: center; width: 50px; height: 50px; border-radius: 14px; color: var(--coy-red-dark); background: var(--coy-red-soft); font-size: 1.28rem; font-weight: 800; }
.careonyou-home__feature > span:nth-child(2) { flex: 1; min-width: 0; }
.careonyou-home__feature strong, .careonyou-home__feature small { display: block; }
.careonyou-home__feature strong { color: var(--coy-ink); font-size: 1rem; }
.careonyou-home__feature small { margin-top: 4px; color: var(--coy-muted); font-size: .88rem; line-height: 1.5; }
.careonyou-home__feature > b { font-size: 1.15rem; }
.careonyou-home__feature--static { cursor: default; }
.careonyou-home__card-link { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; color: var(--coy-red-dark) !important; font-size: .9rem; font-weight: 800; text-decoration: none !important; }

/* The theme page-title band duplicates the landing-page hero heading. */
body.careonyou-engagement-page .iq-breadcrumb-two { display: none !important; }
/* Login and registration begin directly under the preserved theme menu. */
body.careonyou-auth-page .iq-breadcrumb-two { display: none !important; }
/* Match the clinic directory frame while leaving the KiviCare wizard layout native. */
body.careonyou-appointment-page .iq-breadcrumb-two { display: none !important; }
body.careonyou-appointment-page { background: #f7f8fc; }
body.careonyou-appointment-page .widgetOrders { width: min(1240px, calc(100% - 36px)); margin: 30px auto 64px !important; background: var(--coy-red) !important; }
body.careonyou-appointment-page #kivicare-animate-ul,
body.careonyou-appointment-page .kivicare-animate-ul { background: transparent !important; box-shadow: none !important; }
body.careonyou-appointment-page .widgetOrders .wizard-tab { background: #fff !important; }

/* Remove the page-title/breadcrumb banner while preserving the site's main menu. */
body.careonyou-clinics-page .iq-breadcrumb-two { display: none !important; }
body.careonyou-clinics-page .iq-breadcrumb-one,
body.careonyou-doctor-list-page .iq-breadcrumb-one,
body.careonyou-provider-profile-page .iq-breadcrumb-one { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
body.careonyou-clinics-page .kivicare-clinic-archive { padding: 54px 0 78px; background: #f8f9fc; }
body.careonyou-clinics-page .kivicare-clinic-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 0 !important; }
body.careonyou-clinics-page .kivicare-clinic-top-bar { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 0 0 30px; }
body.careonyou-clinics-page .kivicare-clinic-top-bar::before { flex: 1; color: var(--coy-ink); content: 'Encontre a clínica certa para si'; font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 800; letter-spacing: -.025em; }
body.careonyou-clinics-page .kivicare-clinic-filters-wrapper { flex: 0 1 420px; justify-content: flex-end !important; }
body.careonyou-clinics-page .kivicare-service-search { position: relative; width: 100%; max-width: 420px; overflow: hidden; border: 1px solid #e4e7ed; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(30,40,60,.05); }
body.careonyou-clinics-page .kivicare-service-search .fa-search { left: 17px; color: var(--coy-red); }
body.careonyou-clinics-page .kivicare-service-search-input { width: 100%; min-height: 52px; padding: 0 16px 0 48px !important; outline: 0; color: var(--coy-ink); background: transparent; font-size: .95rem; }
body.careonyou-clinics-page .kivicare-clinic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); justify-items: center; align-items: stretch; gap: 24px; }
body.careonyou-clinics-page .kivicare-clinic-card { position: relative; display: flex; width: 100% !important; max-width: 370px; flex-direction: column; overflow: hidden; border: 1px solid #e8ebf1; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(29,42,68,.08); transition: transform .2s ease, box-shadow .2s ease; }
body.careonyou-clinics-page .kivicare-clinic-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(29,42,68,.14); }
body.careonyou-clinics-page .kivicare-clinic-image-wrapper { width: 100%; height: 190px; flex: 0 0 190px; background-position: center; background-size: cover; }
body.careonyou-clinics-page .kivicare-clinic-info { display: flex; width: 100%; flex: 1; flex-direction: column; gap: 12px; padding: 22px !important; background: #fff; }
body.careonyou-clinics-page .kivicare-clinic-name { margin: 0; color: var(--coy-ink); font-size: 1.05rem; font-weight: 800; line-height: 1.35; }
body.careonyou-clinics-page .kivicare-clinic-address { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--coy-muted); font-size: .88rem; line-height: 1.5; }
body.careonyou-clinics-page .kivicare-clinic-address i { margin-top: 3px; color: var(--coy-red); }
body.careonyou-clinics-page .kivicare-clinic-services { display: flex; flex-wrap: wrap; gap: 7px; }
body.careonyou-clinics-page .kivicare-clinic-service-tag { padding: 6px 10px; border-radius: 999px; color: var(--coy-red-dark); background: var(--coy-red-soft); font-size: .75rem; font-weight: 700; }
body.careonyou-clinics-page .kivicare-clinic-stats { display: flex; flex-wrap: wrap; gap: 9px; }
body.careonyou-clinics-page .kivicare-clinic-stat-item { display: flex; align-items: center; gap: 7px; color: var(--coy-muted); font-size: .83rem; }
body.careonyou-clinics-page .kivicare-clinic-stat-item > i { color: var(--coy-red); }
body.careonyou-clinics-page .kivicare-clinic-stat-badge { padding: 6px 9px; border-radius: 8px; background: #f5f7fa; }
body.careonyou-clinics-page .kivicare-clinic-info .kc-doctor-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto !important; padding-top: 4px; }
body.careonyou-clinics-page .kivicare-clinic-info .kc-doctor-tags span { padding: 6px 10px; border: 1px solid #edf0f4; border-radius: 999px; color: #505767; background: #fff; font-size: .75rem; }

/* Doctors directory and provider profiles: hide only the title/breadcrumb band. */
body.careonyou-doctor-list-page .iq-breadcrumb-two,
body.careonyou-provider-profile-page .iq-breadcrumb-two { display: none !important; }
body.careonyou-doctor-list-page .kc-doctor-archive { padding: 48px 0 78px; background: #f8f9fc; }
body.careonyou-doctor-list-page .kc-doctor-archive > .container { width: min(1180px, calc(100% - 40px)); max-width: none; padding: 0; }
body.careonyou-doctor-list-page .kc-doctor-filters-wrap { display: flex; width: 100%; align-items: flex-end; justify-content: center; gap: 14px; margin: 0 auto 30px !important; padding: 8px 0 18px; }
body.careonyou-doctor-list-page .kc-doctor-filters-wrap::before { flex: 0 0 100%; color: var(--coy-ink); content: 'Encontre o profissional certo para o seu cuidado'; font-size: clamp(1.25rem, 2.4vw, 1.7rem); font-weight: 800; letter-spacing: -.03em; text-align: center; }
body.careonyou-doctor-list-page .kc-doctor-search-box { flex: 0 1 330px; width: 330px; min-width: 250px; }
body.careonyou-doctor-list-page .kc-doctor-search-input { min-height: 50px; padding-left: 46px; border: 1px solid #e2e6ed; border-radius: 11px; background: #fff; box-shadow: 0 6px 20px rgba(30,40,60,.04); }
body.careonyou-doctor-list-page .kc-doctor-search-icon { left: 17px; top: 50%; color: var(--coy-red); transform: translateY(-50%); }
body.careonyou-doctor-list-page .kc-filter-select-wrap,
body.careonyou-doctor-list-page .kc-specialty-filter-wrap { flex: 0 1 225px; width: 225px; }
body.careonyou-doctor-list-page .kc-filter-label,
body.careonyou-doctor-list-page .kc-speciality-label { color: var(--coy-muted); font-size: .82rem; font-weight: 700; }
body.careonyou-doctor-list-page .kc-filter-select-wrap .select2-selection,
body.careonyou-doctor-list-page .kc-specialty-filter-wrap .select2-selection { display: flex; min-height: 50px; align-items: center; border: 1px solid #e2e6ed; border-radius: 11px; background: #fff; }
body.careonyou-doctor-list-page .kc-filter-select-wrap .select2-selection__rendered,
body.careonyou-doctor-list-page .kc-specialty-filter-wrap .select2-selection__rendered { color: var(--coy-ink); line-height: 48px; }
body.careonyou-doctor-list-page .kc-doctor-archive .kc-archive-loader-wrap > .row { justify-content: center; row-gap: 22px; }
body.careonyou-doctor-list-page .doctor-card-item { display: flex; }
body.careonyou-doctor-list-page .kc-doctor-card { width: 100%; height: 100%; padding: 28px 22px; border: 1px solid #e8ebf1; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(29,42,68,.07); transition: transform .2s ease, box-shadow .2s ease; }
body.careonyou-doctor-list-page .kc-doctor-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(29,42,68,.13); }
body.careonyou-doctor-list-page .kc-doctor-img-wrap { overflow: hidden; border: 4px solid #f8e6e9; border-radius: 50%; }
body.careonyou-doctor-list-page .kc-doctor-name { color: var(--coy-ink); font-size: 1.08rem; font-weight: 800; }
body.careonyou-doctor-list-page .kc-doctor-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
body.careonyou-doctor-list-page .kc-doctor-tags span { padding: 6px 10px; border-radius: 999px; color: var(--coy-red-dark); background: var(--coy-red-soft); font-size: .76rem; }
body.careonyou-doctor-list-page .kc-doctor-avail--available { color: #258b71; font-weight: 700; }

body.careonyou-provider-profile-page .kc-single-wrap { padding: 42px 0 76px; background: #f8f9fc; }
body.careonyou-provider-profile-page .kc-single-wrap > .container { width: min(1180px, calc(100% - 40px)); max-width: none; }
body.careonyou-provider-profile-page .kc-hero-card { gap: 22px; padding: clamp(22px, 3vw, 34px); border: 1px solid #e6eaf0; border-radius: 18px; background: linear-gradient(115deg, #fff 0%, #fff 68%, #fff5f6 100%); box-shadow: 0 12px 34px rgba(29,42,68,.07); }
body.careonyou-provider-profile-page .kc-hero-card h1 { color: var(--coy-ink); font-weight: 800; letter-spacing: -.035em; }
body.careonyou-provider-profile-page .kc-hero-card .kc-book-appointment-button { min-height: 48px; padding: 12px 22px; border: 0; border-radius: 10px; color: #fff !important; background: var(--coy-red) !important; box-shadow: 0 8px 20px rgba(197,40,66,.18); font-weight: 750; }
body.careonyou-provider-profile-page .kc-hero-card .kc-book-appointment-button:hover { background: var(--coy-red-dark) !important; }
body.careonyou-provider-profile-page .kc-single-wrap .kc-card:not(.kc-hero-card) { border: 1px solid #e8ebf1; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(29,42,68,.055); }
body.careonyou-provider-profile-page .kc-single-wrap .kc-card-title { color: var(--coy-ink); font-weight: 800; }
body.careonyou-provider-profile-page .kc-single-wrap .iq-clinic-widget { border-radius: 13px; box-shadow: 0 6px 18px rgba(29,42,68,.06); }

/* Clinic profile hero and associated information. */
body.careonyou-provider-profile-page .kc-service-header { display: flex; align-items: center; gap: 24px; padding: clamp(22px, 3vw, 34px); border: 1px solid #e6eaf0; border-radius: 18px; background: linear-gradient(115deg, #fff 0%, #fff 68%, #fff4f6 100%); box-shadow: 0 12px 34px rgba(29,42,68,.07); }
body.careonyou-provider-profile-page .kc-service-name { color: var(--coy-ink); font-size: clamp(1.5rem, 2.7vw, 2.05rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.2; }
body.careonyou-provider-profile-page .kc-service-category { color: #4b5260; font-weight: 650; }
body.careonyou-provider-profile-page .kc-service-meta-item i { color: var(--coy-red); }
body.careonyou-provider-profile-page .kc-service-header .kc-book-appointment-button { min-height: 48px; padding: 12px 22px; border: 0; border-radius: 10px; color: #fff !important; background: var(--coy-red) !important; box-shadow: 0 8px 20px rgba(197,40,66,.18); font-weight: 750; }
body.careonyou-provider-profile-page .kc-service-header .kc-book-appointment-button:hover { background: var(--coy-red-dark) !important; }
body.careonyou-provider-profile-page .kc-single-wrap .kc-info-box { min-height: 90px; border-radius: 12px; background: #f7f8fb; }
body.careonyou-provider-profile-page .kc-single-wrap .kc-info-icon { color: var(--coy-red); background: var(--coy-red-soft); }
body.careonyou-provider-profile-page .kc-single-wrap .kc-assoc-item { border: 1px solid #e8ebf1; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(29,42,68,.055); transition: transform .18s ease, box-shadow .18s ease; }
body.careonyou-provider-profile-page .kc-single-wrap .kc-assoc-item:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(29,42,68,.1); }

/* KiviCare booking wizard: cosmetic branding only. Keep its native layout,
   dimensions, scrolling, and visibility rules so every dynamic step renders. */
body.careonyou-provider-profile-page .kc-modal-dialog { border: 1px solid #e7eaf0; border-radius: 16px; box-shadow: 0 24px 80px rgba(20,28,45,.24); }
body.careonyou-provider-profile-page .kc-modal-dialog .kc-modal-close { color: #333948; }
body.careonyou-provider-profile-page .kc-modal-dialog .widget-tabs { background: #c52842 !important; }
body.careonyou-provider-profile-page .kc-modal-dialog .tab-link { color: rgba(255,255,255,.86) !important; }
body.careonyou-provider-profile-page .kc-modal-dialog .tab-item.active .tab-link { color: #fff !important; background: rgba(255,255,255,.16); }
body.careonyou-provider-profile-page .kc-modal-dialog .sidebar-heading-text { font-weight: 750; }
body.careonyou-provider-profile-page .kc-modal-dialog .iq-kivi-tab-panel-title { color: var(--coy-ink); font-weight: 800; }
body.careonyou-provider-profile-page .kc-modal-dialog .iq-kivicare-form-control { border-color: #e1e5ec; border-radius: 9px; box-shadow: none; }
body.careonyou-provider-profile-page .kc-modal-dialog .iq-kivi-icon { color: var(--coy-red); }
body.careonyou-provider-profile-page .kc-modal-dialog .iq-color-secondary { color: var(--coy-red) !important; font-weight: 750; }
/* Register/login tabs rendered inside the patient step of the booking widget. */
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs,
body.careonyou-provider-profile-page .kc-modal-dialog [role="tablist"]:not(#kivicare-animate-ul) { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 8px 12px; border: 1px solid #e3e7ee !important; border-radius: 12px; background: #f6f7fa !important; }
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs > li { flex: 1 1 130px; margin: 0; }
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs .nav-link,
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs > li > a,
body.careonyou-provider-profile-page .kc-modal-dialog [role="tablist"]:not(#kivicare-animate-ul) [role="tab"] { display: flex !important; min-height: 44px; align-items: center; justify-content: center; padding: 10px 14px !important; border: 1px solid #dce1e9 !important; border-radius: 8px !important; color: #3f4654 !important; background: #fff !important; font-weight: 700; text-align: center; text-decoration: none !important; opacity: 1 !important; visibility: visible !important; }
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs .nav-link.active,
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs > li.active > a,
body.careonyou-provider-profile-page .kc-modal-dialog [role="tablist"]:not(#kivicare-animate-ul) [role="tab"][aria-selected="true"],
body.careonyou-provider-profile-page .kc-modal-dialog [role="tablist"]:not(#kivicare-animate-ul) [role="tab"].active { border-color: var(--coy-red) !important; color: #fff !important; background: var(--coy-red) !important; box-shadow: 0 4px 12px rgba(197,40,66,.17); }
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs .nav-link:hover,
body.careonyou-provider-profile-page .kc-modal-dialog .nav-tabs > li > a:hover,
body.careonyou-provider-profile-page .kc-modal-dialog [role="tablist"]:not(#kivicare-animate-ul) [role="tab"]:hover { border-color: #e6a0ab !important; color: var(--coy-red-dark) !important; background: #fff6f7 !important; }
body.careonyou-provider-profile-page .kc-modal-dialog .kc-service-card { border-color: #e5e8ee; border-radius: 12px; }
body.careonyou-provider-profile-page .kc-modal-dialog .kc-service-name { font-weight: 750; }
body.careonyou-provider-profile-page .kc-modal-dialog .iq-button-primary { border-color: var(--coy-red) !important; border-radius: 9px; color: #fff !important; background: var(--coy-red) !important; font-weight: 750; }
body.careonyou-provider-profile-page .kc-modal-dialog .iq-button-primary:hover { border-color: var(--coy-red-dark) !important; background: var(--coy-red-dark) !important; }

/* Login and registration engagement layout */
.careonyou-auth-template { padding: clamp(38px, 5.6vw, 78px) 22px; background: radial-gradient(ellipse at 12% 0%, rgba(255,220,225,.48), transparent 32%), linear-gradient(180deg, #fffdfc 0%, #fff 100%); }
.careonyou-auth__grid { width: min(1120px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .95fr); align-items: center; gap: clamp(36px, 6vw, 78px); }
.careonyou-auth__story { max-width: 520px; }
.careonyou-auth__eyebrow::before { display: inline-block; content: ''; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: var(--coy-red); box-shadow: 0 0 0 4px rgba(197,40,66,.11); }
.careonyou-auth__story h1 { max-width: 590px; margin: 22px 0 18px; color: var(--coy-ink); font-size: clamp(2.35rem, 4.4vw, 3.85rem); line-height: 1.06; letter-spacing: -.055em; font-weight: 800; }
.careonyou-auth__intro { max-width: 500px; margin: 0; color: var(--coy-muted); font-size: 1.08rem; line-height: 1.75; }
.careonyou-auth__benefits { display: grid; gap: 15px; margin: 27px 0 26px; padding: 0; list-style: none; color: #434957; font-size: .96rem; }
.careonyou-auth__benefits li { display: flex; align-items: flex-start; gap: 11px; }
.careonyou-auth__check { display: grid; flex: 0 0 22px; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: var(--coy-green); background: #eaf7f2; font-size: .8rem; font-weight: 800; }
.careonyou-auth__appointment { display: inline-flex; align-items: center; gap: 9px; color: var(--coy-ink) !important; text-decoration: none !important; font-weight: 750; }
.careonyou-auth__appointment:hover { color: var(--coy-red) !important; }
.careonyou-auth__panel { width: 100%; max-width: 520px; margin-left: auto; }
.careonyou-auth__form { width: 100%; padding: clamp(22px, 3vw, 38px); border: 1px solid rgba(32,35,45,.07); border-radius: 18px; background: #fff; box-shadow: 0 22px 58px rgba(24,40,70,.10); color: var(--coy-ink); }
.careonyou-auth__brand-logo { display: block; max-width: 190px; max-height: 88px; width: auto; height: auto; margin: 0 auto 22px; object-fit: contain; }
.careonyou-auth__form .kc-register-login-container,
.careonyou-auth__form .kc-register-login-form,
.careonyou-auth__form .kc-register-login-form > .card,
.careonyou-auth__form .kc-login-form,
.careonyou-auth__form .kc-register-form { width: 100%; max-width: none; }
.careonyou-auth__form .kc-login-form { display: block !important; height: auto !important; visibility: visible !important; opacity: 1 !important; }
.careonyou-auth__form .kc-login-form .custom-form-field { display: block; width: 100%; margin-bottom: 18px !important; }
.careonyou-auth__form .kc-login-form input.form-control { display: block; width: 100%; min-height: 48px; }
.careonyou-auth__form .kc-login-form .form-check,
.careonyou-auth__form .kc-login-form .forgot-pwd { visibility: visible; }
.careonyou-auth__form .card,
.careonyou-auth__form .card-body,
.careonyou-auth__form [class*="register-login"] { border-color: transparent; box-shadow: none; }
.careonyou-auth__form .card { background: transparent; }
.careonyou-auth__form .card-body { padding: 0; }
.careonyou-auth__form label { display: block; margin: 0 0 7px; color: #252a35; font-size: .9rem; font-weight: 650; }
.careonyou-auth__form input:not([type="checkbox"]):not([type="radio"]),
.careonyou-auth__form select,
.careonyou-auth__form textarea { min-height: 48px; border: 1px solid #dfe3eb !important; border-radius: 9px !important; background: #fff !important; color: #252a35; box-shadow: none !important; }
.careonyou-auth__form input:focus,
.careonyou-auth__form select:focus,
.careonyou-auth__form textarea:focus { border-color: #d87a8a !important; outline: 0; box-shadow: 0 0 0 3px rgba(197,40,66,.10) !important; }
.careonyou-auth__form input::placeholder { color: #a0a6b2; }
.careonyou-auth__form button:not(.close),
.careonyou-auth__form input[type="submit"],
.careonyou-auth__form .btn,
.careonyou-auth__form [class*="submit"] { border-color: var(--coy-red) !important; border-radius: 9px !important; color: #fff !important; background: var(--coy-red) !important; font-weight: 750; box-shadow: none; }
.careonyou-auth__form button:not(.close):hover,
.careonyou-auth__form input[type="submit"]:hover,
.careonyou-auth__form .btn:hover { border-color: var(--coy-red-dark) !important; background: var(--coy-red-dark) !important; }
.careonyou-auth__form a { color: var(--coy-red-dark); }
.careonyou-auth__form a:hover { color: var(--coy-red); }
.careonyou-auth__switch { margin: 16px 0 0; color: var(--coy-muted); text-align: center; font-size: .92rem; }
.careonyou-auth__switch a { color: var(--coy-red-dark); font-weight: 750; text-decoration: none; }
.careonyou-auth__switch a:hover { text-decoration: underline; }
.careonyou-auth__privacy { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0; color: #777d88; font-size: .78rem; text-align: center; }
.careonyou-auth__privacy span { color: var(--coy-green); font-size: .82rem; }
.careonyou-auth__fallback { text-align: center; }
.careonyou-auth__fallback h2 { margin: 0 0 8px; color: var(--coy-ink); font-size: 1.4rem; }
.careonyou-auth__fallback p { margin: 0 0 20px; color: var(--coy-muted); }
.careonyou-auth-template a:focus-visible, .careonyou-home a:focus-visible { outline: 3px solid #e8a0ac; outline-offset: 3px; }

/* Theme chrome: keep the existing menu items and footer content. */
body.careonyou-brand-page #main-header { position: relative; z-index: 20; background: #fff; border-bottom: 1px solid rgba(32,35,45,.08); box-shadow: 0 5px 20px rgba(32,35,45,.045); }
body.careonyou-brand-page #main-header img { max-height: 58px; width: auto; object-fit: contain; }
body.careonyou-brand-page nav.header-default-menu:not(.vertical-menu-layout) { background: #fff; border-bottom: 1px solid rgba(32,35,45,.06); }
body.careonyou-brand-page nav.header-default-menu:not(.vertical-menu-layout) a { color: #343947; font-weight: 650; transition: color .18s ease; }
body.careonyou-brand-page nav.header-default-menu:not(.vertical-menu-layout) a:hover,
body.careonyou-brand-page nav.header-default-menu:not(.vertical-menu-layout) .current-menu-item > a,
body.careonyou-brand-page nav.header-default-menu:not(.vertical-menu-layout) .current_page_item > a { color: var(--coy-red); }
body.careonyou-brand-page .iq-breadcrumb-two { padding-block: clamp(28px, 4vw, 50px); background: linear-gradient(120deg, #fff4f5 0%, #f7f8fc 100%); }
body.careonyou-brand-page .iq-breadcrumb-two h1 { margin: 0 0 8px; color: var(--coy-ink); font-size: clamp(1.8rem, 3.5vw, 2.5rem); font-weight: 750; letter-spacing: -.035em; }
body.careonyou-brand-page .iq-breadcrumb-two a { color: var(--coy-red-dark); }
body.careonyou-brand-page footer { margin-top: 0; border-top: 3px solid var(--coy-red); background: #f5f7fc; }
body.careonyou-brand-page footer h1,
body.careonyou-brand-page footer h2,
body.careonyou-brand-page footer h3,
body.careonyou-brand-page footer h4 { color: var(--coy-ink); font-weight: 750; }
body.careonyou-brand-page footer p,
body.careonyou-brand-page footer li,
body.careonyou-brand-page footer span { color: #5f6674; }
body.careonyou-brand-page footer a { color: #4f596b; text-decoration: none; transition: color .18s ease; }
body.careonyou-brand-page footer a:hover { color: var(--coy-red); }
body.careonyou-brand-page footer img { max-width: 180px; max-height: 82px; width: auto; height: auto; object-fit: contain; }
body.careonyou-brand-page footer svg,
body.careonyou-brand-page footer i { color: var(--coy-red); }

/* Full CareOnYou engagement page, rendered inside the active theme chrome. */
.careonyou-home { display: block; min-height: 0; padding: 0; overflow: clip; background: #fff; }
.careonyou-home__hero { position: relative; overflow: hidden; padding: clamp(58px, 7vw, 88px) 22px clamp(68px, 8vw, 100px); background: radial-gradient(ellipse at 88% 10%, rgba(255,220,225,.65), transparent 30%), linear-gradient(180deg, #fffdfc 0%, #fff 100%); }
.careonyou-home__hero::before { position: absolute; content: ''; width: 450px; height: 450px; right: -210px; top: 150px; border: 1px solid rgba(197,40,66,.08); border-radius: 50%; box-shadow: 0 0 0 45px rgba(197,40,66,.025), 0 0 0 90px rgba(197,40,66,.02); pointer-events: none; }
.careonyou-home__inner { position: relative; width: min(1120px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); align-items: center; gap: clamp(42px, 5vw, 64px); }
.careonyou-home__copy { max-width: 610px; }
.careonyou-home__copy h1 { max-width: 610px; margin: 22px 0 18px; font-size: clamp(2.65rem, 5vw, 4.35rem); font-weight: 820; line-height: 1.035; letter-spacing: -.065em; }
.careonyou-home__lead { max-width: 515px; font-size: 1.12rem; line-height: 1.72; }
.careonyou-home__actions { align-items: center; gap: 18px; margin-top: 30px; }
.careonyou-home__actions .careonyou-button { min-height: 54px; padding: 13px 24px; border-radius: 14px; }
.careonyou-home__text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--coy-ink) !important; font-weight: 700; text-decoration: none !important; }
.careonyou-home__text-link:hover { color: var(--coy-red-dark) !important; }
.careonyou-home__title-highlight { color: var(--coy-red); }
.careonyou-home__visual { position: relative; min-height: 490px; display: grid; place-items: center; isolation: isolate; }
.careonyou-home__visual::before { position: absolute; z-index: -1; content: ''; width: min(370px, 90%); aspect-ratio: 1; border-radius: 50%; background: linear-gradient(145deg, #ffeff1 4%, #fbe3dc 60%, #fff6e9 100%); }
.careonyou-home__privacy { position: absolute; z-index: 2; top: 28px; right: 0; display: flex; align-items: center; gap: 8px; padding: 12px 15px; border: 1px solid #e7f1ed; border-radius: 12px; color: #28765f; background: #fff; box-shadow: 0 10px 32px rgba(32,35,45,.09); font-size: .82rem; font-weight: 750; }
.careonyou-home__privacy span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #fff; background: #258b71; font-size: .7rem; }
.careonyou-phone { position: relative; z-index: 1; width: min(270px, 78vw); padding: 10px 14px 10px; border: 1px solid #f4e4e6; border-radius: 34px; outline: 9px solid #fff; background: #fff; box-shadow: 0 34px 80px rgba(74,34,47,.19), 0 3px 8px rgba(74,34,47,.06); transform: rotate(-4deg); }
.careonyou-phone__top { display: flex; align-items: center; justify-content: center; gap: 5px; height: 12px; margin-bottom: 13px; }
.careonyou-phone__top span:first-child { width: 34px; height: 4px; border-radius: 9px; background: #383e4c; }
.careonyou-phone__top span:nth-child(2) { width: 4px; height: 4px; border-radius: 50%; background: #383e4c; }
.careonyou-phone__brand { display: flex; align-items: center; gap: 9px; padding-bottom: 14px; border-bottom: 1px solid #edf0f4; }
.careonyou-phone__mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: #fff; background: var(--coy-red); font-size: .95rem; }
.careonyou-phone__brand b, .careonyou-phone__brand small { display: block; }
.careonyou-phone__brand b { color: #262a34; font-size: .88rem; }
.careonyou-phone__brand small { color: #818795; font-size: .67rem; }
.careonyou-phone__brand i { margin-left: auto; color: #959baa; font-size: .72rem; font-style: normal; letter-spacing: .1em; }
.careonyou-phone__welcome { display: grid; gap: 5px; padding: 18px 0 14px; }
.careonyou-phone__welcome small { color: #9a5361; font-size: .56rem; font-weight: 800; letter-spacing: .08em; }
.careonyou-phone__welcome b { color: #262a34; font-size: 1.13rem; }
.careonyou-phone__welcome span { color: #777e8b; font-size: .72rem; }
.careonyou-phone__tile { display: flex; align-items: center; gap: 9px; min-height: 59px; margin-bottom: 8px; padding: 9px; border: 1px solid #edf0f4; border-radius: 11px; }
.careonyou-phone__tile--featured { min-height: 74px; border-color: transparent; background: linear-gradient(125deg, #ce304d, #e34d65); box-shadow: 0 10px 22px rgba(197,40,66,.16); transform: rotate(-1deg); }
.careonyou-phone__tile--featured b,
.careonyou-phone__tile--featured small,
.careonyou-phone__tile--featured > i { color: #fff; }
.careonyou-phone__tile--featured .careonyou-phone__icon { color: #fff; background: rgba(255,255,255,.2); }
.careonyou-phone__icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: var(--coy-red-dark); background: #fff0f2; font-size: .93rem; }
.careonyou-phone__icon--green { color: #258b71; background: #edf8f4; }
.careonyou-phone__icon--blue { color: #4e72aa; background: #eef3fb; }
.careonyou-phone__tile b, .careonyou-phone__tile small { display: block; }
.careonyou-phone__tile b { color: #2e3340; font-size: .68rem; }
.careonyou-phone__tile small { margin-top: 2px; color: #808694; font-size: .56rem; line-height: 1.4; }
.careonyou-phone__tile > i { margin-left: auto; color: #a0a6b2; font-size: 1.2rem; font-style: normal; }
.careonyou-phone__nav { display: flex; justify-content: space-around; padding: 9px 0 0; border-top: 1px solid #edf0f4; color: #818795; text-align: center; font-size: .78rem; }
.careonyou-phone__nav span { display: grid; gap: 2px; }
.careonyou-phone__nav span:first-child { color: var(--coy-red); }
.careonyou-phone__nav small { font-size: .55rem; }
.careonyou-home__visual-caption { position: absolute; z-index: 2; bottom: 42px; left: 0; display: flex; align-items: center; gap: 8px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.8); border-radius: 16px; color: #414654; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(56,29,39,.12); font-size: .78rem; font-weight: 760; }
.careonyou-home__visual-caption span { color: var(--coy-red); }
.careonyou-home__section { padding: clamp(60px, 7vw, 92px) 22px; }
.careonyou-home__section-head { max-width: 750px; margin: 0 auto 42px; text-align: center; }
.careonyou-home__section-head h2, .careonyou-home__privacy-section h2, .careonyou-home__closing h2 { margin: 19px 0 12px; color: var(--coy-ink); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.1; }
.careonyou-home__section-head > p, .careonyou-home__privacy-section > div > p, .careonyou-home__closing > p { margin: 0; color: var(--coy-muted); font-size: 1.04rem; line-height: 1.75; }
.careonyou-home__benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; width: min(1120px, 100%); margin: 0 auto; }
.careonyou-benefit { min-height: 228px; padding: 28px; border: 1px solid #eaedf2; border-radius: 16px; background: #fff; box-shadow: 0 12px 34px rgba(26,39,66,.045); }
.careonyou-benefit__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: var(--coy-red-dark); background: var(--coy-red-soft); font-size: 1.25rem; font-weight: 800; }
.careonyou-benefit__icon--green { color: #258b71; background: #edf8f4; }
.careonyou-benefit__icon--blue { color: #4e72aa; background: #eef3fb; }
.careonyou-benefit h3, .careonyou-steps h3 { margin: 20px 0 8px; color: #272c38; font-size: 1.12rem; font-weight: 750; }
.careonyou-benefit p, .careonyou-steps p { margin: 0; color: var(--coy-muted); font-size: .94rem; line-height: 1.7; }
.careonyou-home__steps { background: #f7f8fb; }
.careonyou-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; width: min(1120px, 100%); margin: 0 auto; padding: 0; list-style: none; }
.careonyou-steps li { display: flex; gap: 16px; padding: 25px 21px; border: 1px solid #e9ebf0; border-radius: 15px; background: #fff; }
.careonyou-steps__number { flex: 0 0 45px; color: var(--coy-red); font-size: 1.4rem; font-weight: 850; letter-spacing: -.04em; }
.careonyou-steps h3 { margin: 1px 0 7px; }
.careonyou-home__note--center { justify-content: center; margin-top: 28px; }
.careonyou-home__appointment { display: flex; align-items: center; gap: 24px; width: min(1120px, calc(100% - 44px)); margin: 56px auto; padding: clamp(24px, 4vw, 38px); border: 1px solid #f1d9de; border-radius: 20px; background: linear-gradient(115deg, #fff3f5 0%, #fff 72%); box-shadow: 0 14px 38px rgba(49,35,55,.06); }
.careonyou-home__appointment-icon { display: grid; flex: 0 0 58px; width: 58px; height: 58px; place-items: center; border-radius: 17px; color: #fff; background: var(--coy-red); font-size: 2rem; font-weight: 500; box-shadow: 0 8px 20px rgba(197,40,66,.2); }
.careonyou-home__appointment-copy { flex: 1; min-width: 0; }
.careonyou-home__appointment-copy h2 { margin: 14px 0 7px; color: var(--coy-ink); font-size: clamp(1.35rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.2; }
.careonyou-home__appointment-copy p { margin: 0; color: var(--coy-muted); font-size: .98rem; line-height: 1.65; }
.careonyou-home__appointment > .careonyou-button { flex: 0 0 auto; }
.careonyou-home__signin { display: flex; align-items: center; justify-content: space-between; gap: 28px; width: min(1120px, calc(100% - 44px)); margin: 14px auto 42px; padding: clamp(24px, 3.5vw, 36px); border: 1px solid #f0dce0; border-radius: 18px; background: linear-gradient(112deg, #fff4f5 0%, #fff 75%); box-shadow: 0 12px 32px rgba(49,35,55,.05); }
.careonyou-home__signin-copy { flex: 1; min-width: 0; }
.careonyou-home__signin-copy h2 { margin: 13px 0 7px; color: var(--coy-ink); font-size: clamp(1.35rem, 2.5vw, 1.9rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.2; }
.careonyou-home__signin-copy p { max-width: 700px; margin: 0; color: var(--coy-muted); font-size: .96rem; line-height: 1.65; }
.careonyou-home__signin > .careonyou-button { flex: 0 0 auto; }
.careonyou-home__mobile-register { display: none; }
.careonyou-home__privacy-section { display: grid; grid-template-columns: 90px minmax(0, 700px); justify-content: center; gap: 28px; padding: clamp(58px, 7vw, 90px) 22px; background: linear-gradient(120deg, #fff8f8, #fff 64%, #f7f9fc); }
.careonyou-home__privacy-mark { display: grid; width: 76px; height: 76px; place-items: center; border: 9px solid #f9e3e7; border-radius: 50%; color: #fff; background: var(--coy-green); font-size: 1.6rem; font-weight: 800; }
.careonyou-home__privacy-section h2 { margin-top: 17px; }
.careonyou-home__privacy-section ul { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; color: #454b59; font-size: .94rem; }
.careonyou-home__privacy-section li { position: relative; padding-left: 27px; }
.careonyou-home__privacy-section li::before { position: absolute; left: 0; content: '✓'; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: #258b71; background: #eaf7f2; font-size: .7rem; font-weight: 800; }
.careonyou-home__faq { background: #fff; }
.careonyou-faq-list { width: min(850px, 100%); margin: 0 auto; border-top: 1px solid var(--coy-line); }
.careonyou-faq-list details { padding: 0 4px; border-bottom: 1px solid var(--coy-line); }
.careonyou-faq-list summary { position: relative; padding: 22px 36px 22px 0; color: #2b303c; cursor: pointer; font-size: 1rem; font-weight: 750; list-style: none; }
.careonyou-faq-list summary::-webkit-details-marker { display: none; }
.careonyou-faq-list summary::after { position: absolute; top: 20px; right: 3px; content: '+'; color: var(--coy-red); font-size: 1.35rem; font-weight: 500; }
.careonyou-faq-list details[open] summary::after { content: '−'; }
.careonyou-faq-list details p { max-width: 760px; margin: -4px 0 22px; color: var(--coy-muted); font-size: .95rem; line-height: 1.75; }
.careonyou-home__closing { padding: clamp(60px, 8vw, 100px) 22px; background: radial-gradient(ellipse at 50% 0%, rgba(255,211,219,.32), transparent 54%), #fff7f8; text-align: center; }
.careonyou-home__closing-mark { display: grid; width: 50px; height: 50px; margin: 0 auto 20px; place-items: center; border-radius: 15px; color: #fff; background: var(--coy-red); font-size: 1.2rem; box-shadow: 0 9px 22px rgba(197,40,66,.2); }
.careonyou-home__closing h2 { max-width: 800px; margin: 18px auto 12px; }
.careonyou-home__closing > p { max-width: 660px; margin: 0 auto; }
.careonyou-home__closing .careonyou-home__actions { justify-content: center; margin-top: 28px; }
.careonyou-home a:focus-visible { outline: 3px solid #e8a0ac; outline-offset: 3px; }

@media (max-width: 1024px) {
  body.careonyou-engagement-page { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
  body.careonyou-engagement-page .careonyou-home__mobile-register { position: fixed; z-index: 99999; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px max(18px, env(safe-area-inset-left, 0px)) calc(11px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #eadde0; background: rgba(255,255,255,.97); box-shadow: 0 -8px 26px rgba(31,39,58,.12); backdrop-filter: blur(12px); }
  body.careonyou-engagement-page .careonyou-home__mobile-register-copy { display: grid; min-width: 0; gap: 2px; color: var(--coy-ink); line-height: 1.25; }
  body.careonyou-engagement-page .careonyou-home__mobile-register-copy strong { font-size: .9rem; font-weight: 800; }
  body.careonyou-engagement-page .careonyou-home__mobile-register-copy small { color: var(--coy-muted); font-size: .78rem; }
  body.careonyou-engagement-page .careonyou-home__mobile-register > .careonyou-button { flex: 0 0 auto; min-height: 46px; padding: 10px 18px; white-space: nowrap; }
  .careonyou-home__signin { margin: 10px auto 34px; }
}

@media (max-width: 900px) {
  .careonyou-home__inner { grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr); gap: 25px; }
  .careonyou-home__visual { min-height: 450px; }
  .careonyou-home__privacy { right: -5px; }
  .careonyou-home__benefit-grid, .careonyou-steps { gap: 14px; }
  .careonyou-benefit { padding: 22px; }
  .careonyou-steps li { gap: 10px; padding: 20px 14px; }
}
@media (max-width: 700px) {
  body.careonyou-appointment-page .widgetOrders { width: calc(100% - 24px); margin-top: 20px !important; margin-bottom: 42px !important; }
  body.careonyou-provider-profile-page .kc-service-header { align-items: flex-start; flex-direction: column; }
  body.careonyou-provider-profile-page .kc-service-header .kc-book-appointment-button { width: 100%; }
  body.careonyou-provider-profile-page .kc-modal-dialog { width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px); border-radius: 14px; }
  body.careonyou-doctor-list-page .kc-doctor-archive { padding: 34px 0 52px; }
  body.careonyou-doctor-list-page .kc-doctor-archive > .container,
  body.careonyou-provider-profile-page .kc-single-wrap > .container { width: calc(100% - 30px); }
  body.careonyou-doctor-list-page .kc-doctor-filters-wrap { align-items: stretch; flex-direction: column; gap: 12px; margin-bottom: 22px !important; }
  body.careonyou-doctor-list-page .kc-doctor-search-box,
  body.careonyou-doctor-list-page .kc-filter-select-wrap,
  body.careonyou-doctor-list-page .kc-specialty-filter-wrap { width: 100%; min-width: 0; flex-basis: auto; }
  body.careonyou-doctor-list-page .kc-doctor-archive .kc-archive-loader-wrap > .row { row-gap: 16px; }
  body.careonyou-doctor-list-page .doctor-card-item { padding-right: 12px; padding-left: 12px; }
  body.careonyou-provider-profile-page .kc-single-wrap { padding: 28px 0 50px; }
  body.careonyou-provider-profile-page .kc-hero-card { align-items: flex-start; flex-direction: column; }
  body.careonyou-provider-profile-page .kc-hero-card .kc-book-appointment-button { width: 100%; }
  body.careonyou-clinics-page .kivicare-clinic-archive { padding: 34px 0 52px; }
  body.careonyou-clinics-page .kivicare-clinic-container { width: calc(100% - 30px); }
  body.careonyou-clinics-page .kivicare-clinic-top-bar { align-items: stretch; flex-direction: column; gap: 15px; margin-bottom: 22px; }
  body.careonyou-clinics-page .kivicare-clinic-filters-wrapper { flex: 0 1 auto; justify-content: flex-start !important; }
  body.careonyou-clinics-page .kivicare-service-search { max-width: none; }
  body.careonyou-clinics-page .kivicare-clinic-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.careonyou-clinics-page .kivicare-clinic-card { max-width: none; }
  body.careonyou-clinics-page .kivicare-clinic-image-wrapper { height: 205px; flex-basis: 205px; }
  body.careonyou-clinics-page .kivicare-clinic-info { padding: 19px !important; }
  .careonyou-home__hero { padding: 46px 18px 54px; }
  .careonyou-home__inner { grid-template-columns: 1fr; gap: 18px; }
  .careonyou-home__copy h1 { font-size: clamp(2.45rem, 11vw, 3.55rem); }
  .careonyou-home__visual { min-height: 465px; }
  .careonyou-home__privacy { top: 12px; right: 0; }
  .careonyou-home__visual-caption { bottom: 0; left: 0; }
  .careonyou-home__benefit-grid, .careonyou-steps { grid-template-columns: 1fr; max-width: 520px; }
  .careonyou-benefit { min-height: 0; }
  .careonyou-steps li { padding: 21px; }
  .careonyou-home__privacy-section { grid-template-columns: 1fr; gap: 20px; }
  .careonyou-home__privacy-mark { width: 60px; height: 60px; }
  .careonyou-home__signin { align-items: flex-start; flex-direction: column; gap: 18px; width: calc(100% - 34px); }
  .careonyou-home__signin > .careonyou-button { width: 100%; }
  .careonyou-home__appointment { width: calc(100% - 34px); flex-direction: column; align-items: flex-start; gap: 17px; margin: 34px auto; padding: 23px; }
  .careonyou-home__appointment > .careonyou-button { width: 100%; }
}
@media (max-width: 520px) {
  body.careonyou-engagement-page .careonyou-home__mobile-register { gap: 10px; padding-right: 14px; padding-left: 14px; }
  body.careonyou-engagement-page .careonyou-home__mobile-register-copy strong { font-size: .82rem; }
  body.careonyou-engagement-page .careonyou-home__mobile-register-copy small { display: none; }
  body.careonyou-engagement-page .careonyou-home__mobile-register > .careonyou-button { min-height: 44px; padding: 9px 14px; font-size: .88rem; }
  .careonyou-home__section { padding: 54px 17px; }
  .careonyou-home__section-head { margin-bottom: 30px; }
  .careonyou-home__section-head h2, .careonyou-home__privacy-section h2, .careonyou-home__closing h2 { font-size: clamp(1.85rem, 9vw, 2.5rem); }
  .careonyou-home__actions { display: grid; grid-template-columns: 1fr; }
  .careonyou-home__closing { padding: 56px 18px; }
  .careonyou-phone { width: min(270px, 84vw); }
}

@media (max-width: 900px) {
  .careonyou-home { min-height: 0; }
  .careonyou-home__inner { grid-template-columns: minmax(0, 1fr); gap: 36px; max-width: 680px; }
  .careonyou-home__card { justify-self: stretch; max-width: none; }
  .careonyou-auth__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; max-width: 680px; }
  .careonyou-auth__story { max-width: none; }
  .careonyou-auth__panel { max-width: none; margin: 0 auto; }
}
@media (max-width: 520px) {
  .careonyou-home { padding: 0; }
  .careonyou-home__copy h1 { font-size: clamp(2.45rem, 11vw, 3.55rem); }
  .careonyou-home__actions { display: grid; grid-template-columns: 1fr; }
  .careonyou-home__card { padding: 19px; border-radius: 16px; }
  .careonyou-home__feature { min-height: 88px; gap: 11px; padding: 15px 2px; }
  .careonyou-home__feature-icon { flex-basis: 43px; width: 43px; height: 43px; }
  .careonyou-home__feature small { font-size: .8rem; }
  .careonyou-auth-template { padding: 32px 15px 38px; }
  .careonyou-auth__grid { gap: 23px; }
  .careonyou-auth__story h1 { font-size: clamp(2.15rem, 11vw, 3rem); }
  .careonyou-auth__benefits { gap: 12px; font-size: .9rem; }
  .careonyou-auth__form { padding: 20px 16px; border-radius: 14px; }
}
