/* GoRentHive launch-readiness polish */

:focus-visible { outline: 3px solid rgba(232,146,12,.35); outline-offset: 2px; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
input, select, textarea { min-height: 44px; }
img { background: #eef2f6; }

.section-sub { margin-top: 5px; color: var(--ink-soft); font-size: 13px; }
.verified-location-hint { min-height: 44px; display:flex; align-items:center; padding: 10px 12px; background: var(--bg); border:1px solid var(--line); border-radius:11px; font-size:13px; color:var(--ink-soft); }
.launch-location-note { min-width: 190px; }

.eyebrow-light { font-size:12px; letter-spacing:.06em; font-weight:800; opacity:.7; margin-bottom:6px; }
.launch-owner-banner { align-items:flex-start; }
.launch-owner-banner p { max-width:720px; opacity:.85; margin-top:7px; }

.launch-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.launch-step { background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; box-shadow:var(--shadow); }
.launch-step > span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--brand-soft); color:var(--brand-dark); font-weight:800; margin-bottom:12px; }
.launch-step h3 { font-size:16px; }
.launch-step p { margin-top:6px; font-size:13px; color:var(--ink-soft); }
.launch-notice { margin-top:16px; padding:13px 15px; border-radius:12px; background:#fff8e8; border:1px solid #f3d69c; color:#6f561b; font-size:13px; }

.launch-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.price-card { position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:var(--shadow); display:flex; flex-direction:column; }
.price-card.featured { border:2px solid var(--brand); box-shadow:var(--shadow-lg); }
.price-card .plan { font-weight:800; font-size:18px; }
.price-card .price { font-weight:800; font-size:32px; margin:8px 0; }
.price-card .price span { font-size:13px; font-weight:600; color:var(--ink-soft); }
.price-card > p { color:var(--ink-soft); font-size:13px; }
.price-card ul { list-style:none; margin:16px 0 20px; display:grid; gap:9px; font-size:13px; flex:1; }
.price-badge { position:absolute; right:16px; top:14px; background:var(--brand); color:#fff; border-radius:999px; font-size:10px; font-weight:800; padding:5px 8px; letter-spacing:.05em; }
.launch-fee-box { margin-top:22px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; }
.launch-fee-box h2 { font-size:20px; }
.launch-fee-box p { margin-top:7px; color:var(--ink-soft); }

.launch-safety-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.launch-safety-grid article { background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; box-shadow:var(--shadow); }
.launch-safety-grid article b { display:block; font-size:15px; }
.launch-safety-grid article p { color:var(--ink-soft); font-size:13px; margin-top:7px; }

.launch-timeline { display:grid; gap:12px; max-width:820px; margin:0 auto; }
.launch-timeline > div { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
.launch-timeline b { font-size:15px; }
.launch-timeline p { color:var(--ink-soft); font-size:13px; margin-top:4px; }

.launch-legal { max-width:900px; margin:0 auto; }
.launch-legal h1 { margin-bottom:10px; }
.launch-legal h2 { margin-top:24px; font-size:18px; }
.launch-legal p { margin-top:8px; color:var(--ink-soft); }
.legal-lead { font-size:15px; }
.legal-table { margin-top:12px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.legal-table > div { display:grid; grid-template-columns:1.2fr 1fr; gap:12px; padding:11px 13px; background:#fff; border-bottom:1px solid var(--line); font-size:13px; }
.legal-table > div:first-child { background:var(--bg); }
.legal-table > div:last-child { border-bottom:0; }

.owner-commission-note, .protected-payment-note { font-size:11.5px; color:var(--ink-soft); margin-top:7px; }
.owner-commission-note { padding:8px 10px; border-radius:9px; background:#eef7ff; color:#31566f; }
.owner-fee-info { background:#eef7ff; border-radius:8px; padding:7px 8px; color:#31566f; }

.nearby-card-wrap { position:relative; min-width:0; }
.distance-chip { position:absolute; left:8px; top:8px; z-index:4; background:rgba(27,36,48,.88); color:#fff; border-radius:999px; padding:5px 8px; font-size:10.5px; font-weight:700; pointer-events:none; }

.launch-workflow-card { margin:18px 0; border:1.5px solid #f0c16b; }
.workflow-steps { display:grid; gap:8px; margin-top:12px; margin-bottom:12px; }
.workflow-step { display:flex; align-items:center; gap:9px; font-size:13px; color:var(--ink-soft); }
.workflow-step > span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:var(--bg); font-weight:800; }
.workflow-step.done { color:var(--ink); font-weight:600; }
.workflow-step.done > span { background:#e7f7ef; color:var(--green); }
.late-fee-alert { margin-top:10px; background:#fff2f2; color:#9b3236; border:1px solid #f2c3c5; border-radius:9px; padding:9px 10px; font-size:12px; }

/* Fix mobile hamburger overlap: the parent must grow with the opened menu. */
@media (max-width: 820px) {
  .topnav-inner { height:auto !important; min-height:var(--nav-h); align-content:flex-start; }
  .nav-links.open { padding-bottom:8px; }
  .nav-links.open .nav-link-pad { max-height:calc(100vh - 90px); overflow:auto; }
  input, select, textarea { font-size:16px; } /* prevents iOS input zoom */
  .launch-steps, .launch-pricing-grid, .launch-safety-grid { grid-template-columns:1fr 1fr; }
  .search-card.launch-search-card { grid-template-columns:1fr; }
  .landing-hero h1 { font-size:clamp(30px,10vw,46px); }
}

@media (max-width: 560px) {
  .hero { padding-top:32px; }
  .hero h1 { font-size:clamp(32px,11vw,44px); }
  .hero-ctas { display:grid; grid-template-columns:1fr; }
  .hero-ctas .btn { width:100%; }
  .launch-steps, .launch-pricing-grid, .launch-safety-grid { grid-template-columns:1fr; }
  .legal-table > div { grid-template-columns:1fr; gap:4px; }
  .section-head { align-items:flex-start; gap:10px; }
  .section-head .more { white-space:nowrap; }
  .modal, .modal-card, .form-card { max-width:calc(100vw - 24px) !important; }
  .detail-card { overflow-wrap:anywhere; }
}

@media (max-width: 380px) {
  .wrap { padding-left:12px; padding-right:12px; }
  .card-grid { grid-template-columns:1fr; }
  .cat-grid { grid-template-columns:1fr; }
  .bottom-nav a { font-size:10px; }
}
