/* Clinic v4.3.22 — authoritative responsive layer loaded last in every UI. */

html,
body.public-shell,
body.admin-body,
body.secretary-body,
body.role-login,
body.error-page {
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  margin: 0;
  overflow-x: hidden;
  overflow-x: clip;
}

body.public-shell,
body.admin-body,
body.secretary-body,
body.role-login {
  font-family: var(--site-font-family, inherit);
}

body.public-shell *,
body.admin-body *,
body.secretary-body *,
body.role-login *,
body.error-page * {
  box-sizing: border-box;
}

body.public-shell main,
body.public-shell main > *,
body.public-shell .container,
body.public-shell .row,
body.public-shell .row > *,
body.admin-body .admin-shell,
body.admin-body .admin-wrapper,
body.admin-body .admin-content,
body.secretary-body .secretary-main,
body.secretary-body .secretary-container,
body.role-login .role-login-shell,
body.role-login .secretary-login-shell,
body.error-page .error-page-main,
body.error-page .error-page-card {
  min-width: 0;
  max-width: 100%;
}

body.public-shell img,
body.public-shell video,
body.public-shell canvas,
body.public-shell iframe,
body.admin-body img,
body.secretary-body img,
body.role-login img {
  max-width: 100%;
  height: auto;
}

body.public-shell input,
body.public-shell select,
body.public-shell textarea,
body.public-shell button,
body.admin-body input,
body.admin-body select,
body.admin-body textarea,
body.admin-body button,
body.secretary-body input,
body.secretary-body select,
body.secretary-body textarea,
body.secretary-body button,
body.role-login input,
body.role-login select,
body.role-login textarea,
body.role-login button {
  min-width: 0;
  max-width: 100%;
  font-family: var(--site-font-family, inherit);
}

