header { flex-wrap:wrap; height:auto; min-height:72px; }
header > nav { order:10; min-width:0; width:100%; max-width:100%; flex:1 1 100%; justify-content:flex-start; overflow-x:auto; }
header > nav > a,header > nav > button { flex-shrink:0; }
#categories button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
#categories.expanded button { display:flex; }
#categories button svg { display:block; width:32px; height:32px; flex:0 0 32px; }
#categories button span { display:block; font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
/* Shared responsive rules for the live homepage and member/admin screens. */
@media (max-width: 900px) {
  header { height:auto; min-height:68px; padding:12px 16px; gap:10px; flex-wrap:wrap; }
  header > .brand { margin-right:auto; max-width:100%; }
  header > nav { order:10; flex:1 1 100%; width:100%; max-width:100%; min-width:0; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; gap:18px; padding-bottom:4px; scrollbar-width:thin; }
  header > nav > a, header > nav > button { flex-shrink:0; min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
  header > nav > a { padding:10px 0; }
  header > .language-link { min-height:44px; display:inline-flex; align-items:center; font-size:13px; }
  header > button { min-height:44px; font-size:13px; }
  .account-shell, .account-panel, .field-grid > *, .manage-toolbar > *, .showcase-item { min-width:0; }
}
@media (max-width: 760px) {
  body { font-size:14px; line-height:1.55; }
  input,select,textarea,.account-panel input:not([type=checkbox]),.account-panel select,.account-panel textarea { font-size:16px; max-width:100%; }
  input,select,button,.button { min-height:44px; }
  button,.button { font-size:14px; line-height:1.4; padding:11px 14px; max-width:100%; white-space:normal; }
  input[type=checkbox],input[type=radio] { min-height:0; width:20px; height:20px; flex:0 0 20px; }
  .account-panel label { font-size:14px; }
  .account-shell { width:100%; padding:16px 12px; }
  .account-panel { padding:18px 16px; margin:16px 0; }
  .account-shell h1 { font-size:clamp(24px,6vw,30px); line-height:1.3; overflow-wrap:anywhere; }
  .account-shell h2 { font-size:21px; overflow-wrap:anywhere; }
  .account-shell p,.account-shell a,.account-shell strong { overflow-wrap:anywhere; }
  .field-grid { grid-template-columns:1fr; gap:0; }
  .admin-toolbar { flex-wrap:wrap; align-items:stretch; gap:12px; }
  .admin-toolbar > label { width:100%; }
  .application-card dl { grid-template-columns:1fr; }
  .application-card dd { margin-bottom:10px; }
  .manage-toolbar label { min-width:0!important; flex:1 1 100%!important; }
  .manage-toolbar button { width:100%; }
  .manage-stats { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .manage-stats p { padding:12px!important; margin:0; overflow-wrap:anywhere; }
  .contact-card { padding:16px!important; }
  .contact-card button,.ad-actions button { display:block; width:100%; margin:10px 0 0!important; }
  .ad-actions { flex-direction:column; }
  .pricing-table { display:block; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
  .pricing-table th,.pricing-table td { padding:12px; min-width:105px; }
  #auth-tabs,#auth-help { flex-wrap:wrap; white-space:normal; justify-content:flex-start; gap:12px; }
  #auth-tabs a,#auth-help a { display:inline-flex; align-items:center; min-height:44px; }
  #auth-form > button { width:100%; margin:8px 0; }
  #toggle-password { display:block; width:100%; margin:6px 0 0; }
  #search { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px; gap:8px; margin:-70px 12px 0; }
  #search input { font-size:16px; grid-column:1/-1; width:100%; min-width:0; padding:12px 8px; }
  #search select { width:100%; min-width:0; max-width:100%; font-size:16px; padding:10px 4px; }
  #search button { grid-column:1/-1; width:100%; font-size:15px; }
  .hero h1 { font-size:clamp(25px,6.5vw,30px); line-height:1.25; overflow-wrap:anywhere; }
  .hero p { font-size:14px; }
  .eyebrow { font-size:10px; }
  .notice { font-size:11px; line-height:1.5; padding:8px 12px; }
  .sectionhead { flex-wrap:wrap; align-items:flex-start; gap:10px; }
  .sectionhead h2 { font-size:21px; }
  #results { font-size:13px; }
  .person h3 { font-size:18px; }
  .person .body { padding:16px; }
  .person .body p { font-size:14px; }
  .person .body .button { display:flex; align-items:center; justify-content:center; }
  #categories,#categories.expanded { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #categories button { font-size:12px; min-height:84px; padding:8px 5px; overflow-wrap:anywhere; }
  #categories button:first-line { font-size:24px; }
  .offers h3 { font-size:18px; }
  .offers p { font-size:14px; }
  .showcase-gallery { grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))!important; }
  .showcase-gallery img { max-width:100%; }
  .showcase-product-grid { grid-template-columns:1fr!important; }
  .showcase-preview-body { padding:16px!important; }
  dialog { width:calc(100% - 24px); max-width:560px; max-height:90dvh; overflow:auto; padding:20px; }
}
@media (max-width: 480px) {
  .cards,.cards:not(:has(.person:nth-child(3))) { grid-template-columns:minmax(0,1fr); gap:16px; }
  .cards .cover,.cards:not(:has(.person:nth-child(3))) .cover { height:180px; }
  .individual-prices { grid-template-columns:1fr; }
  #add-actions { display:grid; gap:10px; }
  #add-actions button { width:100%; }
}
.haybis-language-picker { display:inline-flex; align-items:center; gap:6px; margin:6px; font-size:13px; flex-shrink:0; }
.haybis-language-picker select { background:#fff; color:#17355c; border:1px solid #ccd7e5; border-radius:9px; padding:8px; min-height:44px; max-width:165px; }
@media(max-width:600px) { .haybis-language-picker span { display:none; } .haybis-language-picker select { max-width:140px; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; } }
/* Compact shared language control and mobile navigation. */
header{position:relative;z-index:20}
.haybis-language-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:78px;min-height:42px;margin:0 0 0 auto;padding:6px 10px;border:1px solid #8baccc66;border-radius:22px;background:#ffffff0c;color:#fff;flex:0 0 auto;line-height:1}
.haybis-language-picker .haybis-language-icon{display:inline;font-size:20px;line-height:1}
.haybis-language-picker .haybis-language-current{display:inline;font-size:12px;font-weight:700;letter-spacing:.6px}
.haybis-language-picker .haybis-language-chevron{display:inline;font-size:15px}
.haybis-language-picker select{position:absolute!important;inset:0;opacity:0;cursor:pointer;width:100%!important;max-width:none!important;height:100%;min-height:42px;margin:0!important;padding:0!important;border:0!important;font-size:16px}
.haybis-language-picker:focus-within{outline:3px solid #78b8ff;outline-offset:3px}
.haybis-menu-toggle{display:none}
@media(max-width:900px){
 header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:68px;padding:10px 12px}
 header>.brand{order:0;flex:1 1 auto;min-width:0;max-width:calc(100% - 136px);gap:8px;font-size:20px;margin:0}
 header>.brand .monogram{font-size:34px}
 header>.brand small{font-size:7px;letter-spacing:1.5px}
 header>.haybis-language-picker{order:2;margin:0;min-width:76px;min-height:44px}
 header>.haybis-menu-toggle{order:3;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;border:1px solid #8baccc66;border-radius:12px;background:#ffffff0c;color:white;font-size:23px;line-height:1}
 header>.language-link,header>#join{display:none!important}
 header>nav{display:none!important;position:absolute;top:calc(100% - 1px);left:12px;right:12px;width:auto;max-width:none;min-width:0;margin:0;padding:12px;background:#123451;border:1px solid #8baccc66;border-radius:0 0 14px 14px;box-shadow:0 12px 28px #061a2c33;max-height:72dvh;overflow-x:hidden;overflow-y:auto;gap:6px}
 header[data-menu-open=true]>nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
 header>nav>a,header>nav>button{font-size:13px;line-height:1.35;white-space:normal;min-height:44px;padding:10px;border-radius:8px;max-width:100%;min-width:0;overflow-wrap:anywhere;margin:0;text-align:left;justify-content:flex-start}
 header>nav>a:hover{background:#ffffff12}
}
@media(max-width:400px){header>.brand{font-size:18px}header>.brand small{display:none}header>.haybis-language-picker{gap:5px;min-width:70px;padding:6px 8px}}
#search{flex-wrap:wrap}
#search #country-mode{max-width:230px;font-size:12px}
.ad-targets{border:1px solid #ccdcec;border-radius:12px;padding:16px;margin:18px 0;background:#f7faff}
.ad-targets legend{font-weight:700;padding:0 6px}.ad-targets summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.ad-target-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;max-height:260px;overflow:auto;padding:8px}
.ad-target-choices label{display:flex!important;align-items:center;gap:8px;min-height:40px;margin:0!important}
.ad-target-choices input{flex:0 0 18px;width:18px!important;margin:0!important}
#ad-target-summary{font-size:13px;overflow-wrap:anywhere;color:#2168bd}
.ad-search{flex-wrap:wrap}
@media(max-width:760px){#search #country-mode{max-width:none;width:100%;grid-column:1/-1;font-size:14px}.ad-target-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-targets{padding:12px}.ad-search>label{min-width:0;width:100%}}

/* Account actions remain visible as controls in every interface language. */
#auth-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 26px;padding:0;font-size:0}
#auth-tabs a,#auth-help a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box;padding:12px 20px;border:1px solid #c3d5ea;border-radius:12px;background:#f5f9ff;color:#205b9f;text-decoration:none;font-size:15px;font-weight:650;line-height:1.4;text-align:center;transition:background .15s,border-color .15s;overflow-wrap:anywhere}
#auth-tabs a{flex:1 1 150px}
#auth-tabs a[aria-current=page]{background:#2168bd;border-color:#2168bd;color:#fff;box-shadow:0 4px 12px #2168bd20}
#auth-tabs a:hover,#auth-help a:hover{background:#e6f0fc;border-color:#2168bd}
#auth-tabs a[aria-current=page]:hover{background:#19569d}
#auth-tabs a:focus-visible,#auth-help a:focus-visible,.account-cta:focus-visible{outline:3px solid #d7a94c;outline-offset:3px}
#auth-help{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
#auth-help p{margin:0;flex:1 1 210px}
#auth-help a{width:100%;min-height:44px;font-size:13px;background:#fff;padding:10px 14px}
header>.account-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border:1px solid #b5cce5;border-radius:10px;background:#f2f7ff;color:#205b9f;text-decoration:none;font-weight:600}
.account-access-prompt{grid-column:1/-1;padding:22px;border:1px solid #ccdeef;border-radius:14px;background:#f4f8fd}
.account-access-prompt p{margin:0 0 16px}.account-access-prompt .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:#2168bd;color:#fff;text-decoration:none;border-radius:10px;padding:11px 20px;font-weight:650}
@media(max-width:600px){#auth-tabs{gap:8px}#auth-tabs a{flex:1 1 0;min-width:0;padding:12px 8px;font-size:14px}#auth-help p{flex-basis:100%}.account-access-prompt{padding:18px}.account-access-prompt .button{width:100%;box-sizing:border-box}}

/* Wrap the complete desktop navigation instead of clipping it horizontally. */
@media(min-width:901px){header>nav{flex-wrap:wrap;overflow:visible;white-space:normal;gap:4px 12px;padding:6px 0 10px;align-items:stretch}header>nav>a,header>nav>button{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 10px;font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}}
header>nav>.nav-register{background:#2168bd;border:1px solid #7aa7d9;border-radius:9px;padding:10px 14px;color:white}
.account-access-prompt>.button{margin:6px 10px 0 0}.account-access-prompt>.button.outline{background:white;color:#2168bd}
@media(max-width:600px){.account-access-prompt>.button{margin:8px 0 0}}

/* Mobile-first comfort: a compact search, readable labels and reachable actions. */
.mobile-visitor-actions{display:none}
.search-filter-panel,.mobile-filter-fields,.search-query-label,.mobile-filter-fields>label{display:contents}
.search-filter-panel>summary,.search-field-name,#country-mode-hint{display:none}
@media(max-width:760px){
 html{scroll-padding-top:88px}
 body{font-size:15px;line-height:1.6}
 header{position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #09274420}
 header>.haybis-menu-toggle{width:48px;flex-basis:48px;min-height:48px;font-size:25px}
 header>.haybis-language-picker{min-height:48px;min-width:76px}
 header>nav{max-height:calc(100dvh - 160px);padding:12px;gap:8px;overscroll-behavior:contain;scrollbar-width:thin}
 header>nav>a,header>nav>button{min-height:48px;font-size:14px;padding:12px;border:1px solid #ffffff18;background:#ffffff06;line-height:1.45}
 header>nav>.nav-register{grid-column:1/-1;text-align:center;justify-content:center;font-weight:700}
 header>nav>a:active{background:#ffffff20}
 .hero{min-height:0;padding:28px 20px 48px;background-image:linear-gradient(90deg,#092744c2,#09274452),url('assets/hero.webp')}
 .hero h1{font-size:clamp(25px,6.5vw,30px);line-height:1.35;letter-spacing:0;margin-bottom:16px}
 .hero h1 br{display:initial}.hero p{font-size:15px;line-height:1.7}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.7px}
 #search{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:-22px 8px 0;padding:16px;border-radius:16px;box-shadow:0 6px 24px #09274416}
 .search-query-label{display:block;grid-column:1/-1;min-width:0}
 .search-field-name{display:block;font-size:14px;line-height:1.45;font-weight:600;color:#153754;margin-bottom:7px}
 #search input,#search select{width:100%;max-width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #bfd0e1;border-radius:10px;font-size:16px;line-height:1.4;grid-column:auto;background:#fff;color:#173956}
 #search button{min-height:52px;border-radius:10px;font-size:16px;font-weight:650;margin:0;grid-column:1/-1}
 .search-filter-panel{display:block;grid-column:1/-1;min-width:0;padding-top:2px}
 .search-filter-panel>summary{display:list-item;list-style-position:inside;min-height:48px;padding:12px;border:1px solid #d0dfec;border-radius:10px;background:#f2f7fc;font-size:14px;font-weight:600;cursor:pointer;color:#1c5c9f}
 .mobile-filter-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px}
 .mobile-filter-fields>label{display:block;min-width:0;margin:0}
 #country-mode-hint{display:block;font-size:12px;line-height:1.5;color:#526b80;margin-top:6px}
 #search #country-mode{font-size:16px}
 .benefits{padding:22px 12px 18px;font-size:12px;gap:14px;line-height:1.6}
 #people,#sectors{padding:18px 10px;margin-top:8px}.sectionhead h2,#sectors h2{font-size:22px;line-height:1.4}
 .sectionhead .text,#reset{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;border:1px solid #bfd2e6;border-radius:10px;background:white;color:#175caa;font-size:14px;white-space:normal}
 .account-access-prompt{padding:20px;border-radius:14px}.account-access-prompt h3{font-size:18px;line-height:1.5}.account-access-prompt p{font-size:15px;line-height:1.7;color:#38556e}
 button,.button{border-radius:10px;min-height:48px;font-size:15px}input,select,textarea{min-height:48px}
 input[type=checkbox],input[type=radio]{min-height:0;width:22px;height:22px;flex-basis:22px}
 #auth-tabs a,#auth-help a{min-height:50px;font-size:15px}.account-panel label{font-size:15px}.account-panel textarea{min-height:130px}
 #categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#categories button{min-height:100px;border-radius:12px;padding:12px 8px}#categories button span{font-size:13px;line-height:1.45}
 aside section{padding:20px}aside h2{font-size:21px;line-height:1.4}.welcome p,.city-section p,.event-panel p{font-size:14px;line-height:1.7}
 body:has(.mobile-visitor-actions){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 .mobile-visitor-actions{align-items:stretch;position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:.85fr 1fr 1.3fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));margin:0;background:#fffffff5;border-top:1px solid #cbdceb;box-shadow:0 -4px 20px #14375414;white-space:normal}
 .mobile-visitor-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 6px;border:1px solid #bfd2e6;border-radius:10px;color:#205b9f;font-size:13px;font-weight:650;line-height:1.35;text-align:center;overflow-wrap:anywhere;background:#f4f8fd}
 .mobile-visitor-actions .mobile-register{background:#2168bd;border-color:#2168bd;color:#fff}
 body:has(input:focus,textarea:focus,select:focus) .mobile-visitor-actions{display:none}
}
@media(max-width:480px){#categories,#categories.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}}
