/* Tapu24 mobile web 2.1.0. Scoped overrides; desktop presentation stays intact. */
.t24-mobile-menu-toggle { display:none; }
.t24-web-header [hidden] { display:none!important; }
@media screen and (max-width:767px) {
  .t24-web-main { padding:18px max(12px,env(safe-area-inset-right)) 28px max(12px,env(safe-area-inset-left)); }
  .t24-web-header { padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left)); gap:12px; }
  .t24-web-header[data-t24-mobile-ready] { min-height:72px; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"brand toggle"; }
  .t24-web-header[data-t24-mobile-expanded] { grid-template-areas:"brand toggle" "controls controls" "nav nav"; }
  .t24-web-header>.t24-brand img { width:40px; height:40px; }
  .t24-web-header>.t24-brand strong { font-size:22px; }
  .t24-web-header>.t24-brand small { display:none; }
  .t24-mobile-menu-toggle { grid-area:toggle; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:9px 12px; border:1px solid var(--t24-divider); border-radius:12px; background:var(--t24-surface); color:var(--t24-title); font:inherit; cursor:pointer; }
  .t24-mobile-menu-toggle svg { width:20px; height:20px; flex:none; }
  .t24-web-header .t24-header-controls { justify-content:flex-start; gap:8px; }
  .t24-web-header .t24-main-nav { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; gap:4px; padding-block:4px; }
  .t24-web-header .t24-main-nav a { flex:none; min-height:44px; padding:10px 12px; }
  .t24-web-header .t24-header-controls :is(.t24-button,.t24-icon-button),
  .t24-web-header .t24-header-language select { min-height:44px; }
  .t24-web-header .t24-header-controls .t24-icon-button { width:44px; padding:10px; }
  .t24-web-header .t24-header-language select { max-width:112px; font-size:16px; }
  .t24-web :is(input:not([type=hidden],[type=checkbox],[type=radio]),textarea,select) { font-size:16px; max-width:100%; }
  .t24-web :is(.t24-mobile-menu-toggle,.t24-main-nav a):focus-visible { outline:3px solid var(--t24-primary); outline-offset:2px; }
  :root .t24-web .t24-toast { inset-inline:12px; bottom:max(12px,env(safe-area-inset-bottom)); max-width:none; padding:12px 16px; transform:none; }
  .t24-web .t24-prose { overflow-wrap:anywhere; }
  .t24-web .t24-prose table { display:block; overflow-x:auto; max-width:100%; }
  #tapu24-app .t24-hero { grid-template-columns:minmax(0,1fr); padding:20px; gap:16px; border-radius:18px; }
  #tapu24-app .t24-hero>div { min-width:0; }
  #tapu24-app .t24-hero>img { width:96px; height:96px; justify-self:center; }
  #tapu24-app .t24-hero h1 { font-size:clamp(26px,7vw,32px); }
  #tapu24-app .t24-hero .t24-form { flex-wrap:wrap; gap:10px; }
  #tapu24-app .t24-hero .t24-form-grid { flex:1 1 100%; min-width:0; }
  #tapu24-app .t24-hero .t24-form-actions { width:100%; margin:0; }
  #tapu24-app .t24-hero .t24-form-actions>.t24-btn { width:100%; }
  #tapu24-app :is(.t24-form,.t24-panel,.t24-business-card,.t24-menu-card) { padding:16px; }
  #tapu24-app .t24-form-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  #tapu24-app .t24-detail-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  #tapu24-app .t24-detail-aside { position:static; padding:18px; }
  #tapu24-app .t24-auth { grid-template-columns:minmax(0,1fr); gap:16px; }
  #tapu24-app .t24-auth-art { padding:20px; }
  #tapu24-app .t24-auth-art img { width:80px; margin:8px; }
  #tapu24-app .t24-auth-content { padding:20px 16px; }
  #tapu24-app .t24-category { min-height:108px; padding:16px; gap:12px; }
  #tapu24-app .t24-category>div { min-width:0; overflow-wrap:anywhere; }
  #tapu24-app .t24-category-icon { width:72px; height:68px; flex:0 0 72px; }
  #tapu24-app .t24-category-icon img { width:72px; height:68px; object-fit:contain; }
  #tapu24-app :is(.t24-types,.t24-unit-grid,.t24-quote-grid,.t24-menu-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #tapu24-app .t24-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  #tapu24-app .t24-stats>a { min-width:0; padding:12px 8px; }
  #tapu24-app .t24-stats strong { font-size:26px; overflow-wrap:anywhere; }
  #tapu24-app .t24-stats span { overflow-wrap:anywhere; font-size:13px; }
  #tapu24-app .t24-reward { display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; padding:16px; }
  #tapu24-app .t24-reward-icon svg { width:36px; height:36px; }
  #tapu24-app .t24-reward>strong { grid-column:1/-1; min-width:0; text-align:start; font-size:26px; }
  #tapu24-app .t24-thread { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; padding:14px; }
  #tapu24-app .t24-thread>div { min-width:0; overflow-wrap:anywhere; }
  #tapu24-app .t24-thread>small { grid-column:2/-1; }
  #tapu24-app .t24-spec>div { gap:12px; padding:12px; }
  #tapu24-app .t24-spec :is(dt,dd) { min-width:0; overflow-wrap:anywhere; }
  #tapu24-app .t24-map.t24-property-map.large { height:clamp(320px,65vh,520px); height:clamp(320px,65dvh,520px); }
  #tapu24-app .t24-field input:not([type=hidden],[type=checkbox],[type=radio]),
  #tapu24-app .t24-field textarea,#tapu24-app .t24-field select,
  #tapu24-app .t24-auth-form .t24-field input:not([type=hidden],[type=checkbox],[type=radio]),
  #tapu24-app .t24-filter-body .t24-field input:not([type=hidden],[type=checkbox],[type=radio]),
  .t24-dialog .t24-choice-search { font-size:16px; max-width:100%; }
  #tapu24-app input[type=file] { min-width:0; width:100%; max-width:100%; }
  #tapu24-app .t24-media-grid>div { min-width:0; max-width:100%; }
  #tapu24-app .t24-media-grid img { max-width:100%; height:auto; aspect-ratio:22/15; }
  #tapu24-app .t24-messages { padding:12px; }
  #tapu24-app .t24-message { max-width:92%; padding:12px; }
  #tapu24-app .t24-pagination { flex-wrap:wrap; gap:12px; }
  #tapu24-app :is(.t24-filter-close,.t24-view-switch .t24-btn,.t24-map-preview-close) { min-width:44px; min-height:44px; }
  .t24-web .t24-gallery-control,.t24-web .t24-gallery-modal-control { min-width:44px; min-height:44px; }
  .t24-web .t24-contact-card .t24-support-field :is(input,textarea,select) { font-size:16px; }
  .t24-web .t24-support :is(.t24-support-icon-button,.t24-support-send) { width:44px; height:44px; flex:none; }
  .t24-web .t24-support-composer { align-items:flex-end; }
}
@media screen and (max-width:600px) {
  .t24-web .t24-support-panel { height:var(--t24-support-visible-height,calc(100dvh - 16px)); bottom:var(--t24-support-visible-bottom,8px); }
  .t24-web .t24-support { bottom:max(12px,env(safe-area-inset-bottom)); }
  .t24-web .t24-support-launcher { min-height:44px; }
}
@media screen and (max-width:560px) {
  #tapu24-app :is(.t24-categories,.t24-card-grid,.t24-business-grid,.t24-unit-grid,.t24-quote-grid,.t24-menu-grid,.t24-types) { grid-template-columns:minmax(0,1fr); }
  #tapu24-app .t24-card-list .t24-card-link,
  #tapu24-app .t24-market-results .t24-card-list .t24-card-link { grid-template-columns:minmax(0,1fr); }
  #tapu24-app .t24-card-list .t24-card-link>img,
  #tapu24-app .t24-card-list .t24-card-link>.t24-image-empty,
  #tapu24-app .t24-market-results .t24-card-list .t24-card-link>img,
  #tapu24-app .t24-market-results .t24-card-list .t24-card-link>.t24-image-empty { height:auto; min-height:0; max-height:none; aspect-ratio:16/10; }
  #tapu24-app .t24-card-list .t24-card-copy { padding:16px 16px 64px; }
  #tapu24-app .t24-business-profile-cards.is-list .t24-business-profile-card>a,
  #tapu24-app .t24-business-profile-cards.is-list .t24-business-profile-card>div { grid-template-columns:minmax(0,1fr); }
  #tapu24-app .t24-business-profile-cards.is-list .t24-business-profile-card-media { min-block-size:0; aspect-ratio:16/10; }
  #tapu24-app .t24-business-profile-cards.is-list .t24-business-profile-card-copy { padding:16px; }
  #tapu24-app .t24-types>a { padding:16px; }
  #tapu24-app .t24-shortcuts>.t24-btn,#tapu24-app .t24-form-actions>.t24-btn { flex:1 1 100%; }
}
