/* EstateBid v1.5.0 | Mobile-first responsive layer. Keep this file after site.css. */
:root { --mobile-nav-height: 72px; --safe-bottom: env(safe-area-inset-bottom, 0px); }
html { min-width: 0; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { width: 100%; min-width: 0; overflow-x: clip; }
main, section, .container, .panel, .property-card, .stat, .auth-card, .console-primary, .console-secondary,
.auction-live-primary, .auction-live-side, .auction-main, .auction-side { min-width: 0; }
.container { width: min(1280px, calc(100% - 48px)); }
:is(.panel, .notice, .flash, .property-content, .auth-story, .page-top, .dash-title, .console-top) { overflow-wrap: anywhere; }
:is(h1,h2,h3,p) { max-width: 100%; }
input, select, textarea, button { max-width: 100%; min-width: 0; }
input[type="checkbox"], input[type="radio"] { flex: none; }
input[type="file"] { min-width:0; max-width:100%; }
.form-grid, .form-grid.single { min-width: 0; }
.form-grid > * { min-width: 0; }
.form-grid label { overflow-wrap: anywhere; }
.btn { min-height: 42px; overflow-wrap: anywhere; }
.btn:disabled, button:disabled { cursor: not-allowed; }
.nav-wrap { gap: 14px; }
.brand { min-width: 0; max-width: 100%; }
.brand > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.brand > span:last-child small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.private-badge { flex: none; }
.site-header { isolation: isolate; }
.site-header .nav { min-width:0; }
.section, .future-console { min-width:0; }
.hero-grid, .auth-area, .details-grid, .auction-grid, .console-grid, .auction-live-grid { min-width:0; }
.hero-grid > *, .auth-area > *, .details-grid > *, .auction-grid > *, .console-grid > *, .auction-live-grid > * { min-width:0; }
.properties-grid, .steps-grid, .stat-grid, .kyc-grid { min-width:0; }
.properties-grid > *, .steps-grid > *, .stat-grid > *, .kyc-grid > * { min-width:0; }
.property-content h3, .watch-name, .identity-line strong, .kv strong { overflow-wrap: anywhere; }
.console-top, .section-heading, .dash-title, .page-top, .panel-top { min-width:0; }
.console-top > *, .section-heading > *, .dash-title > *, .panel-top > * { min-width:0; }
.console-top .btn { max-width:100%; }
.watch-row, .identity-line, .kv { min-width:0; }
.watch-price { flex: 0 0 auto; }
.watch-price strong { overflow-wrap:anywhere; }
.live-countdown-card strong, .big-live-price, .bid-board-number { overflow-wrap:anywhere; font-variant-numeric: tabular-nums; }
.live-feed { min-width:0; }
.feed-person { min-width:0; overflow-wrap:anywhere; }
.feed-amount { min-width:0; white-space:normal; text-align:right; overflow-wrap:anywhere; }
.live-insights > div { min-width:0; }
.live-insights strong { overflow-wrap:anywhere; }
.badge { max-width:100%; white-space:normal; text-align:center; }
.inline-form, .role-change-form { max-width:100%; }
.role-change-form select { width:auto; flex: 1 1 130px; margin-top:0; }
.role-change-form .btn { flex: 1 1 85px; }
.action-row, .stack-actions { min-width:0; }
.action-row > *, .stack-actions > * { min-width:0; }
.action-row .btn { max-width:100%; }
.table-panel { min-width:0; }
.table-scroll {
  width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scrollbar-color:#477b98 #10243b;
}
.table-scroll:focus-visible { outline:3px solid #3be4c7; outline-offset:2px; }
.table-scroll table { width:max(100%, 690px); min-width:690px; table-layout:auto; }
.table-scroll th, .table-scroll td { vertical-align:top; }
.table-scroll td { overflow-wrap:anywhere; }
.table-scroll td .btn { white-space:normal; }
.table-scroll td .stack-actions { min-width:160px; }
.table-scroll td .role-change-form { min-width:190px; }
.table-scroll td small { display:block; overflow-wrap:anywhere; }
.table-scroll-scrollhint { display:none; }
.tabs { max-width:100%; scrollbar-width:thin; }
.tabs a { flex:0 0 auto; }
.mobile-bottom-nav { display:none; }
.menu-backdrop { display:none; }
.menu-backdrop[hidden] { display:none !important; }

@media (max-width: 1180px) {
  .container { width: min(1180px, calc(100% - 36px)); }
  .nav { gap:12px; }
  .nav a { font-size:12px; }
  .nav-user { max-width:180px; overflow-wrap:anywhere; }
  .properties-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .console-grid { grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr); }
  .auction-live-grid { grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr); }
  .live-main-screen { padding:24px; }
  .hero-grid { gap:4%; }
}