body.public-shell code,
body.public-shell pre,
body.public-shell bdi,
body.public-shell [dir="ltr"],
body.admin-body code,
body.admin-body pre,
body.admin-body bdi,
body.secretary-body code,
body.secretary-body pre,
body.secretary-body bdi {
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.public-shell .container {
  width: min(1180px, calc(100% - 32px)) !important;
  margin-inline: auto;
}

body.public-shell .meet-brand,
body.public-shell .meet-brand > span:last-child,
body.public-shell .meet-nav-actions,
body.public-shell .meet-footer-grid > *,
body.public-shell .patient-card,
body.public-shell .panel-settings-card,
body.admin-body .admin-topbar-start,
body.admin-body .admin-topbar-titles,
body.admin-body .admin-topbar-actions,
body.secretary-body .secretary-brand,
body.secretary-body .secretary-account,
body.secretary-body .secretary-appointment-card > * {
  min-width: 0;
}

body.public-shell .table-responsive,
body.admin-body .table-responsive,
body.admin-body .admin-table-wrap,
body.secretary-body .table-responsive {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1199.98px) {
  body.public-shell .meet-nav-shell {
    gap: 14px;
  }

  body.public-shell .meet-desktop-menu a {
    padding-inline: 10px;
  }

  body.admin-body .page-builder-grid,
  body.admin-body .section-editor-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.admin-body .page-builder-sidebar,
  body.admin-body .section-editor-sidebar {
    position: static !important;
  }
}

@media (max-width: 991.98px) {
  body.public-shell .meet-desktop-menu,
  body.public-shell .meet-header-book {
    display: none !important;
  }

  body.public-shell .meet-nav-shell {
    gap: 8px;
  }

  body.public-shell .meet-brand {
    max-width: calc(100% - 106px);
  }

  body.public-shell .meet-brand > span:last-child {
    overflow: hidden;
  }

  body.public-shell .meet-brand strong,
  body.public-shell .meet-brand small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.public-shell .doctor-mobile-menu-button.meet-mobile-menu-button {
    flex: 0 0 44px;
    display: flex !important;
    width: 44px;
    height: 44px;
    align-items: stretch;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--vc-line, #d8e5e4);
    border-radius: 13px;
    background: #fff;
  }

  body.public-shell .doctor-mobile-menu-button.meet-mobile-menu-button span {
    display: block;
    width: 100%;
    height: 2px;
    min-height: 2px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: currentColor;
  }

  body.public-shell .doctor-mobile-drawer.meet-mobile-drawer {
    width: min(390px, calc(100vw - 24px));
    max-width: 100%;
    padding-bottom: env(safe-area-inset-bottom);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  body.public-shell .doctor-mobile-drawer__body,
  body.public-shell .doctor-mobile-drawer__nav,
  body.public-shell .doctor-mobile-drawer__contact,
  body.public-shell .doctor-mobile-drawer__account {
    min-width: 0;
    max-width: 100%;
  }

  body.public-shell .meet-home-hero,
  body.public-shell .doctor-about-section__grid,
  body.public-shell .doctor-faq-section__grid,
  body.public-shell .contact-modern-grid,
  body.public-shell .patient-portal-hero__inner,
  body.public-shell .patient-settings-grid,
  body.public-shell .patient-data-grid,
  body.public-shell .patient-recurring-layout,
  body.public-shell.booking-page-v4320 .booking-redesign-header,
  body.public-shell.booking-page-v4320 .booking-redesign-shell,
  body.public-shell.manual-payment-page .manual-payment-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-shell .meet-journey__grid,
  body.public-shell .doctor-about-feature-grid,
  body.public-shell .doctor-services-grid,
  body.public-shell .doctor-reviews-grid,
  body.public-shell .doctor-steps-grid,
  body.public-shell .sectioned-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.public-shell .meet-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-aside,
  body.public-shell.manual-payment-page .manual-payment-aside {
    position: static !important;
    top: auto !important;
  }

  body.admin-body .admin-wrapper {
    width: 100%;
    margin-inline: 0 !important;
  }

  body.admin-body .admin-sidebar {
    width: min(300px, calc(100vw - 24px));
    max-width: 100%;
  }

  body.secretary-body .secretary-topbar__inner {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body.secretary-body .secretary-booking-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.role-login.secretary-login-page .secretary-login-shell {
    grid-template-columns: minmax(0, 1fr);
    max-width: 560px;
  }

  body.role-login.secretary-login-page .secretary-login-intro {
    display: none;
  }
}

@media (max-width: 767.98px) {
  body.public-shell .container,
  body.public-shell .page-shell,
  body.public-shell .contact-modern-shell,
  body.public-shell .patient-portal-content,
  body.public-shell .meet-site-main > .py-5 > .container {
    width: calc(100% - 24px) !important;
    max-width: none !important;
  }

  body.public-shell .meet-nav-shell {
    min-height: 64px;
    height: 64px;
  }

  body.public-shell .site-logo {
    width: auto;
    max-width: min(132px, 39vw);
    max-height: 42px;
  }

  body.public-shell .meet-account-link {
    flex: 0 0 42px;
  }

  body.public-shell .doctor-mobile-drawer__header {
    gap: 8px;
    padding-inline: 14px;
  }

  body.public-shell .doctor-mobile-drawer__header .meet-brand {
    max-width: calc(100% - 48px);
  }

  body.public-shell .doctor-mobile-dock.meet-mobile-dock {
    right: 8px;
    left: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    width: auto;
    max-width: calc(100% - 16px);
    height: 64px;
    padding: 5px;
  }

  body.public-shell .doctor-mobile-dock.meet-mobile-dock > a {
    min-width: 0;
    overflow: hidden;
  }

  body.public-shell .doctor-mobile-dock.meet-mobile-dock > a > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.public-shell .meet-site-footer {
    margin: 0 !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }

  body.public-shell .meet-footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body.public-shell .meet-footer-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-bottom: 0 !important;
  }

  body.public-shell .meet-footer-bottom p {
    margin: 0;
  }

  body.public-shell .meet-footer-bottom > div {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  body.public-shell input:not([type="checkbox"]):not([type="radio"]),
  body.public-shell select,
  body.public-shell textarea,
  body.admin-body input:not([type="checkbox"]):not([type="radio"]),
  body.admin-body select,
  body.admin-body textarea,
  body.secretary-body input:not([type="checkbox"]):not([type="radio"]),
  body.secretary-body select,
  body.secretary-body textarea,
  body.role-login input:not([type="checkbox"]):not([type="radio"]),
  body.role-login select,
  body.role-login textarea {
    width: 100%;
    font-size: 16px !important;
  }

  body.public-shell .content-card-body,
  body.public-shell .auth-card-body,
  body.public-shell .receipt-card-body,
  body.public-shell .sectioned-content-card,
  body.public-shell .contact-modern-info,
  body.public-shell .contact-modern-form,
  body.public-shell .patient-card-body {
    padding-inline: 16px;
  }

  body.public-shell .meet-home-stage {
    width: 100%;
    min-height: 370px;
  }

  body.public-shell .meet-doctor-phone {
    width: min(72%, 330px);
    max-width: 100%;
  }

  body.public-shell .meet-journey__grid,
  body.public-shell .doctor-about-feature-grid,
  body.public-shell .doctor-services-grid,
  body.public-shell .doctor-reviews-grid,
  body.public-shell .doctor-steps-grid,
  body.public-shell .sectioned-feature-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-shell .panel-welcome,
  body.public-shell .detail-panel-head,
  body.public-shell .patient-section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  body.public-shell .panel-quick-actions,
  body.public-shell .panel-appointment-actions,
  body.public-shell .patient-form-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body.public-shell .panel-quick-actions > *,
  body.public-shell .panel-appointment-actions > *,
  body.public-shell .patient-form-actions > * {
    width: 100%;
  }

  body.public-shell .patient-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.public-shell .patient-appointment-card,
  body.public-shell .patient-form-grid,
  body.public-shell .patient-recurring-grid,
  body.public-shell .patient-recurring-aside {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-shell .patient-appointment-actions {
    grid-column: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  body.admin-body .admin-topbar {
    min-height: 64px;
    padding: 8px 10px;
  }

  body.admin-body .admin-content {
    width: 100%;
    padding: 12px 10px 26px !important;
  }

  body.admin-body .admin-topbar-actions {
    max-width: none;
    flex: 0 0 auto;
  }

  body.admin-body .admin-user-chip {
    display: none;
  }

  body.admin-body .admin-card,
  body.admin-body .settings-search-shell,
  body.admin-body .section-editor-card {
    width: 100%;
    border-radius: 14px;
  }

  body.admin-body .admin-card-header,
  body.admin-body .admin-card-body {
    padding: 14px;
  }

  body.admin-body .page-section-card__actions,
  body.admin-body .section-editor-actions,
  body.admin-body .settings-actions {
    width: 100%;
    flex-wrap: wrap;
  }

  body.secretary-body .secretary-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 9px;
    min-height: 0;
    padding: 9px 12px;
  }

  body.secretary-body .secretary-brand {
    max-width: calc(100% - 54px);
  }

  body.secretary-body .secretary-brand > span:last-child,
  body.secretary-body .secretary-brand strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.secretary-body .secretary-account__identity {
    display: none;
  }

  body.secretary-body .secretary-nav {
    order: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin: 0;
  }

  body.secretary-body .secretary-nav a {
    justify-content: center;
    min-width: 0;
  }

  body.secretary-body .secretary-main {
    width: 100%;
    padding: 16px 0 34px !important;
  }

  body.secretary-body .secretary-container {
    width: calc(100% - 20px) !important;
  }

  body.secretary-body .secretary-page-header,
  body.secretary-body .secretary-form-card__head,
  body.secretary-body .secretary-shift-strip {
    align-items: stretch;
    flex-direction: column;
  }

  body.secretary-body .secretary-toolbar form,
  body.secretary-body .secretary-booking-layout,
  body.secretary-body .secretary-form-grid,
  body.secretary-body .secretary-appointment-card,
  body.secretary-body .secretary-booking-aside {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.secretary-body .secretary-appointment-card__time {
    align-items: flex-start;
    min-height: 0;
    padding: 12px 14px;
    border-inline: 0;
    border-bottom: 1px solid var(--sec-line, #dce7ee);
    text-align: start;
  }

  body.secretary-body .secretary-appointment-card__action {
    grid-column: auto;
    padding: 14px;
    border-inline: 0;
    border-top: 1px solid var(--sec-line, #dce7ee);
  }

  body.secretary-body .secretary-form-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body.secretary-body .secretary-form-actions > *,
  body.secretary-body .secretary-toolbar .btn,
  body.secretary-body .secretary-page-header .btn {
    width: 100%;
  }

  body.role-login {
    min-height: 100dvh;
    padding: 10px;
  }

  body.role-login .role-login-shell,
  body.role-login .secretary-login-shell {
    width: 100%;
    min-height: 0;
  }

  body.role-login .role-login-panel,
  body.role-login .secretary-login-card {
    min-height: 0;
    padding: 22px 16px;
    border-radius: 18px;
  }

  body.error-page .error-page-main {
    min-height: 100dvh;
    padding: 12px;
  }

  body.error-page .error-page-card {
    width: min(100%, 620px);
    padding: 24px 16px;
    border-radius: 18px;
  }

  body.error-page .error-page-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.error-page .error-page-actions > * {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  body.public-shell .container,
  body.public-shell .page-shell,
  body.public-shell .contact-modern-shell,
  body.public-shell .patient-portal-content,
  body.public-shell .meet-site-main > .py-5 > .container {
    width: calc(100% - 16px) !important;
  }

  body.public-shell .meet-brand {
    max-width: calc(100% - 98px);
    gap: 8px;
  }

  body.public-shell .meet-brand__mark {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
  }

  body.public-shell .site-logo {
    max-width: min(116px, 35vw);
    max-height: 38px;
  }

  body.public-shell .meet-account-link,
  body.public-shell .doctor-mobile-menu-button.meet-mobile-menu-button {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  body.public-shell .meet-footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.public-shell .meet-home-trust {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.public-shell .meet-home-trust > div {
    min-width: 0;
    padding-inline: 5px;
  }

  /* Booking form: one flow, readable steps, no nested mobile boxes. */
  body.public-shell.booking-page-v4320 .booking-redesign-page {
    padding: 16px 0 92px;
  }

  body.public-shell.booking-page-v4320 .clinic-booking-container {
    width: calc(100% - 12px) !important;
    max-width: none !important;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-header,
  body.public-shell.booking-page-v4320 .booking-redesign-shell,
  body.public-shell.booking-page-v4320 .booking-redesign-aside,
  body.public-shell.booking-page-v4320 .booking-redesign-form,
  body.public-shell.booking-page-v4320 .booking-redesign-time-grid,
  body.public-shell.booking-page-v4320 .booking-redesign-service-grid,
  body.public-shell.booking-page-v4320 .booking-payment-choice-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-header {
    gap: 12px;
    margin-bottom: 12px;
  }

  body.public-shell.booking-page-v4320 .clinic-booking-title h1 {
    font-size: clamp(1.45rem, 8.8vw, 2rem);
  }

  body.public-shell.booking-page-v4320 .booking-redesign-card {
    padding: 8px !important;
    border-radius: 16px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 6px !important;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps > i {
    display: none !important;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    justify-content: stretch;
    gap: 7px;
    min-height: 50px;
    padding: 6px;
    text-align: start;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step > span {
    width: 28px;
    height: 28px;
    min-width: 28px;
    flex-basis: 28px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step strong {
    display: block;
    font-size: 0.68rem;
    line-height: 1.5;
    white-space: normal;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step small {
    display: none;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-section {
    padding: 11px !important;
    border-radius: 13px;
    box-shadow: none;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-section__header {
    margin-bottom: 9px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-date-field,
  body.public-shell.booking-page-v4320 .booking-redesign-slot-field,
  body.public-shell.booking-page-v4320 .booking-redesign-description {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-slot-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-slot-grid button,
  body.public-shell.booking-page-v4320 .booking-redesign-slot-grid .booking-slot,
  body.public-shell.booking-page-v4320 .booking-redesign-slot-grid .slot-btn {
    width: 100%;
    min-width: 0;
    padding-inline: 3px;
    white-space: normal;
  }

  body.public-shell.booking-page-v4320 .booking-payment-gateway {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 9px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-submitbar,
  body.public-shell.booking-page-v4320 .booking-redesign-submitbar .clinic-booking-submitbar__actions,
  body.public-shell.booking-page-v4320 .booking-success-v4320__facts,
  body.public-shell.booking-page-v4320 .booking-success-v4320__steps,
  body.public-shell.booking-page-v4320 .booking-success-v4320__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  body.public-shell.booking-page-v4320 .booking-submit-button,
  body.public-shell.booking-page-v4320 .booking-success-v4320__actions > *,
  body.public-shell.booking-page-v4320 .booking-success-v4320__actions .btn {
    width: 100%;
    min-width: 0;
  }

  body.public-shell.booking-page-v4320 .booking-success-v4320 {
    width: 100%;
    padding: 13px;
    border-radius: 16px;
  }

  body.public-shell.booking-page-v4320 .booking-success-v4320__header {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  body.public-shell.booking-page-v4320 .booking-success-v4320__status {
    grid-column: 1 / -1;
    justify-self: stretch;
    text-align: center;
  }

  body.public-shell.booking-page-v4320 .booking-success-v4320__code {
    display: grid !important;
    gap: 6px;
  }

  /* Manual payment and long card values. */
  body.public-shell.manual-payment-page .manual-payment-container {
    width: calc(100% - 12px) !important;
  }

  body.public-shell.manual-payment-page .manual-payment-hero,
  body.public-shell.manual-payment-page .manual-payment-layout,
  body.public-shell.manual-payment-page .manual-payment-details,
  body.public-shell.manual-payment-page .manual-payment-aside {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.public-shell.manual-payment-page .manual-payment-hero,
  body.public-shell.manual-payment-page .manual-payment-card,
  body.public-shell.manual-payment-page .manual-payment-aside > section {
    padding: 13px;
    border-radius: 15px;
  }

  body.public-shell.manual-payment-page .manual-payment-amount,
  body.public-shell.manual-payment-page .manual-copy-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  body.public-shell.manual-payment-page .manual-payment-amount button,
  body.public-shell.manual-payment-page .manual-copy-row button {
    width: 100%;
    min-height: 40px;
  }

  body.public-shell.manual-payment-page .manual-copy-row strong,
  body.public-shell.manual-payment-page .manual-payment-tracking strong {
    direction: ltr;
    text-align: start;
    word-break: break-all;
  }

  body.public-shell.manual-payment-page .manual-upload-field {
    align-items: flex-start;
    min-height: 108px;
    padding: 13px;
  }

  body.public-shell .patient-portal-actions,
  body.public-shell .patient-appointment-actions,
  body.public-shell .patient-stat-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.admin-body .admin-topbar-titles > * {
    max-width: 44vw;
  }

  body.admin-body .page-section-card__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.admin-body .page-section-card__actions > *,
  body.admin-body .page-section-card__actions .btn,
  body.admin-body .page-section-card__actions form {
    width: 100%;
  }

  body.secretary-body .secretary-container {
    width: calc(100% - 12px) !important;
  }

  body.secretary-body .secretary-form-card__head,
  body.secretary-body .secretary-booking-form,
  body.secretary-body .secretary-appointment-card__main,
  body.secretary-body .secretary-appointment-card__action {
    padding: 13px;
  }

  body.secretary-body .secretary-service-row,
  body.secretary-body .secretary-patient-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  body.secretary-body .secretary-month-calendar {
    width: 100%;
    overflow: hidden;
  }

  body.secretary-body .secretary-month-calendar__grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  body.secretary-body .secretary-month-calendar__grid > * {
    min-width: 0;
    padding-inline: 2px;
    font-size: 0.64rem;
  }

  body.role-login .role-login-links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    text-align: center;
  }
}

@media (max-width: 389.98px) {
  body.public-shell .meet-brand small,
  body.public-shell .doctor-mobile-drawer__header .meet-brand small {
    display: none;
  }

  body.public-shell .meet-mobile-dock.meet-mobile-dock > a {
    font-size: 0.54rem;
  }

  body.public-shell .meet-mobile-dock.meet-mobile-dock svg {
    width: 18px;
    height: 18px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-slot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 5px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step > span {
    width: 26px;
    height: 26px;
    min-width: 26px;
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps .clinic-booking-step strong {
    font-size: 0.62rem;
  }

  body.public-shell .auth-subtabs,
  body.public-shell .detail-grid,
  body.public-shell .utility-detail-grid,
  body.secretary-body .checkin-options,
  body.secretary-body .secretary-stat-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.admin-body .admin-topbar-actions .btn,
  body.admin-body .btn-nav-ghost {
    padding-inline: 8px;
  }
}

@media (max-width: 319.98px) {
  body.public-shell .container,
  body.public-shell .page-shell,
  body.public-shell .contact-modern-shell,
  body.public-shell .patient-portal-content,
  body.public-shell .meet-site-main > .py-5 > .container,
  body.public-shell.booking-page-v4320 .clinic-booking-container,
  body.public-shell.manual-payment-page .manual-payment-container,
  body.secretary-body .secretary-container {
    width: calc(100% - 8px) !important;
  }

  body.public-shell .meet-account-link {
    display: none;
  }

  body.public-shell .meet-brand {
    max-width: calc(100% - 48px);
  }

  body.public-shell.booking-page-v4320 .booking-redesign-steps {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.secretary-body .secretary-nav a {
    padding-inline: 6px;
  }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 991.98px) {
  body.public-shell .doctor-mobile-drawer.meet-mobile-drawer {
    max-height: 100dvh;
  }

  body.public-shell .doctor-mobile-drawer__body {
    padding-block: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.public-shell *,
  body.admin-body *,
  body.secretary-body *,
  body.role-login * {
    scroll-behavior: auto !important;
  }
}

@media print {
  body.public-shell,
  body.admin-body,
  body.secretary-body,
  body.role-login,
  body.error-page {
    min-width: 0 !important;
    overflow: visible !important;
  }
}
