/* =====================================================================
   Apple Human Interface Guidelines – Best Practices als eigene Schicht.
   Das Erscheinungsbild bleibt, es ändern sich nur Bedienbarkeit,
   Lesbarkeit und Systemverhalten.
   ===================================================================== */

/* Kontrast (HIG: Accessibility › Color and effects – mind. 4,5:1 für Text) */
:root{--brass-text:#7E5D2E}
.eyebrow,.tp-n,.c-kicker,.cf-l,.adh-k,.nw-m,.day-w,.trip-f label,.bkc-l,.g3d-k,.kicker,.dest-tag,.wf-need{color:var(--brass-text)}
.dark .eyebrow,.c-dark .c-kicker{color:var(--brass-lt)}
.bk-dl dd{color:var(--muted)}

/* Lesbarkeit (HIG: Typography – kleine Texte nicht unter 13 pt, Labels gut lesbar) */
.trip-f label,.cs-f label,.cf-l,.adh-k,.nw-cta-k,.day-w,.c-th,.bkc-l,.g3d-badge,.jp-meta dt{font-size:max(13px,calc(var(--s) * 13px))}
.g3d .g3d-src{font-size:12px}

/* Touch-Ziele mind. 44 × 44 pt (HIG: Buttons, Layout) */
.brand{min-height:44px;padding:4px 0}
.crumbs a,.ft a,.ft-bot a,.linkish,.lnk,.c-link,.np-back a,.g3d-more,.jr-go,.rg-go{display:inline-flex;align-items:center;min-height:44px}
.crumbs a{padding:0 2px}
.g3d-mode button,.g3d .g3d-legend button,.tp-chip,.bk-chip span,.nw-filter a{min-height:44px}
.g3d-reset{width:48px;height:48px}
.cs-f input,.cs-f select{min-height:44px}
.ab{min-height:44px}
.hp-tel,.need-tel,.bkc-tel,.jp-line,.c-calls a,.call{min-height:48px}

/* Eingabefelder: 16 px verhindert das Hineinzoomen auf dem iPhone (HIG: Text fields) */
input,select,textarea{font-size:max(16px,1em)}
.trip-f select,.cs-f input,.cs-f select{font-size:max(16px,calc(var(--s) * 16px))}

/* Rückmeldung beim Antippen statt grauer Kästen (HIG: Feedback) */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,label,select,[role=button]{touch-action:manipulation}
.btn,.p2,.bk-opt,.bk-day,.bk-chip,.tp-chip,.g3d-legend button,.g3d-mode button,.sz-find,.ic-btn,.ab{transition:transform .12s ease,background-color .2s,box-shadow .2s}
.btn:active,.ic-btn:active,.ab:active,.tp-chip:active,.g3d-legend button:active,.g3d-mode button:active{transform:scale(.97)}
:is(.dest-a,.adh a,.nw a,.rg-teaser,.jp-more a,.bk-opt):active{transform:scale(.985)!important}

/* Hover nur bei echtem Zeiger – auf Touch-Geräten bleibt sonst der Hover-Zustand „kleben“ */
@media (hover:none){
  .dest-a:hover,.adh a:hover,.nw a:hover,.rg-teaser:hover,.bk-opt:hover{transform:none;box-shadow:none}
  .dest-a:hover .dest-img img,.tg button:hover img{transform:none}
}

/* Safe Areas: Inhalte nicht unter Notch, Rundungen oder Home-Indikator (HIG: Layout) */
.wrap{padding-left:max(clamp(18px,4vw,56px),env(safe-area-inset-left));padding-right:max(clamp(18px,4vw,56px),env(safe-area-inset-right))}
.sz-pill{bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));right:max(16px,env(safe-area-inset-right))}
.rd-bar{bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}
@media (max-width:900px){.sz-pill{bottom:calc(84px + env(safe-area-inset-bottom))}}

/* Anker-Sprünge landen nicht unter dem fixierten Kopfbereich */
html{scroll-padding-top:110px}
.hx-sec,.tp-st,[id]{scroll-margin-top:110px}

/* Systemeinstellungen übernehmen (HIG: Accessibility) */
@media (prefers-contrast: more){
  html:not(.hc){--muted:#2E332E;--line:#9A8F7C;--line-2:#6E6450;--brass-text:#6A4C22}
  html:not(.hc) .btn-line,html:not(.hc) .inp{border-width:2px}
}
@media (prefers-reduced-transparency: reduce){
  .g3d-badge,.g3d-mode,.g3d-reset,.g3d .g3d-legend button,.g3d .g3d-info,.g3d-pin{backdrop-filter:none;background:#fff}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .btn:active,.ic-btn:active,.ab:active{transform:none}
}

/* Text auswählbar, Bedienelemente nicht (wie native Apps) */
.btn,.ab,.ic-btn,.tp-chip,.g3d-legend button,.g3d-mode button,.bk-opt,.bk-chip,.bk-day,.sz-pill{-webkit-user-select:none;user-select:none}
.brand{min-width:44px}
.c-pos a,.c-init a,.c-empty a{display:inline-flex;align-items:center;min-height:44px}
/* Primäre Aktionen nie verdecken */
body:has(.bk-form,.cf-form:focus-within,.b-form:focus-within) .sz-pill{display:none}
/* Inhalt zuerst: Barrierefrei-Leiste auf dem Handy als eine wischbare Zeile */
@media (max-width:760px){
  .util-in{flex-wrap:nowrap;gap:8px}
  .abar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:6px 0;margin-right:calc(-1 * max(18px,env(safe-area-inset-right)));padding-right:18px;scroll-snap-type:x proximity}
  .abar::-webkit-scrollbar{display:none}
  .abar>*{flex:none;scroll-snap-align:start}
  .util-tag{flex:none;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:760px){.sz-band{display:none}}