/* Switch to a real touch navigation before desktop links begin to overflow. */
@media (max-width: 1100px) {
  .nav-wrap { min-height:70px; }
  .menu-button { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; min-width:44px; min-height:44px; font-size:23px; z-index:2; }
  .nav {
    position:fixed; top:70px; left:0; right:0; bottom:auto; z-index:110;
    width:100%; max-height:calc(100dvh - 70px); overflow:auto;
    display:none; flex-direction:column; align-items:stretch; gap:4px;
    padding:16px max(18px, calc((100vw - 850px)/2)) calc(20px + var(--safe-bottom));
    background:#071a2c; border-top:1px solid #2a4a5a;
    box-shadow:0 30px 65px #000b;
    -webkit-overflow-scrolling:touch;
  }
  .nav.open { display:flex; }
  .nav > a:not(.btn) { display:flex; align-items:center; min-height:46px; border-radius:10px; padding:10px 14px; font-size:15px; }
  .nav a.current { background:#12374c; }
  .nav-user { border:0; border-top:1px solid #284257; margin-top:8px; padding:16px 14px 8px; max-width:unset; font-size:12px; }
  .nav .inline-form { display:flex; width:100%; margin:0; }
  .nav .inline-form .btn { width:100%; min-height:46px; }
  .menu-backdrop:not([hidden]) { display:block; position:fixed; z-index:25; inset:70px 0 0; background:rgba(0,6,17,.72); backdrop-filter:blur(3px); }
  body.menu-open { overflow:hidden; }
  .quick-rail { gap:8px; }
  .quick-rail a { min-height:43px; display:inline-flex; justify-content:center; align-items:center; }
  .stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero-grid, .auth-area { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}

@media (max-width: 950px) {
  .console-grid,.auction-live-grid,.details-grid { grid-template-columns:minmax(0,1fr); }
  .console-secondary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .auction-live-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .auction-live-side > :first-child { grid-column:1/-1; }
  .stat-grid,.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .auth-area { gap:5%; }
  .section-heading { flex-wrap:wrap; }
  .kyc-grid { grid-template-columns:1fr; }
}

@media (max-width: 800px) {
  .container { width:calc(100% - 32px); }
  body.authenticated { padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom)); }
  .mobile-bottom-nav {
    display:grid; position:fixed; z-index:90; left:0; right:0; bottom:0;
    grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px;
    height:calc(var(--mobile-nav-height) + var(--safe-bottom));
    padding:8px 10px calc(7px + var(--safe-bottom));
    background:rgba(5,18,37,.97); backdrop-filter:blur(18px);
    border-top:1px solid #2b5870; box-shadow:0 -10px 35px #0007;
  }
  .mobile-bottom-nav a, .mobile-bottom-nav button {
    display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px;
    background:transparent; color:#9db9cc; border:0; border-radius:10px;
    text-align:center; text-decoration:none; padding:3px 0;
    font-size:10px; line-height:1.2; font-weight:750; min-width:0; min-height:48px;
  }
  .mobile-bottom-nav .mobile-nav-icon { font-size:21px; line-height:1.15; }
  .mobile-bottom-nav .active { color:#79ffe1; background:#103e4c; }
  .mobile-bottom-nav a:focus-visible, .mobile-bottom-nav button:focus-visible { outline:2px solid #45ebcf; }
  .menu-backdrop:not([hidden]) { bottom:calc(var(--mobile-nav-height) + var(--safe-bottom)); }
  .nav { max-height:calc(100dvh - 70px - var(--mobile-nav-height) - var(--safe-bottom)); }
  .hero-grid, .auth-area { grid-template-columns:1fr; }
  .guest-auth .auth-area { padding-block:36px 50px; gap:20px; }
  .auth-story { max-width:700px; }
  .auth-area .auth-card { width:100%; max-width:700px; justify-self:center; }
  .property-content { padding:20px; }
  .console-top { align-items:flex-start; }
  .live-room .auction-live-grid { grid-template-columns:1fr; }
  .auction-grid { grid-template-columns:1fr; }
  .footer-inner { flex-wrap:wrap; }
  .table-scroll-scrollhint { display:block; margin:6px 0 0; font-size:11px; color:#86b1c4; }
  .table-scroll-scrollhint[hidden] { display:none; }
  .tabs { flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scroll-snap-type:x proximity; padding-bottom:13px; }
  .tabs a { scroll-snap-align:start; min-height:42px; display:inline-flex; align-items:center; justify-content:center; }
  .tabs:focus-visible { outline:2px solid #45ebcf; }
}

@media (max-width: 600px) {
  .container { width:calc(100% - 28px); }
  .section { padding-top:25px; padding-bottom:32px; }
  .future-console { padding-top:23px; }
  h1, .console-top h1, .page-top h1 { font-size:clamp(27px,7vw,37px); letter-spacing:-.03em; }
  h2 { font-size:clamp(19px,5vw,25px); }
  .page-top { margin-bottom:20px; }
  .panel { padding:18px 15px; border-radius:14px; }
  .panel h2 { margin-bottom:12px; }
  .panel-top { align-items:flex-start; gap:9px; }
  .panel-top .caption { max-width:100%; }
  .form-grid { grid-template-columns:minmax(0,1fr); gap:15px; }
  .form-grid label.full,.form-grid >.full { grid-column:1; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size:16px; min-height:46px; }
  input[type="file"] { padding:10px; }
  .btn { min-height:44px; }
  .btn-small { min-height:40px; }
  .stack-actions, .action-row { gap:7px; }
  .properties-grid,.steps-grid,.kyc-grid { grid-template-columns:1fr; }
  .property-card { border-radius:14px; }
  .auth-card { padding:22px 17px; }
  .auth-story h1, .guest-auth .auth-story h1 { font-size:clamp(29px,8vw,42px); }
  .auth-feature { margin-top:10px; padding-bottom:8px; }
  .auth-story p { font-size:14px; }
  .guest-auth .auth-card { padding:22px 17px; }
  .guest-auth .auth-card h2 { font-size:24px; }
  .quick-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .quick-rail a { min-width:0; text-align:center; font-size:11px; padding:10px 8px; overflow-wrap:anywhere; }
  .stat-grid,.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .stat,.neon-stat { padding:15px 12px; }
  .stat span, .neon-stat span { font-size:10px; letter-spacing:.03em; line-height:1.35; }
  .stat strong,.neon-stat strong { font-size:clamp(22px,6vw,30px); }
  .stat small,.neon-stat small { font-size:10px; }
  .console-grid { gap:14px; }
  .console-primary, .console-secondary { gap:14px; }
  .console-secondary,.auction-live-side { grid-template-columns:1fr; }
  .auction-live-side > :first-child { grid-column:auto; }
  .live-main-screen { padding:18px 15px; border-radius:16px; }
  .big-bid-label { margin-top:26px; font-size:10px; }
  .big-live-price { font-size:clamp(31px,8.5vw,52px); line-height:1.15; }
  .live-header { align-items:center; flex-wrap:wrap; }
  .live-price-sub { line-height:1.65; }
  .live-countdown-card { margin:24px 0 18px; padding:14px 11px; }
  .live-countdown-card > div:first-child { align-items:flex-start; flex-wrap:wrap; }
  .live-countdown-card strong { font-size:clamp(21px,6vw,29px); }
  .live-insights { gap:8px; }
  .live-insights span { font-size:9px; letter-spacing:0; }
  .live-insights strong { font-size:clamp(11px,3vw,16px); }
  .watch-row { flex-wrap:wrap; }
  .watch-price { min-width:0; }
  .feed-row { gap:8px; }
  .feed-icon { width:30px; height:30px; flex:none; }
  .feed-amount { font-size:12px; }
  .kv,.identity-line { gap:10px; }
  .kv strong { max-width:60%; }
  .role-change-form { flex-wrap:wrap; }
  .table-scroll table { min-width:660px; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:7px; }
  .private-badge { max-width:130px; font-size:9px; padding:8px 9px; line-height:1.35; text-align:center; white-space:normal; }
  .brand { max-width:calc(100% - 130px); font-size:17px; }
  .brand-icon { width:37px; height:37px; min-width:37px; font-size:27px; }
  .nav-wrap { gap:7px; }
  .nav-wrap:has(.menu-button) .brand { max-width:calc(100% - 63px); }
}

@media (max-width: 390px) {
  .container { width:calc(100% - 24px); }
  .guest-auth .auth-area { padding-top:26px; }
  .private-badge { max-width:98px; font-size:8px; }
  .brand { max-width:calc(100% - 103px); font-size:15px; gap:7px; }
  .brand small { font-size:7px; letter-spacing:.08em; }
  .stat,.neon-stat { padding:13px 10px; }
  .stat strong,.neon-stat strong { font-size:22px; }
  .live-insights { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-insights > div:last-child { grid-column:1/-1; }
  .watch-logo { display:none; }
  .watch-price strong { font-size:12px; }
  .quick-rail a { font-size:10px; }
  .mobile-bottom-nav { gap:1px; padding-inline:5px; }
}

@media (min-width: 1101px) {
  .menu-button { display:none; }
  .nav { display:flex; position:static; }
}
@media (hover:none) and (pointer:coarse) {
  .btn:hover,.quick-rail a:hover { transform:none; }
  .btn,.nav a,.tabs a { -webkit-tap-highlight-color:rgba(24,228,192,.15); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* Preserve readable one-line desktop navigation even with a custom long site name. */
@media (min-width:1101px) {
  .nav-wrap .brand { flex:0 1 300px; max-width:min(300px, 24vw); }
  .site-header .nav { flex:0 0 auto; gap:clamp(10px,1.35vw,22px); }
  .site-header .nav > a:not(.btn) { white-space:nowrap; }
  .site-header .nav-user { max-width:150px; }
}
@media (min-width:1200px) {
  .stat-grid:not(.metric-grid):has(> :nth-child(5)) { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
/* Prioritize the bid action directly below the live price on mobile. */
@media (max-width:950px) {
  .auction-live-grid > .auction-live-primary { display:contents; }
  .auction-live-grid .live-main-screen { order:1; }
  .auction-live-grid > .auction-live-side { order:2; }
  .auction-live-grid > .auction-live-primary > .panel { order:3; }
}
