/* MostHelt V3.2 — Global contrast + mobile app shell
   Loaded last on rendered pages. Desktop is intentionally conservative;
   the stronger layout rules apply only on mobile widths. */
:root{
  --mh-app-ink:#173d35;
  --mh-app-body:#4e625c;
  --mh-app-muted:#687a74;
  --mh-app-green:#087c69;
  --mh-app-green-deep:#0c4f45;
  --mh-app-mint:#e9f6f1;
  --mh-app-canvas:#f4f8f6;
  --mh-app-surface:#ffffff;
  --mh-app-line:#dbe7e2;
  --mh-app-shadow:0 14px 40px rgba(15,66,56,.10);
  --mh-app-safe-bottom:env(safe-area-inset-bottom,0px);
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  background:var(--mh-app-canvas);
}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{font:inherit}
input,select,textarea{color:var(--mh-app-ink)}
input::placeholder,textarea::placeholder{color:#758680;opacity:1}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(8,124,105,.28)!important;
  outline-offset:3px!important;
}

/* Prevent generic legacy rules from turning copy dark on deliberately dark surfaces. */
:where(
  .mh3-ai-card,.mh3-footer,.mh-auth-story,
  .sales-final-cta .container,.cg-hero-side,.mh-comparebar,
  .panel-card.dark,.clinic-contact,.dt-footer
){color:#e9f4f0!important}
:where(
  .mh3-ai-card,.mh3-footer,.mh-auth-story,
  .sales-final-cta .container,.cg-hero-side,.mh-comparebar,
  .panel-card.dark,.clinic-contact,.dt-footer
) :where(h1,h2,h3,h4,h5,h6,strong,b){color:#fff!important}
:where(
  .mh3-ai-card,.mh3-footer,.mh-auth-story,
  .sales-final-cta .container,.cg-hero-side,.mh-comparebar,
  .panel-card.dark,.clinic-contact,.dt-footer
) :where(p,small,li){color:#c8dbd5!important}
:where(.mh3-footer,.dt-footer) a{color:#c8dbd5!important}
:where(.mh3-footer,.dt-footer) a:hover{color:#fff!important}
.mh3-ai-card>a,.mh-auth-story a,.cg-hero-side>a,.sales-final-cta .container>a{color:#fff}

/* App docks are generated by assets/js/mosthelt-global-ui-v3.2.js. */
.mh-mobile-app-dock,.mh-mobile-portal-dock{display:none}

@media(max-width:820px){
  html{background:var(--mh-app-canvas)}
  body{
    min-width:0;
    background:var(--mh-app-canvas);
    overscroll-behavior-y:none;
    -webkit-tap-highlight-color:transparent;
  }
  body.mh-has-app-dock{
    padding-bottom:calc(82px + var(--mh-app-safe-bottom))!important;
  }

  /* iOS-like form ergonomics: no zoom-on-focus, comfortable tap targets. */
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{
    min-height:46px;
    font-size:16px!important;
    border-radius:13px;
  }
  button,a[class*="btn"],a[class*="button"],button[class*="btn"],button[class*="button"]{
    min-height:44px;
  }
  button,a{-webkit-touch-callout:none}

  /* General mobile card language, without changing component colors. */
  :where(.mh-card,.panel-card,.metric-card,.filter-card,.safe-card,.doctor-result-card,
    .mh13-card,.mh13-booking-card,.cg-card,.sec-card,.legal-sec-card,.public-form-card,
    .setup-card,.portal-entry-card){
    border-radius:18px!important;
  }

  /* Sticky headers should feel like native app bars and stay readable. */
  :where(.mh3-header,.results-header,.mh-top,.cg-header,.sec-header,.mh13-header,
    .directory-header,.site-header,.sales-nav-wrap,.auth-top,.portal-topbar){
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
  }

  /* Stop long labels/tables from creating page-wide horizontal scrolling. */
  :where(.portal-content,.results-main,.mh-main,.cg-public main,.security-page main,.sales-page main){min-width:0}
  :where(.panel-table,.mh-compare-table,.sales-compare){max-width:100%}
  .panel-table-wrap,.sales-compare-wrap,.mh-compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Public mobile app dock */
  .mh-mobile-app-dock{
    position:fixed;
    z-index:9990;
    left:10px;
    right:10px;
    bottom:calc(8px + var(--mh-app-safe-bottom));
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    min-height:68px;
    padding:6px;
    border:1px solid rgba(205,222,215,.95);
    border-radius:22px;
    background:rgba(255,255,255,.94);
    box-shadow:0 18px 55px rgba(10,59,50,.18);
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px);
  }
  .mh-mobile-app-dock a{
    position:relative;
    min-width:0;
    min-height:56px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:4px 2px;
    border-radius:15px;
    color:#7b8e87!important;
    text-decoration:none!important;
    font-size:13.5px!important;
    line-height:1.1;
    font-weight:750;
  }
  .mh-mobile-app-dock a svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mh-mobile-app-dock a.active{color:var(--mh-app-green)!important;background:#edf8f4}
  .mh-mobile-app-dock a.active:before{content:"";position:absolute;top:2px;width:20px;height:3px;border-radius:999px;background:var(--mh-app-green)}

  /* Portal dock: clinic/admin/doctor/citizen panels get app navigation too.
     Danışan already has its own dedicated 5-tab mobile app bar. */
  .portal-page:not(.portal-danisan).mh-has-app-dock .portal-content{
    padding-bottom:calc(96px + var(--mh-app-safe-bottom))!important;
  }
  .portal-page:not(.portal-danisan) .mh-mobile-portal-dock{
    position:fixed;
    z-index:9991;
    left:8px;
    right:8px;
    bottom:calc(7px + var(--mh-app-safe-bottom));
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:70px;
    padding:6px;
    border:1px solid rgba(205,222,215,.95);
    border-radius:22px;
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 55px rgba(10,59,50,.20);
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px);
  }
  .mh-mobile-portal-dock a,.mh-mobile-portal-dock button{
    position:relative;
    min-width:0;
    min-height:56px!important;
    border:0;
    border-radius:14px;
    background:transparent;
    color:#7a8d87!important;
    text-decoration:none!important;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:3px 2px;
    font-size:13px!important;
    line-height:1.05;
    font-weight:750;
    overflow:hidden;
  }
  .mh-mobile-portal-dock a>i{width:23px;height:23px;display:grid;place-items:center;font-style:normal}
  .mh-mobile-portal-dock svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mh-mobile-portal-dock a>span,.mh-mobile-portal-dock button>span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mh-mobile-portal-dock a.active{color:var(--mh-app-green)!important;background:#edf8f4}
  .mh-mobile-portal-dock .nav-count{position:absolute;top:2px;right:8px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border-radius:999px;background:#e74b4b;color:#fff!important;font-size:12.5px}
  .mh-mobile-portal-dock a>em{display:none}
  .mh-mobile-portal-dock button{cursor:pointer}
  .mh-mobile-portal-dock button>i{width:22px;height:22px;display:grid;place-items:center;font-style:normal;font-size:22px;line-height:1;color:var(--mh-app-ink)}

  /* Home page mobile polish */
  .mh-home-v3 .mh3-shell{width:min(100% - 24px,1180px)!important}
  .mh-home-v3 .mh3-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.93)!important;border-bottom:1px solid var(--mh-app-line)}
  .mh-home-v3 .mh3-menu{border-color:#d8e5e0!important;background:#f7faf8!important}
  .mh-home-v3 .mh3-menu span{background:#23453e!important}
  .mh-home-v3 .mh3-nav.open{max-height:calc(100dvh - 92px);overflow:auto}
  .mh-home-v3 .mh3-search{border-radius:20px!important;box-shadow:0 14px 38px rgba(17,73,62,.09)!important}
  .mh-home-v3 .mh3-search-row{gap:9px!important}
  .mh-home-v3 .mh3-search-btn{min-height:52px!important}
  .mh-home-v3 .mh3-ai-card{border-radius:24px!important}
  .mh-home-v3 .mh3-footer{padding-bottom:30px!important}

  /* Search/profile/SEO pages: one-column, edge-friendly cards on phones. */
  .results-page .results-layout,.mosthelt-search-v3 .results-layout,.mh-growth .mh-grid{grid-template-columns:1fr!important}
  .results-page .filters-panel,.mosthelt-search-v3 .filters-panel,.mh-growth .mh-side{position:static!important}
  .results-page .doctor-result-card,.mosthelt-search-v3 .doctor-result-card{max-width:100%}
  .mh-growth .mh-topin,.mh-growth .mh-grid,.mh-growth .mh-hero>.mh-wrap,.mh-growth .mh-footer>.mh-wrap{width:calc(100% - 24px)!important}
}

@media(max-width:560px){
  .mh-mobile-app-dock{left:7px;right:7px;bottom:calc(6px + var(--mh-app-safe-bottom));border-radius:20px}
  .mh-mobile-app-dock a{font-size:13px!important}
  .portal-page:not(.portal-danisan) .mh-mobile-portal-dock{left:6px;right:6px;bottom:calc(5px + var(--mh-app-safe-bottom));border-radius:20px}

  /* Better readable floor for small-screen supporting copy. */
  :where(.inner-page,.mh-growth,.security-page,.cg-public,.sales-page,.ai-product-page,.appointment-page,
    .directory-page,.directory-profile-page,.results-page,.mh13-profile-page) p{
    line-height:1.58;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* v3.3 · Admin-managed social media footer */
.mh-social-footer{grid-column:1/-1;width:100%;margin-top:28px;padding:22px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-top:1px solid rgba(128,183,168,.22);box-sizing:border-box}
.mh-social-footer-inner{width:min(100%,1180px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.mh-social-footer-label{font-size:13px;font-weight:800;letter-spacing:.01em;color:inherit;opacity:.78}
.mh-social-footer-icons{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.mh-social-footer-icons a{margin-left:0!important;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;text-decoration:none!important;color:#fff!important;background:#0b7f6b;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 22px rgba(4,63,53,.14);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.mh-social-footer-icons a:hover{transform:translateY(-2px);background:#096c5c;box-shadow:0 12px 28px rgba(4,63,53,.2)}
.mh-social-footer-icons a:focus-visible{outline:3px solid rgba(92,211,181,.45);outline-offset:3px}
.mh-social-footer-icons svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mh-social-footer-icons svg path{fill:currentColor;stroke:none}
.mh-social-footer-icons svg .cutout{fill:#0b7f6b;stroke:none}
.mh-social-footer-icons a:hover svg .cutout{fill:#096c5c}
.mh-social-footer-icons svg .fill-dot{fill:currentColor;stroke:none}
.mh3-footer .mh-social-footer,.sec-footer .mh-social-footer,.portal-footer .mh-social-footer,.site-footer .mh-social-footer{color:#dce9e5}
@media(max-width:640px){.mh-social-footer{margin-top:22px;padding-top:18px}.mh-social-footer-inner{align-items:flex-start;flex-direction:column;gap:12px}.mh-social-footer-icons{gap:8px}.mh-social-footer-icons a{width:44px;height:44px;border-radius:14px}}


/* ================================================================
   MostHelt V2.6.1 — Global Typography Normalization
   2026-08-30
   Purpose: remove unreadably small interface copy while preserving
   miniature product illustrations and printable clinical documents.
   ================================================================ */
:root{
  --mh-type-body:15px;
  --mh-type-ui:14px;
  --mh-type-small:12px;
  --mh-type-label:13px;
}
body:not(.mh-hospital-document){font-size:var(--mh-type-body);line-height:1.55}
:where(input,select,textarea,button){line-height:1.35}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:15px}

/* Runtime/admin screens: these classes are reading surfaces, not decorative mockups. */
:where(.portal-page,.setup-page,.auth-page) :where(.form-help,.panel-empty p){font-size:12px!important;line-height:1.5}
:where(.portal-page,.setup-page,.auth-page) :where(.panel-table th){font-size:12px!important;line-height:1.35}
:where(.portal-page,.setup-page,.auth-page) :where(.panel-table td){font-size:13.5px!important;line-height:1.5}
:where(.portal-page,.setup-page,.auth-page) :where(.panel-table td small){font-size:12px!important}
:where(.portal-page,.setup-page,.auth-page) :where(.status-badge,.portal-pill,.eyebrow){font-size:12px!important;line-height:1.2}
:where(.portal-page,.setup-page,.auth-page) :where(.action-button,.portal-button){font-size:13.5px!important}
:where(.portal-page,.setup-page,.auth-page) :where(.action-button.small){font-size:12.5px!important}

/* Cumulative updater / setup center specifically shown in the reported screenshot. */
.setup-page .setup-card>h2{font-size:clamp(30px,3vw,40px);line-height:1.1;max-width:820px}
.setup-page .setup-lead{font-size:15px!important;line-height:1.65;max-width:1040px}
.setup-page .task-row{min-height:62px;padding:12px 14px;gap:12px}
.setup-page .task-row>span{width:34px;height:34px;font-size:14px!important}
.setup-page .task-row b{font-size:14px!important;line-height:1.35}
.setup-page .task-row small{font-size:12px!important;line-height:1.4}
.setup-page .task-row em{font-size:12px!important;line-height:1.4}
.setup-page .legal-note b{font-size:14px!important}
.setup-page .legal-note p{font-size:13px!important;line-height:1.55}
.setup-page .setup-head>span{font-size:12px!important}

/* Keep mobile navigation readable without letting five-tab docks wrap. */
@media(max-width:820px){
  .mh-mobile-app-dock a{font-size:10.5px!important}
  .mh-mobile-portal-dock a,.mh-mobile-portal-dock button{font-size:10px!important}
  .mh-mobile-portal-dock .nav-count{font-size:9px!important}
}
@media(max-width:560px){
  .mh-mobile-app-dock a{font-size:10px!important}
  .mh-mobile-portal-dock a,.mh-mobile-portal-dock button{font-size:9.5px!important}
}
