/* ============================================================
   GharSetu — style.css (v2)
   Identity + components. Bootstrap handles responsive grids.
   Adds: Marathi font switch, language button, dashboards.
   Loaded AFTER bootstrap.min.css so these rules win.
   ============================================================ */

:root{
  --ink:#16202E; --muted:#5B6675; --paper:#F6F8FA; --card:#FFFFFF; --line:#E4E7EC;
  --student:#0E7C66; --student-soft:#E6F3EF; --student-deep:#0A5F4E;
  --owner:#2A4D9B; --owner-soft:#ECEFFB; --owner-deep:#1E3A78;
  --amber:#E8A33D; --danger:#C0392B; --ok:#1E8E5A;
  --radius:16px; --shadow:0 10px 30px rgba(22,32,46,.08); --shadow-lg:0 24px 60px rgba(22,32,46,.18);
  --display:"Bricolage Grotesque",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.05;letter-spacing:-.02em}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}

/* Marathi uses Devanagari-capable faces */
html[lang="mr"] body{font-family:"Mukta",system-ui,sans-serif}
html[lang="mr"] h1,html[lang="mr"] h2,html[lang="mr"] h3,html[lang="mr"] .brand{font-family:"Baloo 2",system-ui,sans-serif;letter-spacing:0}
html[lang="mr"] .hero h1{line-height:1.15}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:40;background:rgba(246,248,250,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:16px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:-.03em;text-decoration:none}
.brand .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--student),var(--owner));display:grid;place-items:center;color:#fff;font-size:.85rem;transform:rotate(-6deg)}
.nav .links{display:flex;gap:6px;margin-left:8px}
.nav .links a{padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-weight:500;font-size:.94rem}
.nav .links a:hover{background:#fff;color:var(--ink)}
.nav .spacer{flex:1}
.langbtn{padding:8px 12px;border:1px solid var(--line);background:#fff;border-radius:10px;font-weight:600;font-size:.9rem;color:var(--ink);min-width:74px}
.langbtn:hover{border-color:#c9cfd8}
.pill{padding:9px 16px;border-radius:11px;font-weight:600;font-size:.92rem;border:1px solid transparent;background:none}
.pill.ghost{color:var(--ink);border-color:var(--line);background:#fff}
.pill.ghost:hover{border-color:#c9cfd8}
.pill.solid{background:var(--ink);color:#fff}
.pill.solid:hover{background:#000}
.who{display:none;align-items:center;gap:8px}
.who .chip-user{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:6px 6px 6px 12px;border-radius:99px;font-weight:600;font-size:.9rem}
.who .avatar{width:30px;height:30px;border-radius:99px;display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:700}
.who .tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:99px}

/* ---------- Hero ---------- */
.hero{padding:54px 0 30px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--amber)}
.hero h1{font-size:clamp(2.2rem,5.5vw,3.7rem);font-weight:800;margin:14px 0 12px;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--owner)}
.hero p.lede{font-size:1.08rem;color:var(--muted);max-width:48ch;margin:0}

/* ---------- Two doors ---------- */
.doors{margin-top:34px;margin-bottom:8px}
.door{position:relative;height:100%;border-radius:var(--radius);padding:30px 28px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease}
.door:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.door .kicker{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.door h2{font-size:1.9rem;font-weight:700;margin:10px 0 8px}
.door p{margin:0;font-size:.98rem;opacity:.92;max-width:34ch}
.door .num{position:absolute;right:22px;top:18px;font-family:var(--display);font-weight:800;font-size:3.4rem;opacity:.14;line-height:1}
.door .cta{margin-top:22px;display:inline-flex;align-items:center;gap:9px;align-self:flex-start;padding:12px 20px;border-radius:12px;font-weight:700;border:none;font-size:1rem}
.door .cta .arr{transition:transform .2s}
.door:hover .cta .arr{transform:translateX(4px)}
.door .perks{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.door .perks span{font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:99px}
.door.student{background:var(--student-soft);color:var(--student-deep)}
.door.student .cta{background:var(--student);color:#fff}
.door.student .perks span{background:rgba(14,124,102,.12);color:var(--student-deep)}
.door.owner{background:var(--owner-soft);color:var(--owner-deep)}
.door.owner .cta{background:var(--owner);color:#fff}
.door.owner .perks span{background:rgba(42,77,155,.12);color:var(--owner-deep)}

/* ---------- Trust strip + how ---------- */
.strip{margin-top:30px;margin-bottom:60px}
.stat{height:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.stat b{font-family:var(--display);font-size:1.5rem;font-weight:800;display:block}
.stat span{color:var(--muted);font-size:.88rem}
.how{padding:0 0 70px}
.how h3{font-size:1.6rem;font-weight:700;margin-bottom:6px}
.how>.wrap>p{color:var(--muted);margin:0 0 24px}
.step{height:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.step .n{font-family:var(--display);font-weight:800;color:var(--amber);font-size:1rem}
.step h4{margin:8px 0 6px;font-size:1.1rem}
.step p{margin:0;color:var(--muted);font-size:.92rem}

footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:.88rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ---------- Portal / dashboards ---------- */
.portal{display:none;padding:34px 0 70px}
.portal.show{display:block}
.portal .backbtn{margin-bottom:18px}
.dash-head h2{font-size:1.8rem;font-weight:800;margin-bottom:4px}
.dash-head p{color:var(--muted);margin:0}
.dash-sec{margin-top:28px}
.dash-sec>h3{font-size:1.15rem;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:9px}
.dash-sec>h3 .count{font-size:.74rem;font-weight:700;background:var(--owner-soft);color:var(--owner-deep);padding:2px 9px;border-radius:99px}
.pcard{height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,box-shadow .2s ease}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ptype-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:99px}
.ptype-badge.pg{background:var(--student-soft);color:var(--student-deep)}
.ptype-badge.flat{background:var(--owner-soft);color:var(--owner-deep)}
.stu-badge{font-family:var(--display);font-weight:700;font-size:1.05rem}
.pcard .rent{font-weight:800;font-family:var(--display);color:var(--ink);white-space:nowrap}
.pcard h4{margin:2px 0;font-size:1.05rem;font-weight:700}
.pcard .loc,.pcard .areas,.pcard .edu,.pcard .owner-row,.pcard .food-row{font-size:.88rem;color:var(--muted)}
.pcard .label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:2px}
.mini-chips{display:flex;flex-wrap:wrap;gap:6px}
.mini-chips span{font-size:.8rem;font-weight:600;background:var(--paper);border:1px solid var(--line);padding:4px 9px;border-radius:99px;color:var(--ink)}
.mt{background:var(--amber);color:#3a2a06;padding:1px 8px;border-radius:99px;font-weight:700;font-size:.78rem;white-space:nowrap}
.cbtns{display:flex;gap:8px;margin-top:auto;padding-top:6px}
.cbtn{flex:1;text-align:center;text-decoration:none;font-weight:700;font-size:.9rem;padding:10px;border-radius:11px}
.cbtn.wa{background:#25D366;color:#06351a}
.cbtn.wa:hover{filter:brightness(.96)}
.cbtn.call{background:var(--ink);color:#fff}
.cbtn.call:hover{background:#000}
.empty{background:#fff;border:1px dashed var(--line);border-radius:16px;padding:28px;text-align:center;color:var(--muted)}
.req-card{background:var(--owner-soft);border:1px solid #d6ddf6;border-radius:16px;padding:16px 18px}
.req-card h4{font-size:1.1rem}
.req-card .mini-chips span{background:#fff}

/* ---------- Modal (custom; namespaced away from Bootstrap's .modal) ---------- */
.overlay{position:fixed;inset:0;background:rgba(15,21,30,.5);backdrop-filter:blur(3px);z-index:1060;display:none;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto}
.overlay.open{display:flex}
.gs-modal{background:#fff;border-radius:20px;width:100%;max-width:540px;box-shadow:var(--shadow-lg);animation:pop .22s ease;margin:auto}
.gs-modal.wide{max-width:680px}
@keyframes pop{from{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.gs-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 26px 6px}
.gs-modal-head h3{font-size:1.45rem;font-weight:700}
.gs-modal-head p{margin:6px 0 0;color:var(--muted);font-size:.92rem}
.gs-modal-head .accent{display:inline-block;width:34px;height:4px;border-radius:99px;margin-bottom:12px}
.x{border:none;background:#F1F3F6;width:34px;height:34px;border-radius:10px;font-size:1.1rem;color:var(--muted);flex:none}
.x:hover{background:#e7eaef}
.gs-modal-body{padding:14px 26px 24px}
.scroller{max-height:62vh;overflow-y:auto;padding-right:4px;margin-right:-4px}

/* ---------- Form bits ---------- */
.field{margin-bottom:15px}
.field>label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.field .hint{font-weight:400;color:var(--muted);font-size:.82rem}
.row .field{margin-bottom:0}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],select,textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:11px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--ink);transition:border .15s,box-shadow .15s}
textarea{resize:vertical;min-height:64px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--owner);box-shadow:0 0 0 3px rgba(42,77,155,.14)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%235B6675' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:99px;font-size:.88rem;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:6px;transition:.15s}
.chip:hover{border-color:#c9cfd8}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip.add{border-style:dashed;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.tag{background:var(--owner-soft);color:var(--owner-deep);font-weight:600;font-size:.84rem;padding:5px 9px;border-radius:8px;display:inline-flex;align-items:center;gap:7px}
.tag b{cursor:pointer;opacity:.6;font-weight:700}
.tag b:hover{opacity:1}
.row-add{display:flex;gap:8px;margin-top:9px}
.row-add input{flex:1}
.row-add button{flex:none;padding:0 16px;border-radius:11px;border:1px solid var(--line);background:#fff;font-weight:600}
.row-add button:hover{border-color:#c9cfd8}

.seg label{cursor:pointer;display:block;margin:0}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg .opt{border:1.5px solid var(--line);border-radius:14px;padding:16px;transition:.18s;height:100%}
.seg .opt b{display:block;font-family:var(--display);font-weight:700;font-size:1.05rem}
html[lang="mr"] .seg .opt b{font-family:"Baloo 2",system-ui,sans-serif}
.seg .opt small{color:var(--muted)}
.seg input:checked + .opt{border-color:var(--owner);background:var(--owner-soft)}
.seg input:focus-visible + .opt{box-shadow:0 0 0 3px rgba(42,77,155,.2)}

.drop{border:1.5px dashed var(--line);border-radius:14px;padding:22px;text-align:center;color:var(--muted);background:#FBFCFD;cursor:pointer;display:block}
.drop:hover{border-color:var(--owner);color:var(--owner)}
.drop input{display:none}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.thumbs img{width:60px;height:60px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}

.verified{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:700;font-size:.82rem;background:#E7F6EE;padding:5px 10px;border-radius:99px}
.branch{display:none}
.branch.show{display:block;animation:fade .2s ease}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.submit{width:100%;border:none;background:var(--ink);color:#fff;padding:14px;border-radius:13px;font-weight:700;font-size:1rem;margin-top:6px}
.submit:hover{background:#000}
.submit.stu{background:var(--student)} .submit.stu:hover{background:var(--student-deep)}
.submit.own{background:var(--owner)} .submit.own:hover{background:var(--owner-deep)}
.alt{text-align:center;color:var(--muted);font-size:.9rem;margin-top:14px}
.alt a{color:var(--owner);font-weight:600;text-decoration:none;cursor:pointer}
.err{color:var(--danger);font-size:.84rem;margin-top:6px;display:none}
.err.show{display:block}
.notice{background:#FFF7E8;border:1px solid #F0D9A8;color:#8a6515;padding:10px 13px;border-radius:11px;font-size:.88rem;margin-bottom:14px;display:none}
.notice.show{display:block}

.done{text-align:center;padding:14px 6px 6px}
.done .ring{width:66px;height:66px;border-radius:99px;background:#E7F6EE;color:var(--ok);display:grid;place-items:center;margin:0 auto 14px;font-size:1.8rem}
.done h3{font-size:1.4rem}
.done p{color:var(--muted);margin:8px 0 18px}
.summary{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:14px 16px;font-size:.9rem}
.summary div{display:flex;justify-content:space-between;gap:14px;padding:4px 0;border-bottom:1px dashed var(--line)}
.summary div:last-child{border:none}
.summary span:first-child{color:var(--muted)} .summary span:last-child{font-weight:600;text-align:right}

.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;font-weight:600;font-size:.92rem;opacity:0;pointer-events:none;transition:.25s;z-index:1080;box-shadow:var(--shadow-lg)}
.toast.show{opacity:1;transform:translateX(-50%)}

@media (max-width:560px){
  .gs-modal-head{padding:20px 18px 4px}
  .gs-modal-body{padding:12px 18px 20px}
  .nav{gap:10px}
  .hero{padding:38px 0 22px}
  .langbtn{min-width:auto;padding:8px 10px}
  .pill{padding:9px 12px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:focus-visible{outline:2px solid var(--owner);outline-offset:2px}
