:root{--primary:#D6001C;--primary-dark:#B00016;--secondary:#1A1A1A;--stone-50:#FAFAF9;--stone-100:#F5F5F4;--stone-200:#E7E5E4;--stone-300:#D6D3D1;--stone-400:#A8A29E;--stone-500:#78716C;--stone-600:#57534E;--dark:#0F1724}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--stone-50);color:var(--secondary);-webkit-font-smoothing:antialiased;line-height:1.5}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.lin-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.6);box-shadow:0 10px 30px -20px rgba(15,23,42,.45)}
.lin-nav-inner{max-width:1280px;margin:0 auto;padding:0 1rem;height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lin-logo{display:flex;align-items:center;gap:.6rem}
.lin-logo-mark{width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px}
.lin-logo-text{font-size:18px;font-weight:900;letter-spacing:-.02em}
.lin-nav-links{display:flex;align-items:center;gap:.5rem}
.lin-nav-link{padding:.5rem .75rem;font-size:14px;font-weight:500;border-radius:999px;transition:.2s}
.lin-nav-link:hover{color:var(--primary)}
.lin-post-req{background:none;border:none;cursor:pointer;font-size:14px;font-weight:700;padding:.5rem .75rem;border-radius:999px;color:var(--primary);font-family:inherit}
.lin-post-req:hover{background:var(--stone-100)}
.lin-signup-btn{background:var(--primary);color:#fff;padding:.5rem 1.25rem;border-radius:999px;font-size:14px;font-weight:500;box-shadow:0 4px 12px rgba(214,0,28,.2);transition:.2s}
.lin-signup-btn:hover{background:var(--primary-dark)}
.lin-mobile-menu{display:none;background:var(--stone-50);border:1px solid var(--stone-200);border-radius:16px;padding:10px;cursor:pointer;font-size:18px}
@media(max-width:1024px){.lin-nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:1rem;border-bottom:1px solid var(--stone-200)}.lin-nav-links.open{display:flex}.lin-mobile-menu{display:inline-flex}}
.lin-hero{position:relative;overflow:hidden;background:#fff;padding:3rem 1rem 4rem}
.lin-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,rgba(245,158,11,.09),transparent 28%),radial-gradient(circle at 50% 85%,rgba(148,163,184,.12),transparent 36%);pointer-events:none}
.lin-hero-inner{position:relative;max-width:900px;margin:0 auto;text-align:center}
.lin-hero h1{font-size:clamp(1.875rem,5vw,3.75rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}
.lin-hero p{font-size:clamp(1rem,2vw,1.125rem);color:var(--stone-500);max-width:600px;margin:0 auto 2rem}
.lin-search{max-width:760px;margin:0 auto;background:linear-gradient(90deg,rgba(214,0,28,.35),rgba(252,211,77,.55),rgba(214,211,209,.45));padding:1.5px;border-radius:2rem;box-shadow:0 30px 90px -34px rgba(239,68,68,.34)}
.lin-search-inner{display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:calc(2rem - 1.5px);padding:.875rem 1.25rem;border:1px solid rgba(255,255,255,.9)}
.lin-search input{flex:1;height:48px;border:none;outline:none;font-size:15px;font-weight:500;background:transparent;font-family:inherit}
.lin-search-btn{width:48px;height:48px;border-radius:999px;background:var(--secondary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(26,26,26,.2);transition:.2s;font-size:20px}
.lin-search-btn:hover{background:#000;transform:scale(1.02)}
.lin-quick-tags{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.lin-quick-tag{padding:.625rem .875rem;background:#fff;border:1px solid var(--stone-200);border-radius:999px;font-size:12px;font-weight:600;color:var(--stone-600);cursor:pointer;transition:.2s;font-family:inherit}
.lin-quick-tag:hover{border-color:rgba(214,0,28,.4);color:var(--primary)}
.lin-hero-links{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.lin-hero-link{padding:.5rem 1rem;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid var(--stone-200);border-radius:999px;font-size:13px;font-weight:700;transition:.2s}
.lin-hero-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.lin-stats{background:var(--primary);padding:1.5rem 1rem}
.lin-stats-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.lin-stat-num{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:900;color:#fff}
.lin-stat-lbl{margin-top:.25rem;font-size:11px;font-weight:600;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:640px){.lin-stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}
.lin-section{padding:2.5rem 1rem}
.lin-section.gray{background:var(--stone-100)}.lin-section.dark{background:var(--dark);color:#fff}.lin-section.white{background:#fff}
.lin-section-inner{max-width:1280px;margin:0 auto}
.lin-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--primary)}
.lin-h2{margin-top:.75rem;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:900;letter-spacing:-.02em;line-height:1.15}
.lin-sub{margin-top:1rem;font-size:1.05rem;color:var(--stone-600);max-width:720px}
.lin-center{text-align:center}.lin-center .lin-sub{margin-left:auto;margin-right:auto}
.lin-steps{margin-top:3.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:768px){.lin-steps{grid-template-columns:1fr}}
.lin-step{position:relative;background:#fff;border:1px solid var(--stone-200);border-radius:1.5rem;padding:2rem;transition:.2s}
.lin-step:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.lin-step-num{position:absolute;top:-12px;left:-12px;width:36px;height:36px;background:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.lin-step-icon{display:inline-flex;background:rgba(214,0,28,.1);padding:1rem;border-radius:1rem;margin-bottom:1.25rem;font-size:24px}
.lin-step h3{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}
.lin-step p{color:var(--stone-500);font-size:.95rem;line-height:1.6}
.lin-city-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:1024px){.lin-city-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lin-city-grid{grid-template-columns:1fr}}
.lin-city-card{position:relative;height:20rem;overflow:hidden;border-radius:2.5rem;display:block;transition:.4s}
.lin-city-card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(0,0,0,.25)}
.lin-city-card img{width:100%;height:100%;object-fit:cover;transition:1s}
.lin-city-card:hover img{transform:scale(1.1)}
.lin-city-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.2) 40%,transparent)}
.lin-city-content{position:absolute;bottom:2rem;left:2rem;right:2rem;color:#fff}
.lin-city-flag{color:var(--primary);font-size:14px;font-weight:700;margin-bottom:.25rem}
.lin-city-name{font-size:1.875rem;font-weight:900;line-height:1.1}
.lin-city-meta{margin-top:1rem;display:flex;align-items:center;justify-content:space-between}
.lin-city-count-lbl{font-size:10px;font-weight:900;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.2em;display:block}
.lin-city-count{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.lin-city-arrow{background:rgba(255,255,255,.2);padding:.75rem;border-radius:999px;backdrop-filter:blur(8px);transition:.3s;color:#fff;font-weight:900}
.lin-city-card:hover .lin-city-arrow{background:var(--primary);transform:scale(1.1)}
.lin-aud-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:1024px){.lin-aud-grid{grid-template-columns:repeat(2,1fr)}}
.lin-aud-card{background:#fff;border:1px solid var(--stone-200);border-radius:1.75rem;padding:1.75rem;transition:.3s}
.lin-aud-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.1)}
.lin-aud-icon{display:inline-flex;background:rgba(214,0,28,.1);padding:.875rem;border-radius:1rem;margin-bottom:.75rem;font-size:22px}
.lin-aud-card h3{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}
.lin-aud-card p{font-size:.85rem;color:var(--stone-500);line-height:1.6}
.lin-why-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:768px){.lin-why-grid{grid-template-columns:1fr 1fr}}
.lin-why-item{display:flex;gap:1rem;padding:1.5rem;background:var(--stone-50);border:1px solid var(--stone-100);border-radius:1.25rem;transition:.2s}
.lin-why-item:hover{border-color:rgba(214,0,28,.3);background:rgba(214,0,28,.03)}
.lin-why-icon{flex-shrink:0;width:40px;height:40px;background:rgba(214,0,28,.1);border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:18px}
.lin-why-item h3{font-size:.95rem;font-weight:700;margin-bottom:.25rem}
.lin-why-item p{font-size:.8rem;color:var(--stone-500);line-height:1.5}
.lin-prop-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:1024px){.lin-prop-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.lin-prop-grid{grid-template-columns:1fr}}
.lin-prop-card{background:#fff;border:1px solid var(--stone-200);border-radius:1.25rem;overflow:hidden;transition:.3s;display:block}
.lin-prop-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(214,0,28,.12)}
.lin-prop-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--stone-100)}
.lin-prop-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.lin-prop-card:hover .lin-prop-img img{transform:scale(1.05)}
.lin-prop-badges{position:absolute;top:1rem;left:1rem;display:flex;gap:.5rem;flex-wrap:wrap}
.lin-badge{padding:.25rem .5rem;border-radius:.375rem;font-size:10px;font-weight:700;text-transform:uppercase;backdrop-filter:blur(8px)}
.lin-badge.type{background:rgba(0,0,0,.5);color:#fff}
.lin-badge.sale{background:rgba(214,0,28,.9);color:#fff}
.lin-badge.rent{background:rgba(59,130,246,.9);color:#fff}
.lin-badge.owner{background:rgba(255,255,255,.9);color:var(--secondary);border:1px solid rgba(255,255,255,.5)}
.lin-prop-body{padding:1rem}
.lin-prop-title{font-size:1rem;font-weight:700;margin-bottom:.75rem;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lin-prop-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.lin-prop-loc{font-size:11px;color:var(--stone-400);display:flex;align-items:center;gap:.25rem;overflow:hidden}
.lin-prop-price{font-size:1rem;font-weight:900;color:var(--primary);white-space:nowrap}
.lin-prop-foot{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--stone-100);display:flex;justify-content:space-between;align-items:center}
.lin-prop-area{font-size:12px;color:var(--stone-500);font-weight:500}
.lin-prop-details{font-size:12px;font-weight:700;padding:.5rem .75rem;background:var(--stone-50);border-radius:.5rem;transition:.2s}
.lin-prop-details:hover{background:var(--stone-100);color:var(--primary)}
.lin-search-city-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:640px){.lin-search-city-grid{grid-template-columns:1fr 1fr}}
.lin-search-city{background:var(--stone-50);border:1px solid var(--stone-200);border-radius:1rem;padding:1.5rem;text-align:center;transition:.2s}
.lin-search-city:hover{border-color:var(--primary);background:rgba(214,0,28,.03);box-shadow:0 8px 20px rgba(0,0,0,.06)}
.lin-search-city .pin{font-size:20px;margin-bottom:.5rem;display:block}
.lin-search-city-name{font-size:1.125rem;font-weight:700;margin-bottom:.25rem}
.lin-search-city-count{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--stone-500)}
.lin-diff-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:768px){.lin-diff-grid{grid-template-columns:1fr}}
.lin-diff-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1.75rem;padding:2rem;transition:.2s}
.lin-diff-card:hover{background:rgba(255,255,255,.1)}
.lin-diff-card .di{font-size:32px;margin-bottom:1.25rem;display:block}
.lin-diff-card h3{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}
.lin-diff-card p{font-size:.95rem;color:var(--stone-300);line-height:1.5}
.lin-faq{max-width:800px;margin:2rem auto 0;background:#fff;border:1px solid var(--stone-200);border-radius:1rem;overflow:hidden}
.lin-faq-item{border-bottom:1px solid var(--stone-100)}
.lin-faq-item:last-child{border-bottom:none}
.lin-faq-q{width:100%;background:none;border:none;text-align:left;padding:1.125rem 1.25rem;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:.2s;font-family:inherit}
.lin-faq-q:hover{color:var(--primary)}
.lin-faq-q svg{flex-shrink:0;color:var(--stone-300);transition:.3s}
.lin-faq-q.open svg{transform:rotate(180deg)}
.lin-faq-a{max-height:0;overflow:hidden;transition:.3s;padding:0 1.25rem}
.lin-faq-a.open{max-height:400px;padding:0 1.25rem 1.25rem}
.lin-faq-a p{font-size:.9rem;color:var(--stone-600);line-height:1.6}
.lin-tags{display:flex;flex-wrap:wrap;gap:.75rem}
.lin-tag{padding:.5rem 1rem;background:var(--stone-50);border:1px solid var(--stone-200);border-radius:999px;font-size:13px;font-weight:600;color:#44403C;transition:.2s}
.lin-tag:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.lin-cta{background:var(--secondary);border-radius:2.5rem;padding:4rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.lin-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(245,158,11,.15),transparent 40%)}
.lin-cta h2{position:relative;font-size:clamp(1.5rem,3.5vw,3rem);font-weight:900;color:#fff;margin-bottom:1.5rem}
.lin-cta p{position:relative;max-width:640px;margin:0 auto;font-size:1.125rem;color:var(--stone-300)}
.lin-cta-btns{position:relative;margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.lin-cta-btn{padding:1rem 2rem;border-radius:1rem;font-size:1.05rem;font-weight:900;transition:.2s;display:inline-block}
.lin-cta-btn.primary{background:var(--primary);color:#fff;box-shadow:0 10px 25px rgba(214,0,28,.3)}
.lin-cta-btn.primary:hover{transform:scale(1.05)}
.lin-cta-btn.ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#fff}
.lin-footer{background:var(--secondary);color:#fff;padding:4rem 1rem 2rem;margin-top:3rem}
.lin-footer-inner{max-width:1280px;margin:0 auto}
.lin-footer-grid{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3rem}
@media(max-width:1024px){.lin-footer-grid{grid-template-columns:1fr}}
.lin-footer-brand .lin-logo-box{display:inline-flex;align-items:center;gap:.5rem;background:#fff;padding:.75rem 1rem;border-radius:1rem;margin-bottom:1.25rem}
.lin-footer-brand .lin-logo-mark{background:var(--primary);color:#fff;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900}
.lin-footer-brand .lin-logo-text{color:var(--secondary);font-size:16px;font-weight:900}
.lin-footer-brand p{color:#A8A29E;font-size:.875rem;line-height:1.7}
.lin-footer-sub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
@media(max-width:768px){.lin-footer-sub-grid{grid-template-columns:1fr 1fr}}
.lin-footer-h{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}
.lin-footer-list{list-style:none}
.lin-footer-list li{margin-bottom:.625rem}
.lin-footer-list a{color:#A8A29E;font-size:.875rem;transition:.2s}
.lin-footer-list a:hover{color:var(--primary)}
.lin-footer-copy{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05);text-align:center;color:#78716C;font-size:.75rem}
.lin-ai-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:999px;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(214,0,28,.4);z-index:9999;font-size:22px}
.lin-fab-dot{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:999px;background:#10B981;border:2px solid #fff}

/* FORMS */
.lin-form{max-width:520px;margin:3rem auto;background:#fff;padding:2.5rem;border-radius:1.5rem;border:1px solid var(--stone-200);box-shadow:0 20px 40px rgba(0,0,0,.05)}
.lin-form h2{font-size:1.75rem;font-weight:900;margin-bottom:.5rem}
.lin-form .sub{color:var(--stone-500);margin-bottom:2rem;font-size:.9rem}
.lin-form label{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--stone-600);margin-bottom:.4rem;margin-top:1rem}
.lin-form input,.lin-form select,.lin-form textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--stone-200);border-radius:.75rem;font-size:.95rem;font-family:inherit;background:var(--stone-50);transition:.2s}
.lin-form input:focus,.lin-form select:focus,.lin-form textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(214,0,28,.1)}
.lin-form button{width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:700;cursor:pointer;margin-top:1.5rem;transition:.2s;font-family:inherit}
.lin-form button:hover{background:var(--primary-dark)}
.lin-form .link{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--stone-500)}
.lin-form .link a{color:var(--primary);font-weight:700}
.lin-alert{padding:1rem;border-radius:.75rem;margin-bottom:1rem;font-size:.9rem}
.lin-alert.ok{background:#D1FAE5;color:#065F46;border:1px solid #6EE7B7}
.lin-alert.err{background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5}

/* DASHBOARD */
.lin-dash{max-width:1280px;margin:2rem auto;padding:0 1rem}
.lin-dash h1{font-size:2rem;font-weight:900;margin-bottom:.5rem}
.lin-dash .sub{color:var(--stone-500);margin-bottom:2rem}
.lin-dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}
@media(max-width:768px){.lin-dash-grid{grid-template-columns:1fr 1fr}}
.lin-dash-card{background:#fff;border:1px solid var(--stone-200);border-radius:1rem;padding:1.5rem;transition:.2s}
.lin-dash-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.06)}
.lin-dash-num{font-size:2rem;font-weight:900;color:var(--primary)}
.lin-dash-lbl{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--stone-500);margin-top:.25rem}
.lin-table{width:100%;background:#fff;border:1px solid var(--stone-200);border-radius:1rem;overflow:hidden;border-collapse:collapse}
.lin-table th{background:var(--stone-50);padding:1rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--stone-600);border-bottom:1px solid var(--stone-200)}
.lin-table td{padding:1rem;border-bottom:1px solid var(--stone-100);font-size:.875rem}
.lin-table tr:last-child td{border-bottom:none}
.lin-table tr:hover{background:var(--stone-50)}
.lin-btn{display:inline-block;padding:.4rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:700;cursor:pointer;border:none;transition:.2s;font-family:inherit;text-decoration:none}
.lin-btn.green{background:#10B981;color:#fff}.lin-btn.green:hover{background:#059669}
.lin-btn.red{background:#EF4444;color:#fff}.lin-btn.red:hover{background:#DC2626}
.lin-btn.blue{background:#3B82F6;color:#fff}.lin-btn.blue:hover{background:#2563EB}
.lin-btn.gray{background:var(--stone-200);color:var(--secondary)}.lin-btn.gray:hover{background:var(--stone-300)}
.lin-status{padding:.25rem .5rem;border-radius:.375rem;font-size:.7rem;font-weight:700;text-transform:uppercase}
.lin-status.pending{background:#FEF3C7;color:#92400E}
.lin-status.approved,.lin-status.active{background:#D1FAE5;color:#065F46}
.lin-status.rejected,.lin-status.inactive{background:#FEE2E2;color:#991B1B}

/* ============ BANNER SLIDER ============ */
.lin-banner-slider{position:relative;width:100%;height:520px;overflow:hidden;background:var(--secondary)}
@media(max-width:768px){.lin-banner-slider{height:400px}}
.lin-banner-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;display:flex;align-items:center}
.lin-banner-slide.active{opacity:1;z-index:1}
.lin-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.85),rgba(15,23,42,.4) 50%,transparent)}
.lin-banner-content{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 2rem;width:100%;color:#fff}
.lin-banner-content h1{font-size:clamp(2rem,5vw,3.75rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;margin-bottom:1rem;max-width:700px}
.lin-banner-content p{font-size:clamp(1rem,2vw,1.25rem);color:rgba(255,255,255,.85);max-width:600px;margin-bottom:2rem;line-height:1.5}
.lin-banner-btn{display:inline-block;background:var(--primary);color:#fff;padding:1rem 2rem;border-radius:1rem;font-size:1rem;font-weight:900;box-shadow:0 10px 30px rgba(214,0,28,.4);transition:.3s}
.lin-banner-btn:hover{transform:translateY(-2px);box-shadow:0 15px 40px rgba(214,0,28,.5);background:var(--primary-dark)}
.lin-banner-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.75rem;z-index:3}
.lin-banner-dot{width:12px;height:12px;border-radius:999px;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:.3s;padding:0}
.lin-banner-dot.active{background:#fff;width:36px}
.lin-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;width:48px;height:48px;border-radius:999px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;font-family:inherit}
.lin-banner-arrow:hover{background:var(--primary);border-color:var(--primary)}
.lin-banner-arrow.prev{left:1.5rem}
.lin-banner-arrow.next{right:1.5rem}
@media(max-width:640px){.lin-banner-arrow{display:none}}

/* ============ SEARCH SECTION (below banner) ============ */
.lin-search-section{background:#fff;padding:2rem 1rem 3rem;box-shadow:0 -20px 40px -20px rgba(0,0,0,.05)}
.lin-search-section .lin-section-inner{max-width:900px;margin:0 auto}

/* ============ AI SEARCH ============ */
.lin-ai-search-wrap{max-width:900px;margin:0 auto}
.lin-ai-search-label{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}
.lin-ai-badge{background:linear-gradient(135deg,#D6001C,#F59E0B);color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 12px rgba(214,0,28,.25)}
.lin-ai-hint{font-size:.8rem;color:var(--stone-500);font-style:italic}
.lin-ai-mic{width:48px;height:48px;border-radius:999px;background:var(--stone-100);border:none;cursor:pointer;font-size:20px;transition:.2s;display:flex;align-items:center;justify-content:center}
.lin-ai-mic:hover{background:var(--stone-200);transform:scale(1.05)}
.lin-ai-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--stone-200);border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.lin-ai-chip{background:rgba(214,0,28,.1);color:var(--primary);padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid rgba(214,0,28,.2);animation:chipIn .3s ease}
@keyframes chipIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}

/* ============ BANNER SLIDER (ensure exists) ============ */
.lin-banner-slider{position:relative;width:100%;height:520px;overflow:hidden;background:#1A1A1A}
@media(max-width:768px){.lin-banner-slider{height:400px}}
.lin-banner-slide{position:absolute;inset:0;background-size:cover !important;background-position:center !important;background-repeat:no-repeat;opacity:0;transition:opacity 1s ease;display:flex;align-items:center}
.lin-banner-slide.active{opacity:1;z-index:1}
.lin-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.85),rgba(15,23,42,.4) 50%,transparent);z-index:1}
.lin-banner-content{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 2rem;width:100%;color:#fff}
.lin-banner-content h1{font-size:clamp(2rem,5vw,3.75rem);font-weight:900;line-height:1.1;letter-spacing:-.03em;margin-bottom:1rem;max-width:700px}
.lin-banner-content p{font-size:clamp(1rem,2vw,1.25rem);color:rgba(255,255,255,.85);max-width:600px;margin-bottom:2rem;line-height:1.5}
.lin-banner-btn{display:inline-block;background:#D6001C;color:#fff;padding:1rem 2rem;border-radius:1rem;font-size:1rem;font-weight:900;box-shadow:0 10px 30px rgba(214,0,28,.4);transition:.3s;text-decoration:none}
.lin-banner-btn:hover{transform:translateY(-2px);background:#B00016}
.lin-banner-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.75rem;z-index:3}
.lin-banner-dot{width:12px;height:12px;border-radius:999px;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:.3s;padding:0}
.lin-banner-dot.active{background:#fff;width:36px}
.lin-banner-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;width:48px;height:48px;border-radius:999px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;font-family:inherit}
.lin-banner-arrow:hover{background:#D6001C;border-color:#D6001C}
.lin-banner-arrow.prev{left:1.5rem}
.lin-banner-arrow.next{right:1.5rem}
@media(max-width:640px){.lin-banner-arrow{display:none}}
.lin-search-section{background:#fff;padding:2rem 1rem 3rem;box-shadow:0 -20px 40px -20px rgba(0,0,0,.05)}

/* ============ PROPERTY TYPES GRID ============ */
.lin-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
@media(max-width:1024px){.lin-type-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.lin-type-grid{grid-template-columns:repeat(2,1fr)}}
.lin-type-card{background:var(--stone-50);border:1px solid var(--stone-200);border-radius:1rem;padding:1.5rem 1rem;text-align:center;transition:.3s;text-decoration:none;color:var(--secondary)}
.lin-type-card:hover{background:#fff;border-color:var(--primary);transform:translateY(-4px);box-shadow:0 10px 25px rgba(214,0,28,.1)}
.lin-type-icon{display:block;font-size:32px;margin-bottom:.5rem}
.lin-type-name{display:block;font-size:.9rem;font-weight:700}

/* ============ IMAGE FALLBACK BG ============ */
.lin-prop-img{background:linear-gradient(135deg,var(--stone-100),var(--stone-200))}

/* ============ BREADCRUMB ============ */
.lin-breadcrumb{background:var(--stone-50);border-bottom:1px solid var(--stone-200);padding:.75rem 1rem;font-size:.8rem}
.lin-breadcrumb-inner{max-width:1280px;margin:0 auto;display:flex;gap:.5rem;flex-wrap:wrap;color:var(--stone-500)}
.lin-breadcrumb a{color:var(--stone-600);text-decoration:none}
.lin-breadcrumb a:hover{color:var(--primary)}

@media(max-width:640px){.lin-form-row{grid-template-columns:1fr}}

/* ============ FILTER FORM ============ */
@media(max-width:900px){
  .lin-filter-form{grid-template-columns:1fr 1fr !important}
  .lin-filter-form button{grid-column:1/-1}
}
@media(max-width:520px){
  .lin-filter-form{grid-template-columns:1fr !important}
}

/* ============================================================
   PROPERTY DETAIL PAGE — COMPLETE STYLES
   ============================================================ */

/* Breadcrumb */
.lin-breadcrumb{background:var(--stone-50);border-bottom:1px solid var(--stone-200);padding:.75rem 1rem;font-size:.8rem}
.lin-breadcrumb-inner{max-width:1280px;margin:0 auto;display:flex;gap:.5rem;flex-wrap:wrap;color:var(--stone-500);align-items:center}
.lin-breadcrumb a{color:var(--stone-600);text-decoration:none;font-weight:500}
.lin-breadcrumb a:hover{color:var(--primary)}

/* Detail Grid Layout */
.lin-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:2rem;align-items:start}
@media(max-width:1024px){.lin-detail-grid{grid-template-columns:1fr}}

/* Gallery */
.lin-gallery{margin-bottom:1.5rem;width:100%}
.lin-gallery-main{position:relative;border-radius:1.5rem;overflow:hidden;background:linear-gradient(135deg,var(--stone-100),var(--stone-200));aspect-ratio:16/10;width:100%}
.lin-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;cursor:zoom-in}
.lin-gallery-main img:hover{transform:scale(1.02)}
.lin-gallery-badges{position:absolute;top:1rem;left:1rem;display:flex;gap:.5rem;flex-wrap:wrap;z-index:2;max-width:calc(100% - 5rem)}
.lin-gallery-nav{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.75rem;background:rgba(0,0,0,.65);backdrop-filter:blur(12px);color:#fff;padding:.5rem 1rem;border-radius:999px;font-size:.85rem;font-weight:700;z-index:2;border:1px solid rgba(255,255,255,.15)}
.lin-gallery-nav button{background:transparent;border:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:0 .5rem;font-weight:700;line-height:1;transition:.15s}
.lin-gallery-nav button:hover{color:var(--primary);transform:scale(1.2)}
.lin-gallery-fullscreen{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.65);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);color:#fff;width:44px;height:44px;border-radius:999px;cursor:pointer;font-size:1.2rem;z-index:2;display:flex;align-items:center;justify-content:center;transition:.2s}
.lin-gallery-fullscreen:hover{background:var(--primary);transform:scale(1.1)}
.lin-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin-top:.75rem}
@media(max-width:640px){.lin-thumbnails{grid-template-columns:repeat(4,1fr)}}
.lin-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.6rem;cursor:pointer;opacity:.55;transition:.2s;border:2px solid transparent;background:var(--stone-100)}
.lin-thumb:hover{opacity:1;transform:scale(1.03)}
.lin-thumb.active{opacity:1;border-color:var(--primary);box-shadow:0 4px 12px rgba(214,0,28,.3)}

/* Title Section */
.lin-detail-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:900;line-height:1.2;margin-bottom:.5rem;color:var(--secondary)}
.lin-detail-address{color:var(--stone-500);font-size:1rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem}
.lin-detail-meta{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.lin-detail-price{font-size:1.75rem;font-weight:900;color:var(--primary);line-height:1}
.lin-detail-price small{font-size:.875rem;font-weight:600;color:var(--stone-500);margin-left:.25rem}
.lin-detail-stat{color:var(--stone-500);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:.35rem}

/* Quick Specs */
.lin-specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:1.5rem;padding:1.25rem;background:var(--stone-50);border-radius:1rem;border:1px solid var(--stone-100)}
.lin-spec{display:flex;gap:.65rem;align-items:center;padding:.5rem;border-radius:.5rem;transition:.15s}
.lin-spec:hover{background:rgba(214,0,28,.05)}
.lin-spec-icon{font-size:1.5rem;line-height:1;flex-shrink:0}
.lin-spec strong{font-size:.95rem;display:block;color:var(--secondary);line-height:1.2}
.lin-spec span{font-size:.7rem;color:var(--stone-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}

/* Detail Blocks */
.lin-detail-block{background:#fff;border:1px solid var(--stone-200);border-radius:1.5rem;padding:1.5rem;margin-top:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.02)}
.lin-detail-block h3{font-size:1.125rem;font-weight:800;margin-bottom:1rem;color:var(--secondary);display:flex;align-items:center;gap:.5rem}
.lin-detail-block p{color:var(--stone-600);line-height:1.7}

/* Amenities */
.lin-amenity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}
.lin-amenity{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;background:var(--stone-50);border-radius:.6rem;font-size:.85rem;color:var(--stone-700);transition:.15s}
.lin-amenity:hover{background:rgba(214,0,28,.05);transform:translateX(4px)}
.lin-amenity span{color:var(--primary);font-weight:900;font-size:1rem;flex-shrink:0}

/* Video + 360 */
.lin-video-wrap{position:relative;aspect-ratio:16/9;border-radius:1rem;overflow:hidden;background:#000}
.lin-video-wrap iframe{width:100%;height:100%;border:none;display:block}
.lin-360-wrap{position:relative;border-radius:1rem;overflow:hidden;aspect-ratio:16/9;background:var(--stone-100);cursor:grab}
.lin-360-wrap:active{cursor:grabbing}
.lin-360-wrap img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;transform:scale(1.1);pointer-events:none}
.lin-360-overlay{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;padding:.55rem 1.1rem;border-radius:999px;font-size:.8rem;font-weight:700;backdrop-filter:blur(12px);pointer-events:none;border:1px solid rgba(255,255,255,.15)}

/* Sidebar */
.lin-sidebar-sticky{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem}
@media(max-width:1024px){.lin-sidebar-sticky{position:static}}
.lin-sidebar-card{background:#fff;border:1px solid var(--stone-200);border-radius:1.5rem;padding:1.25rem;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.lin-owner-avatar{width:52px;height:52px;border-radius:999px;background:linear-gradient(135deg,var(--primary),#B00016);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:900;flex-shrink:0;box-shadow:0 4px 12px rgba(214,0,28,.3)}

/* Buttons */
.lin-btn-primary{background:var(--primary);color:#fff;border:none;padding:.875rem 1rem;border-radius:.75rem;font-weight:700;font-size:.9rem;cursor:pointer;transition:.2s;font-family:inherit;text-decoration:none;display:block;text-align:center}
.lin-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(214,0,28,.3)}
.lin-btn-whatsapp{background:#25D366;color:#fff;border:none;padding:.875rem 1rem;border-radius:.75rem;font-weight:700;font-size:.9rem;cursor:pointer;transition:.2s;font-family:inherit;text-decoration:none;display:block;text-align:center}
.lin-btn-whatsapp:hover{background:#128C7E;transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,211,102,.3)}
.lin-btn-outline{background:#fff;border:1px solid var(--stone-200);color:var(--secondary);padding:.75rem 1rem;border-radius:.75rem;font-weight:600;font-size:.85rem;cursor:pointer;transition:.2s;font-family:inherit;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.35rem}
.lin-btn-outline:hover{border-color:var(--primary);color:var(--primary);background:rgba(214,0,28,.03)}

/* Inquiry Form */
.lin-inquiry-form{display:flex;flex-direction:column;gap:.75rem}
.lin-inquiry-form input,.lin-inquiry-form textarea{padding:.85rem 1rem;border:1px solid var(--stone-200);border-radius:.75rem;font-family:inherit;font-size:.9rem;background:var(--stone-50);transition:.2s;width:100%}
.lin-inquiry-form input:focus,.lin-inquiry-form textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(214,0,28,.1)}
.lin-inquiry-form textarea{resize:vertical;min-height:100px}
.lin-inquiry-form button{width:100%}
.lin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:640px){.lin-form-row{grid-template-columns:1fr}}

/* Alerts */
.lin-alert{padding:1rem;border-radius:.75rem;margin-bottom:1rem;font-size:.9rem;font-weight:600}
.lin-alert.ok{background:#D1FAE5;color:#065F46;border:1px solid #6EE7B7}
.lin-alert.err{background:#FEE2E2;color:#991B1B;border:1px solid #FCA5A5}

/* Lightbox */
.lin-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:10000;display:none;align-items:center;justify-content:center;padding:2rem;backdrop-filter:blur(8px)}
.lin-lightbox.active{display:flex}
.lin-lightbox img{max-width:95%;max-height:90vh;object-fit:contain;border-radius:.5rem;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lin-lightbox button{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:56px;height:56px;border-radius:999px;font-size:1.5rem;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}
.lin-lightbox button:hover{background:var(--primary);border-color:var(--primary)}
.lin-lightbox-close{top:1.5rem;right:1.5rem}
.lin-lightbox-prev{left:1.5rem;top:50%;transform:translateY(-50%)}
.lin-lightbox-next{right:1.5rem;top:50%;transform:translateY(-50%)}
@media(max-width:640px){.lin-lightbox button{width:44px;height:44px;font-size:1.2rem}}

/* Similar Properties heading */
.lin-similar-heading{margin-top:4rem;margin-bottom:1.5rem;font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:900}

/* ============================================================
   PROFESSIONAL POLISH — Skeletons, Transitions, Enhancements
   ============================================================ */

/* Smooth scroll */
html{scroll-behavior:smooth}

/* Better focus states */
*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:.4rem}

/* Skeleton loader */
.lin-skeleton{background:linear-gradient(90deg,var(--stone-100) 25%,var(--stone-200) 50%,var(--stone-100) 75%);background-size:200% 100%;animation:skeleton 1.5s infinite;border-radius:.5rem}
@keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
.lin-skeleton-img{aspect-ratio:4/3;width:100%}
.lin-skeleton-text{height:1rem;margin-bottom:.5rem}

/* Card entrance animation */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.lin-prop-card,.lin-city-card,.lin-type-card,.lin-detail-block{animation:fadeUp .5s ease both}
.lin-prop-card:nth-child(2){animation-delay:.05s}
.lin-prop-card:nth-child(3){animation-delay:.1s}
.lin-prop-card:nth-child(4){animation-delay:.15s}
.lin-prop-card:nth-child(5){animation-delay:.2s}
.lin-prop-card:nth-child(6){animation-delay:.25s}

/* Button ripple / press */
.lin-signup-btn,.lin-btn-primary,.lin-cta-btn:active{transform:scale(.98)}

/* Image hover effect */
.lin-prop-img{overflow:hidden}
.lin-prop-img img{transition:transform .6s cubic-bezier(.4,0,.2,1)}
.lin-prop-card:hover .lin-prop-img img{transform:scale(1.08)}

/* Scroll-to-top button */
.lin-top-btn{position:fixed;bottom:6rem;right:1.5rem;width:48px;height:48px;border-radius:999px;background:#fff;border:1px solid var(--stone-200);color:var(--primary);font-size:1.25rem;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:9998;transition:.3s}
.lin-top-btn.show{display:flex}
.lin-top-btn:hover{background:var(--primary);color:#fff;transform:translateY(-3px);box-shadow:0 8px 24px rgba(214,0,28,.3)}

/* Compare bar (fixed bottom) */
.lin-compare-bar{position:fixed;bottom:0;left:0;right:0;background:var(--secondary);color:#fff;padding:.75rem 1rem;display:none;align-items:center;justify-content:space-between;gap:1rem;z-index:9997;box-shadow:0 -4px 20px rgba(0,0,0,.2);flex-wrap:wrap}
.lin-compare-bar.show{display:flex}
.lin-compare-bar .props{display:flex;gap:.5rem;flex-wrap:wrap}
.lin-compare-bar .chip{background:rgba(255,255,255,.1);padding:.4rem .75rem;border-radius:999px;font-size:.75rem;display:flex;align-items:center;gap:.4rem}
.lin-compare-bar .chip button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:0;opacity:.7}
.lin-compare-bar .chip button:hover{opacity:1;color:#FCA5A5}
.lin-compare-bar .actions{display:flex;gap:.5rem}
.lin-compare-bar .actions a,.lin-compare-bar .actions button{padding:.5rem 1rem;border-radius:.5rem;font-size:.8rem;font-weight:700;border:none;cursor:pointer;text-decoration:none}
.lin-compare-bar .actions .go{background:var(--primary);color:#fff}
.lin-compare-bar .actions .clear{background:rgba(255,255,255,.1);color:#fff}

/* Loading spinner */
.lin-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Toast notification */
.lin-toast{position:fixed;bottom:2rem;right:2rem;background:var(--secondary);color:#fff;padding:1rem 1.5rem;border-radius:1rem;box-shadow:0 10px 40px rgba(0,0,0,.3);font-size:.9rem;font-weight:600;z-index:10001;animation:slideIn .3s ease}
.lin-toast.success{background:#10B981}
.lin-toast.error{background:#EF4444}
@keyframes slideIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}

/* Sticky sidebar smooth */
.lin-sidebar-sticky{transition:top .2s}

/* Improve table on mobile */
@media(max-width:640px){
  .lin-table{font-size:.8rem}
  .lin-table th,.lin-table td{padding:.5rem}
}

/* Blog card hover */
.lin-blog-card{background:#fff;border:1px solid var(--stone-200);border-radius:1.25rem;overflow:hidden;transition:.3s;text-decoration:none;color:inherit;display:block}
.lin-blog-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.lin-blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:.5s}
.lin-blog-card:hover img{transform:scale(1.05)}
.lin-blog-body{padding:1.25rem}
.lin-blog-cat{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:.5rem}
.lin-blog-title{font-size:1.05rem;font-weight:800;line-height:1.3;margin-bottom:.5rem;color:var(--secondary)}
.lin-blog-excerpt{font-size:.85rem;color:var(--stone-500);line-height:1.6}
.lin-blog-meta{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--stone-100);font-size:.75rem;color:var(--stone-400);display:flex;justify-content:space-between}

/* Broker card */
.lin-broker-card{background:#fff;border:1px solid var(--stone-200);border-radius:1.5rem;padding:1.5rem;text-align:center;transition:.3s}
.lin-broker-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.lin-broker-avatar{width:80px;height:80px;border-radius:999px;background:linear-gradient(135deg,var(--primary),#B00016);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;margin:0 auto 1rem;box-shadow:0 8px 24px rgba(214,0,28,.3);border:4px solid #fff}
.lin-broker-name{font-size:1.125rem;font-weight:900;margin-bottom:.25rem}
.lin-broker-company{font-size:.85rem;color:var(--stone-500);margin-bottom:.75rem}
.lin-broker-stats{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--stone-100)}
.lin-broker-stat{text-align:center}
.lin-broker-stat strong{display:block;font-size:1.1rem;font-weight:900;color:var(--primary)}
.lin-broker-stat span{font-size:.7rem;color:var(--stone-500);text-transform:uppercase;letter-spacing:.05em}

/* Contact page */
.lin-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:900px){.lin-contact-grid{grid-template-columns:1fr}}
.lin-contact-info{background:var(--stone-50);border-radius:1.5rem;padding:2rem}
.lin-contact-item{display:flex;gap:1rem;margin-bottom:1.5rem}
.lin-contact-icon{width:48px;height:48px;border-radius:.75rem;background:rgba(214,0,28,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.lin-contact-item h4{font-size:.95rem;font-weight:800;margin-bottom:.25rem}
.lin-contact-item p{font-size:.85rem;color:var(--stone-500);line-height:1.5}

/* Map iframe */
.lin-map{border-radius:1.5rem;overflow:hidden;height:400px;border:1px solid var(--stone-200);margin-top:2rem}
.lin-map iframe{width:100%;height:100%;border:none}

/* Compare page */
.lin-compare-table{width:100%;background:#fff;border-radius:1.5rem;overflow:hidden;border:1px solid var(--stone-200)}
.lin-compare-table th{background:var(--stone-50);padding:1rem;text-align:left;font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--stone-600);border-bottom:1px solid var(--stone-200)}
.lin-compare-table td{padding:1rem;border-bottom:1px solid var(--stone-100);font-size:.9rem}
.lin-compare-table tr:last-child td{border-bottom:none}
.lin-compare-table img{width:100%;height:140px;object-fit:cover;border-radius:.75rem}

/* Review stars */
.lin-stars{display:inline-flex;gap:2px}
.lin-stars .star{color:#D6D3D1;font-size:1rem}
.lin-stars .star.filled{color:#F59E0B}
.lin-review{background:#fff;border:1px solid var(--stone-200);border-radius:1rem;padding:1.25rem;margin-bottom:1rem}
.lin-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}
.lin-review-author{font-weight:700;font-size:.95rem}
.lin-review-date{font-size:.75rem;color:var(--stone-400)}
.lin-review-text{font-size:.9rem;color:var(--stone-600);line-height:1.6}

/* Empty state */
.lin-empty{text-align:center;padding:4rem 1rem;background:var(--stone-50);border-radius:1.5rem}
.lin-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.4}
.lin-empty h3{font-size:1.25rem;font-weight:800;margin-bottom:.5rem}
.lin-empty p{color:var(--stone-500);margin-bottom:1.5rem}

/* Rating input */
.lin-rating-input{display:flex;gap:.5rem;font-size:2rem;cursor:pointer}
.lin-rating-input .star{color:#D6D3D1;transition:.15s}
.lin-rating-input .star:hover,.lin-rating-input .star.active{color:#F59E0B;transform:scale(1.15)}

/* Progress steps */
.lin-steps-indicator{display:flex;justify-content:space-between;margin-bottom:2rem;position:relative}
.lin-steps-indicator::before{content:'';position:absolute;top:16px;left:0;right:0;height:2px;background:var(--stone-200);z-index:0}
.lin-step-dot{position:relative;z-index:1;background:#fff;border:2px solid var(--stone-200);width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--stone-400);font-size:.85rem}
.lin-step-dot.active{border-color:var(--primary);background:var(--primary);color:#fff}


/* ============================================================
   3D ANIMATED BANNER SECTION
   ============================================================ */
.lin-3d-section{position:relative;width:100%;min-height:600px;overflow:hidden;background:#0F1724;margin:3rem 0}
@media(max-width:768px){.lin-3d-section{min-height:500px}}

.lin-3d-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;display:flex;align-items:center}
.lin-3d-slide.active{opacity:1;z-index:1}

/* Image with animations */
.lin-3d-img{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}
.lin-3d-slide.active .lin-3d-img.anim-zoom{animation:animZoom 8s ease-out infinite alternate}
.lin-3d-slide.active .lin-3d-img.anim-rotate{animation:animRotate 20s linear infinite}
.lin-3d-slide.active .lin-3d-img.anim-float{animation:animFloat 6s ease-in-out infinite}
.lin-3d-slide.active .lin-3d-img.anim-slide{animation:animSlide 10s ease-in-out infinite alternate}
.lin-3d-slide.active .lin-3d-img.anim-parallax{animation:animParallax 12s ease-in-out infinite alternate}

@keyframes animZoom{
  0%{transform:scale(1) translateZ(0)}
  100%{transform:scale(1.12) translateZ(0)}
}
@keyframes animRotate{
  0%{transform:scale(1.15) rotate(0deg)}
  100%{transform:scale(1.15) rotate(3deg)}
}
@keyframes animFloat{
  0%,100%{transform:scale(1.1) translateY(0)}
  50%{transform:scale(1.1) translateY(-15px)}
}
@keyframes animSlide{
  0%{transform:scale(1.1) translateX(0)}
  100%{transform:scale(1.1) translateX(-30px)}
}
@keyframes animParallax{
  0%{transform:scale(1.1) translate(0,0)}
  100%{transform:scale(1.1) translate(-20px,-15px)}
}

/* Overlay */
.lin-3d-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.85),rgba(15,23,42,.4) 60%,transparent);z-index:2}
.lin-3d-overlay.pos-center{background:radial-gradient(circle at center,rgba(15,23,42,.75),rgba(15,23,42,.4))}
.lin-3d-overlay.pos-right{background:linear-gradient(270deg,rgba(15,23,42,.85),rgba(15,23,42,.4) 60%,transparent)}

/* Content */
.lin-3d-content{position:relative;z-index:3;max-width:1280px;margin:0 auto;padding:0 2rem;width:100%;color:#fff}
.lin-3d-content.pos-center{text-align:center}
.lin-3d-content.pos-center .lin-3d-sub{margin-left:auto;margin-right:auto}
.lin-3d-content.pos-center .lin-3d-btn{margin:2rem auto 0}
.lin-3d-content.pos-right{text-align:right}
.lin-3d-content.pos-right .lin-3d-sub{margin-left:auto}
.lin-3d-content.pos-right .lin-3d-btn{margin-left:auto}

.lin-3d-title{font-size:clamp(2rem,5vw,4rem);font-weight:900;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.25rem;max-width:700px;text-shadow:0 4px 20px rgba(0,0,0,.3)}
.lin-3d-slide.active .lin-3d-title{animation:slideUp .8s .2s ease both}
.lin-3d-sub{font-size:clamp(1rem,2vw,1.25rem);color:rgba(255,255,255,.9);max-width:600px;margin-bottom:2rem;line-height:1.5;text-shadow:0 2px 10px rgba(0,0,0,.2)}
.lin-3d-slide.active .lin-3d-sub{animation:slideUp .8s .35s ease both}
.lin-3d-btn{display:inline-block;background:var(--primary);color:#fff;padding:1rem 2.25rem;border-radius:1rem;font-size:1rem;font-weight:900;text-decoration:none;box-shadow:0 10px 30px rgba(214,0,28,.5);transition:.3s;position:relative;overflow:hidden}
.lin-3d-btn:hover{transform:translateY(-3px);box-shadow:0 15px 45px rgba(214,0,28,.6);background:var(--primary-dark)}
.lin-3d-slide.active .lin-3d-btn{animation:slideUp .8s .5s ease both}

@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* 3D Navigation */
.lin-3d-nav{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.75rem;z-index:4}
.lin-3d-dot{width:14px;height:14px;border-radius:999px;background:rgba(255,255,255,.35);border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:.3s;padding:0}
.lin-3d-dot.active{background:#fff;width:40px;border-color:#fff;box-shadow:0 0 20px rgba(255,255,255,.5)}

.lin-3d-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:52px;height:52px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;font-family:inherit}
.lin-3d-arrow:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-50%) scale(1.1)}
.lin-3d-arrow.prev{left:1.5rem}
.lin-3d-arrow.next{right:1.5rem}
@media(max-width:640px){.lin-3d-arrow{display:none}}

/* Parallax depth effect on slide change */
@keyframes parallaxIn{from{transform:scale(1.05) translateX(-20px)}to{transform:scale(1) translateX(0)}}

/* 3D floating badge */
.lin-3d-badge{position:absolute;top:2rem;right:2rem;z-index:4;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.4rem}
.lin-3d-badge::before{content:'';width:8px;height:8px;background:#10B981;border-radius:999px;animation:pulseDot 1.5s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
@media(max-width:640px){.lin-3d-badge{top:1rem;right:1rem;font-size:.65rem;padding:.35rem .75rem}}

/* ADMIN: 3D banner management card */
.lin-3d-card{background:#fff;border:1px solid #E7E5E4;border-radius:1rem;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.04)}
.lin-3d-preview{height:180px;background-size:cover;background-position:center;position:relative}
.lin-3d-preview::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.7),transparent)}
.lin-3d-card-body{padding:1rem}
.lin-3d-anim-tag{display:inline-block;padding:.2rem .5rem;border-radius:.35rem;font-size:.7rem;font-weight:700;background:rgba(214,0,28,.1);color:var(--primary);text-transform:uppercase;letter-spacing:.05em}


/* ============================================================
   PERFECT RESPONSIVE — Mobile, Tablet, Desktop
   ============================================================ */

/* ============ GLOBAL ============ */
*{max-width:100%}
img{height:auto}
body{overflow-x:hidden;-webkit-text-size-adjust:100%}

/* Better tap targets on mobile */
@media(max-width:768px){
  button,a,input,select,textarea{min-height:44px}
  .lin-nav-link,.lin-quick-tag,.lin-tag{padding:.625rem .875rem;min-height:auto}
}

/* ============ NAVBAR ============ */
@media(max-width:1024px){
  .lin-nav-inner{padding:0 .75rem;gap:.5rem}
  .lin-logo-mark{width:32px;height:32px;font-size:16px}
  .lin-logo-text{font-size:16px}
}
@media(max-width:640px){
  .lin-logo-text{display:none}
  .lin-logo-mark{width:36px;height:36px;font-size:18px}
  .lin-mobile-menu{padding:8px;font-size:20px}
}

/* Mobile menu overlay */
@media(max-width:1024px){
  .lin-nav-links.open::before{content:'';position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:-1}
  .lin-nav-links.open{padding:1rem;box-shadow:0 10px 30px rgba(0,0,0,.15)}
}

/* ============ HERO BANNER SLIDER ============ */
@media(max-width:1024px){
  .lin-banner-slider{height:460px}
  .lin-banner-content h1{font-size:clamp(1.75rem,5vw,2.5rem);max-width:90%}
  .lin-banner-content p{font-size:1rem}
  .lin-banner-arrow{display:none}
}
@media(max-width:640px){
  .lin-banner-slider{height:400px}
  .lin-banner-content{padding:0 1rem}
  .lin-banner-content h1{font-size:1.75rem;line-height:1.15;max-width:100%}
  .lin-banner-content p{font-size:.9rem;margin-bottom:1.25rem}
  .lin-banner-btn{padding:.75rem 1.25rem;font-size:.875rem}
  .lin-banner-dots{bottom:1rem;gap:.5rem}
  .lin-banner-dot{width:10px;height:10px}
  .lin-banner-dot.active{width:28px}
}

/* ============ AI SEARCH ============ */
@media(max-width:1024px){
  .lin-search-section{padding:1.5rem 1rem 2rem}
  .lin-search-inner{padding:.75rem 1rem}
  .lin-search input{font-size:15px;height:44px}
  .lin-search-btn{width:44px;height:44px}
}
@media(max-width:640px){
  .lin-ai-search-label{flex-direction:column;align-items:flex-start;gap:.4rem}
  .lin-ai-hint{font-size:.7rem}
  .lin-search{max-width:100%;border-radius:1.5rem}
  .lin-search-inner{border-radius:calc(1.5rem - 1.5px);gap:.5rem;padding:.6rem .75rem;flex-wrap:nowrap}
  .lin-search input{font-size:14px;height:40px;min-width:0}
  .lin-search-btn,.lin-ai-mic{width:40px;height:40px;flex-shrink:0;font-size:16px}
  .lin-quick-tags{margin-top:1rem;gap:.4rem}
  .lin-quick-tag{padding:.5rem .75rem;font-size:.7rem}
  .lin-ai-chips{padding:.6rem .75rem;gap:.4rem;margin-top:.75rem}
  .lin-ai-chip{font-size:.7rem;padding:.3rem .6rem}
}

/* ============ STATS BAR ============ */
@media(max-width:640px){
  .lin-stats{padding:1.25rem .75rem}
  .lin-stat-num{font-size:1.5rem}
  .lin-stat-lbl{font-size:.65rem}
}

/* ============ SECTIONS ============ */
@media(max-width:1024px){
  .lin-section{padding:2rem 1rem}
  .lin-h2{font-size:clamp(1.35rem,3.5vw,1.875rem)}
  .lin-sub{font-size:.95rem}
}
@media(max-width:640px){
  .lin-section{padding:1.75rem .875rem}
  .lin-eyebrow{font-size:.7rem}
  .lin-h2{font-size:1.35rem;line-height:1.25}
  .lin-sub{font-size:.875rem;margin-top:.75rem}
}

/* ============ HOW IT WORKS ============ */
@media(max-width:768px){
  .lin-steps{margin-top:2rem;gap:1rem}
  .lin-step{padding:1.25rem}
  .lin-step-num{width:32px;height:32px;font-size:10px;top:-10px;left:-10px}
  .lin-step-icon{padding:.75rem;font-size:20px;margin-bottom:.875rem}
  .lin-step h3{font-size:1.05rem}
  .lin-step p{font-size:.85rem}
}

/* ============ PROPERTY TYPES ============ */
@media(max-width:1024px){
  .lin-type-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}
}
@media(max-width:640px){
  .lin-type-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:1.25rem}
  .lin-type-card{padding:1rem .75rem;border-radius:.75rem}
  .lin-type-icon{font-size:24px;margin-bottom:.35rem}
  .lin-type-name{font-size:.8rem}
}

/* ============ PROPERTY CARDS ============ */
@media(max-width:1024px){
  .lin-prop-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.5rem}
}
@media(max-width:640px){
  .lin-prop-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.25rem}
  .lin-prop-card{border-radius:1rem}
  .lin-prop-img{aspect-ratio:16/10}
  .lin-prop-body{padding:.875rem}
  .lin-prop-title{font-size:.9rem;min-height:2.4em;margin-bottom:.5rem}
  .lin-prop-loc{font-size:.7rem}
  .lin-prop-price{font-size:.9rem}
  .lin-prop-foot{padding-top:.5rem;margin-top:.5rem}
  .lin-prop-area{font-size:.7rem}
  .lin-prop-details{font-size:.7rem;padding:.4rem .6rem}
  .lin-badge{font-size:9px;padding:.2rem .4rem}
}

/* ============ 3D BANNER ============ */
@media(max-width:1024px){
  .lin-3d-section{min-height:500px}
  .lin-3d-content h2{font-size:clamp(1.75rem,4vw,2.5rem)}
  .lin-3d-content p{font-size:1rem}
}
@media(max-width:768px){
  .lin-3d-section{min-height:440px;margin:2rem 0}
  .lin-3d-content{padding:0 1.25rem}
  .lin-3d-title{font-size:1.75rem;max-width:100%}
  .lin-3d-sub{font-size:.9rem;max-width:100%}
  .lin-3d-btn{padding:.75rem 1.5rem;font-size:.875rem}
  .lin-3d-content.pos-center,.lin-3d-content.pos-right{text-align:left}
  .lin-3d-content.pos-right .lin-3d-sub{margin-left:0}
  .lin-3d-content.pos-right .lin-3d-btn{margin-left:0}
  .lin-3d-overlay.pos-center,.lin-3d-overlay.pos-right{background:linear-gradient(90deg,rgba(15,23,42,.85),rgba(15,23,42,.4) 70%,transparent)}
  .lin-3d-arrow{display:none}
  .lin-3d-badge{top:1rem;right:1rem;font-size:.65rem;padding:.35rem .75rem}
  .lin-3d-nav{bottom:1.25rem;gap:.5rem}
  .lin-3d-dot{width:10px;height:10px}
  .lin-3d-dot.active{width:28px}
}
@media(max-width:480px){
  .lin-3d-section{min-height:400px}
  .lin-3d-title{font-size:1.5rem}
  .lin-3d-sub{font-size:.85rem}
}

/* ============ CITY CARDS ============ */
@media(max-width:1024px){
  .lin-city-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
}
@media(max-width:640px){
  .lin-city-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1.25rem}
  .lin-city-card{height:13rem;border-radius:1.25rem}
  .lin-city-content{bottom:1rem;left:1rem;right:1rem}
  .lin-city-flag{font-size:11px;margin-bottom:.15rem}
  .lin-city-name{font-size:1.125rem}
  .lin-city-meta{margin-top:.5rem}
  .lin-city-count-lbl{font-size:8px;letter-spacing:.1em}
  .lin-city-count{font-size:9px}
  .lin-city-arrow{padding:.5rem}
  .lin-city-arrow svg,.lin-city-arrow{font-size:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}
}

/* ============ WHY US ============ */
@media(max-width:1024px){
  .lin-why-grid{grid-template-columns:1fr 1fr;gap:.75rem}
}
@media(max-width:640px){
  .lin-why-grid{grid-template-columns:1fr;gap:.5rem;margin-top:1.25rem}
  .lin-why-item{padding:1rem;border-radius:.875rem;gap:.75rem}
  .lin-why-icon{width:36px;height:36px;font-size:16px}
  .lin-why-item h3{font-size:.875rem}
  .lin-why-item p{font-size:.75rem}
}

/* ============ BLOG CARDS ============ */
@media(max-width:640px){
  .lin-blog-card{border-radius:1rem}
  .lin-blog-body{padding:1rem}
  .lin-blog-cat{font-size:.6rem}
  .lin-blog-title{font-size:.95rem}
  .lin-blog-excerpt{font-size:.8rem}
  .lin-blog-meta{font-size:.7rem;flex-direction:column;gap:.35rem;align-items:flex-start}
}

/* ============ CTA SECTION ============ */
@media(max-width:640px){
  .lin-cta{border-radius:1.5rem;padding:2.5rem 1.25rem}
  .lin-cta h2{font-size:1.5rem}
  .lin-cta p{font-size:.95rem}
  .lin-cta-btns{flex-direction:column;gap:.75rem;margin-top:1.5rem}
  .lin-cta-btn{width:100%;padding:.875rem 1.5rem;font-size:.95rem}
}

/* ============ FOOTER ============ */
@media(max-width:1024px){
  .lin-footer{padding:3rem .875rem 1.5rem}
  .lin-footer-grid{gap:2rem;margin-bottom:2rem}
  .lin-footer-sub-grid{gap:1.5rem}
}
@media(max-width:768px){
  .lin-footer-sub-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}
  .lin-footer-h{font-size:12px;margin-bottom:.75rem}
  .lin-footer-list a{font-size:.8rem}
  .lin-footer-list li{margin-bottom:.5rem}
}
@media(max-width:480px){
  .lin-footer{padding:2.5rem .75rem 1.25rem}
  .lin-footer-sub-grid{grid-template-columns:1fr;gap:1.25rem}
  .lin-footer-brand{margin-bottom:1rem}
  .lin-footer-brand p{font-size:.8rem}
  .lin-footer-copy{font-size:.7rem;line-height:1.5}
}

/* ============ FLOATING BUTTONS ============ */
@media(max-width:640px){
  .lin-wa-fab,.lin-ai-fab{width:48px;height:48px;bottom:1rem}
  .lin-wa-fab{left:1rem}
  .lin-ai-fab{right:1rem}
  .lin-ai-fab{font-size:20px}
  .lin-wa-fab svg{width:22px;height:22px}
}
@media(max-width:480px){
  .lin-wa-fab,.lin-ai-fab{width:44px;height:44px}
  .lin-wa-fab svg{width:20px;height:20px}
  .lin-ai-fab{font-size:18px}
}

/* Scroll to top on mobile */
@media(max-width:640px){
  .lin-top-btn{bottom:4.5rem;right:1rem;width:42px;height:42px;font-size:1.1rem}
}

/* Compare bar on mobile */
@media(max-width:640px){
  .lin-compare-bar{padding:.75rem;flex-direction:column;gap:.5rem}
  .lin-compare-bar .chip{font-size:.7rem;padding:.35rem .6rem}
  .lin-compare-bar .actions{width:100%}
  .lin-compare-bar .actions a,.lin-compare-bar .actions button{flex:1;text-align:center}
}

/* ============ PROPERTIES LIST PAGE ============ */
@media(max-width:900px){
  .lin-filter-form{grid-template-columns:1fr 1fr !important;gap:.5rem !important;padding:.75rem !important}
  .lin-filter-form button{grid-column:1/-1}
  .lin-filter-form input,.lin-filter-form select{padding:.6rem .75rem !important;font-size:.875rem !important}
}
@media(max-width:520px){
  .lin-filter-form{grid-template-columns:1fr !important}
  .lin-filter-form button{grid-column:auto}
}

/* ============ PROPERTY DETAIL PAGE ============ */
@media(max-width:1024px){
  .lin-detail-grid{grid-template-columns:1fr;gap:1.5rem}
  .lin-sidebar-sticky{position:static;gap:.75rem}
}
@media(max-width:768px){
  .lin-gallery-main{border-radius:1rem;aspect-ratio:16/11}
  .lin-thumbnails{grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.5rem}
  .lin-thumb{border-radius:.4rem}
  .lin-gallery-nav{padding:.35rem .75rem;font-size:.75rem;bottom:.75rem}
  .lin-gallery-nav button{font-size:1.1rem;padding:0 .35rem}
  .lin-gallery-fullscreen{width:36px;height:36px;font-size:1rem;top:.75rem;right:.75rem}
  .lin-gallery-badges{top:.75rem;left:.75rem;gap:.35rem}
  .lin-gallery-badges .lin-badge{font-size:9px;padding:.2rem .45rem}
  
  .lin-detail-title{font-size:1.5rem}
  .lin-detail-address{font-size:.9rem}
  .lin-detail-price{font-size:1.5rem}
  .lin-detail-meta{gap:.75rem;font-size:.8rem}
  .lin-detail-stat{font-size:.75rem}
  
  .lin-specs-grid{grid-template-columns:1fr 1fr;gap:.5rem;padding:1rem;border-radius:.875rem}
  .lin-spec{padding:.4rem;gap:.5rem}
  .lin-spec-icon{font-size:1.25rem}
  .lin-spec strong{font-size:.85rem}
  .lin-spec span{font-size:.65rem}
  
  .lin-detail-block{padding:1.25rem;border-radius:1rem;margin-top:1rem}
  .lin-detail-block h3{font-size:1rem;margin-bottom:.75rem}
  .lin-detail-block p{font-size:.9rem}
  
  .lin-amenity-grid{grid-template-columns:1fr 1fr;gap:.4rem}
  .lin-amenity{font-size:.8rem;padding:.5rem .6rem}
  
  .lin-sidebar-card{padding:1rem;border-radius:1rem}
  .lin-owner-avatar{width:44px;height:44px;font-size:1.1rem}
  
  .lin-btn-primary,.lin-btn-whatsapp,.lin-btn-outline{padding:.75rem;font-size:.85rem}
  
  .lin-video-wrap,.lin-360-wrap{border-radius:.75rem}
  
  .lin-inquiry-form input,.lin-inquiry-form textarea{font-size:.875rem;padding:.75rem .875rem}
  
  .lin-similar-heading{font-size:1.25rem;margin-top:2.5rem;margin-bottom:1rem}
}
@media(max-width:480px){
  .lin-specs-grid{grid-template-columns:1fr}
  .lin-amenity-grid{grid-template-columns:1fr}
  .lin-thumbnails{grid-template-columns:repeat(3,1fr)}
}

/* ============ FORMS (Login, Register, Add Property) ============ */
@media(max-width:640px){
  .lin-form{max-width:100%;margin:1.5rem auto;padding:1.5rem;border-radius:1rem}
  .lin-form h2{font-size:1.5rem}
  .lin-form .sub{font-size:.85rem;margin-bottom:1.25rem}
  .lin-form input,.lin-form select,.lin-form textarea{font-size:14px;padding:.75rem .875rem}
  .lin-form button{padding:.875rem;font-size:.95rem}
}

/* ============ DASHBOARD ============ */
@media(max-width:768px){
  .lin-dash{margin:1.5rem auto;padding:0 .875rem}
  .lin-dash h1{font-size:1.5rem}
  .lin-dash-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}
  .lin-dash-card{padding:1rem}
  .lin-dash-num{font-size:1.5rem}
  .lin-dash-lbl{font-size:.7rem}
}
@media(max-width:480px){
  .lin-dash-grid{grid-template-columns:1fr}
}

/* ============ TABLES ============ */
@media(max-width:768px){
  .lin-table{font-size:.8rem;display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .lin-table th,.lin-table td{padding:.6rem .75rem;font-size:.75rem}
  .lin-table img.thumb,.admin-table img.thumb{width:40px;height:40px}
}
@media(max-width:640px){
  .lin-table{border-radius:.75rem}
  .lin-table th,.lin-table td{padding:.5rem .6rem;font-size:.7rem}
}

/* ============ ADMIN PANEL ============ */
@media(max-width:900px){
  .admin-sidebar{width:240px}
  .admin-topbar{padding:.6rem 1rem}
  .admin-topbar h1{font-size:1rem}
  .admin-content{padding:1rem}
  .admin-stats{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}
  .admin-stat{padding:1rem}
  .admin-stat-num{font-size:1.5rem}
  .admin-stat-icon{font-size:1.5rem}
  .admin-stat-lbl{font-size:.65rem}
  .admin-card{padding:1rem;border-radius:.875rem;margin-bottom:1rem}
  .admin-card h3{font-size:.95rem}
  .admin-form-row{gap:.75rem}
  .admin-form input,.admin-form select,.admin-form textarea{font-size:14px;padding:.6rem .75rem}
  .admin-btn{padding:.4rem .7rem;font-size:.7rem}
  .admin-table th{font-size:.65rem;padding:.5rem}
  .admin-table td{font-size:.75rem;padding:.5rem}
}
@media(max-width:520px){
  .admin-stats{grid-template-columns:1fr}
  .admin-charts-grid{grid-template-columns:1fr !important}
  .admin-topbar-user span{display:none}
}

/* ============ BREADCRUMB ============ */
@media(max-width:640px){
  .lin-breadcrumb{padding:.5rem .75rem;font-size:.7rem}
  .lin-breadcrumb-inner{gap:.35rem}
}

/* ============ BROKER CARD ============ */
@media(max-width:640px){
  .lin-broker-card{padding:1.25rem;border-radius:1.25rem}
  .lin-broker-avatar{width:64px;height:64px;font-size:1.5rem}
  .lin-broker-name{font-size:1rem}
  .lin-broker-stats{gap:.875rem}
  .lin-broker-stat strong{font-size:.95rem}
  .lin-broker-stat span{font-size:.6rem}
}

/* ============ LIGHTBOX ============ */
@media(max-width:640px){
  .lin-lightbox{padding:1rem}
  .lin-lightbox button{width:44px;height:44px;font-size:1.2rem}
  .lin-lightbox-close{top:1rem;right:1rem}
  .lin-lightbox-prev{left:.5rem}
  .lin-lightbox-next{right:.5rem}
}

/* ============ CONTACT PAGE ============ */
@media(max-width:900px){
  .lin-contact-grid{grid-template-columns:1fr;gap:1.5rem}
  .lin-contact-info{padding:1.5rem;border-radius:1rem}
  .lin-contact-icon{width:42px;height:42px;font-size:1.25rem}
}
@media(max-width:640px){
  .lin-map{height:300px;border-radius:1rem}
}

/* ============ COMPARE PAGE ============ */
@media(max-width:768px){
  .lin-compare-table{font-size:.8rem}
  .lin-compare-table th,.lin-compare-table td{padding:.75rem .5rem}
  .lin-compare-table img{height:100px}
}

/* ============ LANDSCAPE MODE ============ */
@media(max-width:900px) and (orientation:landscape){
  .lin-banner-slider{height:360px}
  .lin-3d-section{min-height:360px}
  .lin-hero{padding:2rem 1rem 2.5rem}
}

/* ============ PRINT ============ */
@media print{
  .lin-nav,.lin-footer,.lin-wa-fab,.lin-ai-fab,.lin-top-btn,.lin-compare-bar,.lin-banner-slider,.lin-3d-section{display:none !important}
  body{background:#fff;color:#000}
  .lin-section{padding:1rem 0}
  .lin-detail-grid{grid-template-columns:1fr}
}

/* ============ RETINA / HIGH DPI ============ */
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
  .lin-logo-mark{box-shadow:0 2px 8px rgba(214,0,28,.25)}
}

/* ============ DARK MODE (Optional) ============ */
@media(prefers-color-scheme:dark){
  /* Uncomment below to auto-enable dark mode */
  /*
  :root{--stone-50:#1A1A1A;--stone-100:#262626;--white:#0F1724;--secondary:#FAFAF9;}
  */
}

/* ============ REDUCED MOTION ============ */
@media(prefers-reduced-motion:reduce){
  *,.lin-3d-img,.lin-banner-slide{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ============ VERY SMALL SCREENS (320px) ============ */
@media(max-width:360px){
  .lin-section{padding:1.5rem .625rem}
  .lin-h2{font-size:1.2rem}
  .lin-hero h1{font-size:1.5rem}
  .lin-banner-content h1{font-size:1.5rem}
  .lin-type-grid{grid-template-columns:1fr 1fr}
  .lin-type-card{padding:.875rem .5rem}
  .lin-stats{padding:1rem .5rem}
  .lin-stat-num{font-size:1.25rem}
  .lin-prop-card{border-radius:.875rem}
  .lin-prop-body{padding:.75rem}
  .lin-city-card{height:11rem}
  .lin-city-name{font-size:1rem}
}

/* ============ LARGE DESKTOP (1920px+) ============ */
@media(min-width:1920px){
  .lin-section-inner,.lin-nav-inner,.lin-footer-inner{max-width:1440px}
  .lin-section{padding:4rem 2rem}
  .lin-h2{font-size:2.5rem}
}

/* ============ ULTRA WIDE (2560px+) ============ */
@media(min-width:2560px){
  .lin-section-inner,.lin-nav-inner,.lin-footer-inner{max-width:1600px}
}

/* ============ FIX: Prevent horizontal scroll ============ */
.lin-prop-grid,.lin-city-grid,.lin-type-grid,.lin-aud-grid,.lin-why-grid,.lin-steps,.lin-footer-sub-grid{overflow:hidden}

/* ============ FIX: Better text wrapping on mobile ============ */
@media(max-width:640px){
  h1,h2,h3,h4,h5,h6,.lin-h2,.lin-detail-title{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}
}

/* ============ FIX: No image overflow ============ */
.lin-prop-img img,.lin-gallery-main img,.lin-thumb,.lin-city-card img,.lin-blog-card img,.lin-3d-img{max-width:100%;overflow:hidden}

/* ============ FIX: Safe area for notch phones ============ */
@supports(padding:max(0px)){
  .lin-nav-inner{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
  .lin-footer{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}
  .lin-wa-fab{left:max(1rem,env(safe-area-inset-left))}
  .lin-ai-fab{right:max(1rem,env(safe-area-inset-right))}
}


/* ============================================================
   PG / HOSTEL / CO-LIVING STYLES
   ============================================================ */

/* PG badge on cards */
.lin-badge.pg{background:linear-gradient(135deg,#8B5CF6,#EC4899);color:#fff}
.lin-badge.pg-gender-male{background:linear-gradient(135deg,#3B82F6,#06B6D4);color:#fff}
.lin-badge.pg-gender-female{background:linear-gradient(135deg,#EC4899,#F59E0B);color:#fff}
.lin-badge.pg-meals{background:linear-gradient(135deg,#10B981,#059669);color:#fff}
.lin-badge.pg-ac{background:linear-gradient(135deg,#06B6D4,#0EA5E9);color:#fff}

/* PG section on homepage */
.lin-pg-section{background:linear-gradient(135deg,#F5F3FF,#EDE9FE);padding:3rem 1rem}
.lin-pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:2rem}
.lin-pg-card{background:#fff;border:1px solid #E7E5E4;border-radius:1.5rem;overflow:hidden;transition:.3s;text-decoration:none;color:inherit;display:block;position:relative}
.lin-pg-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(139,92,246,.15);border-color:#8B5CF6}
.lin-pg-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#F5F5F4}
.lin-pg-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.lin-pg-card:hover .lin-pg-img img{transform:scale(1.06)}
.lin-pg-gender-badge{position:absolute;top:1rem;left:1rem;padding:.35rem .75rem;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;backdrop-filter:blur(8px)}
.lin-pg-gender-badge.male{background:rgba(59,130,246,.95);color:#fff}
.lin-pg-gender-badge.female{background:rgba(236,72,153,.95);color:#fff}
.lin-pg-gender-badge.any{background:rgba(139,92,246,.95);color:#fff}

.lin-pg-beds-badge{position:absolute;top:1rem;right:1rem;background:rgba(16,185,129,.95);color:#fff;padding:.35rem .65rem;border-radius:.5rem;font-size:.7rem;font-weight:800;backdrop-filter:blur(8px)}
.lin-pg-beds-badge.full{background:rgba(239,68,68,.95)}

.lin-pg-body{padding:1.25rem}
.lin-pg-title{font-size:1.05rem;font-weight:800;line-height:1.3;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.lin-pg-loc{font-size:.8rem;color:#78716C;margin-bottom:.75rem;display:flex;align-items:center;gap:.35rem}
.lin-pg-price-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid #F5F5F4}
.lin-pg-price{font-size:1.25rem;font-weight:900;color:var(--primary)}
.lin-pg-price small{font-size:.75rem;color:#78716C;font-weight:500}
.lin-pg-sharing{font-size:.75rem;font-weight:700;color:#57534E;text-transform:uppercase;letter-spacing:.05em}

.lin-pg-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}
.lin-pg-tag{background:#F5F3FF;color:#6D28D9;padding:.25rem .6rem;border-radius:.4rem;font-size:.65rem;font-weight:700}
.lin-pg-tag.meals{background:#ECFDF5;color:#065F46}
.lin-pg-tag.ac{background:#CFFAFE;color:#155E75}
.lin-pg-tag.bath{background:#DBEAFE;color:#1E40AF}

/* PG detail page sections */
.lin-pg-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#F5F3FF,#EDE9FE);border-radius:1rem;border:1px solid #DDD6FE}
.lin-pg-info{display:flex;gap:.65rem;align-items:center;padding:.5rem;background:rgba(255,255,255,.7);border-radius:.75rem}
.lin-pg-info-icon{font-size:1.5rem;flex-shrink:0}
.lin-pg-info strong{font-size:.9rem;display:block;color:#1A1A1A;line-height:1.2}
.lin-pg-info span{font-size:.7rem;color:#7C3AED;text-transform:uppercase;letter-spacing:.05em;font-weight:700}

/* PG beds availability widget */
.lin-pg-beds{background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border:2px solid #10B981;border-radius:1rem;padding:1.25rem;margin-top:1rem}
.lin-pg-beds-title{font-size:.75rem;font-weight:800;color:#065F46;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.lin-pg-beds-bar{display:flex;gap:.35rem;margin:.75rem 0}
.lin-pg-bed{width:32px;height:32px;border-radius:.5rem;background:#10B981;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.lin-pg-bed.taken{background:#D1D5DB;opacity:.6}
.lin-pg-beds-info{font-size:.85rem;color:#065F46;font-weight:600}
.lin-pg-beds-info strong{font-size:1.25rem;font-weight:900;color:#059669}

/* PG rules list */
.lin-pg-rules{background:#FEF3C7;border-radius:1rem;padding:1.25rem;margin-top:1rem;border:1px solid #FCD34D}
.lin-pg-rules h4{font-size:.95rem;font-weight:800;color:#92400E;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}
.lin-pg-rules ul{list-style:none;padding:0;margin:0}
.lin-pg-rules li{font-size:.85rem;color:#78350F;padding:.35rem 0;padding-left:1.5rem;position:relative}
.lin-pg-rules li::before{content:'✓';position:absolute;left:0;color:#D97706;font-weight:900}

/* PG filter chips (properties page) */
.lin-pg-filters{background:#F5F3FF;border:1px solid #DDD6FE;border-radius:1rem;padding:1rem;margin-top:1rem}
.lin-pg-filters-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6D28D9;margin-bottom:.75rem}
.lin-pg-chip-group{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.lin-pg-chip{padding:.5rem .875rem;background:#fff;border:1.5px solid #DDD6FE;color:#6D28D9;border-radius:999px;font-size:.8rem;font-weight:700;cursor:pointer;transition:.2s;font-family:inherit}
.lin-pg-chip:hover{background:#EDE9FE;border-color:#8B5CF6}
.lin-pg-chip.active{background:#8B5CF6;color:#fff;border-color:#8B5CF6;box-shadow:0 4px 12px rgba(139,92,246,.3)}

/* Homepage PG section specific */
.lin-pg-home-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.lin-pg-home-badge{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#8B5CF6,#EC4899);color:#fff;padding:.4rem 1rem;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Mobile responsive */
@media(max-width:640px){
  .lin-pg-section{padding:2rem .75rem}
  .lin-pg-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.25rem}
  .lin-pg-body{padding:1rem}
  .lin-pg-title{font-size:.95rem}
  .lin-pg-price{font-size:1.1rem}
  .lin-pg-beds-bar{gap:.25rem}
  .lin-pg-bed{width:28px;height:28px;font-size:1rem}
  .lin-pg-info-grid{grid-template-columns:1fr 1fr;padding:1rem;gap:.5rem}
  .lin-pg-info{padding:.4rem;gap:.5rem}
  .lin-pg-info-icon{font-size:1.25rem}
  .lin-pg-info strong{font-size:.8rem}
  .lin-pg-info span{font-size:.6rem}
}

/* PG room type selector (admin edit) */
.lin-pg-room-types{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.5rem}
.lin-pg-room-type{text-align:center;padding:.75rem;border:2px solid #E7E5E4;border-radius:.75rem;cursor:pointer;transition:.2s;background:#fff;font-family:inherit}
.lin-pg-room-type:hover{border-color:#8B5CF6;background:#F5F3FF}
.lin-pg-room-type.selected{border-color:#8B5CF6;background:#8B5CF6;color:#fff}
.lin-pg-room-type.selected .icon{filter:brightness(10)}
.lin-pg-room-type .icon{font-size:1.5rem;display:block;margin-bottom:.25rem}
.lin-pg-room-type .label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.lin-pg-room-type .price-hint{font-size:.65rem;opacity:.7;margin-top:.15rem}

@media(max-width:640px){
  .lin-pg-room-types{grid-template-columns:1fr 1fr}
}


/* ============================================================
   HOTEL BOOKING STYLES
   ============================================================ */
.lin-hotel-section{background:linear-gradient(135deg,#FFF7ED,#FEF3C7);padding:3rem 1rem}
.lin-hotel-badge{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#F59E0B,#D6001C);color:#fff;padding:.4rem 1rem;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

.lin-hotel-search{background:#fff;border-radius:1.5rem;padding:1.25rem;margin:1.5rem 0 2rem;box-shadow:0 10px 40px rgba(245,158,11,.15);border:2px solid #FED7AA}
.lin-hotel-search-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:.75rem;align-items:end}
.lin-hotel-search-grid label{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#92400E;margin-bottom:.35rem}
.lin-hotel-search-grid input,.lin-hotel-search-grid select{width:100%;padding:.75rem .85rem;border:1px solid #FED7AA;border-radius:.75rem;font-family:inherit;font-size:.9rem;background:#FFFBEB}
.lin-hotel-search-grid input:focus,.lin-hotel-search-grid select:focus{outline:none;border-color:#F59E0B;background:#fff;box-shadow:0 0 0 3px rgba(245,158,11,.15)}
.lin-hotel-search-btn{background:linear-gradient(135deg,#F59E0B,#D6001C);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:.75rem;font-weight:800;font-size:.9rem;cursor:pointer;transition:.2s;font-family:inherit;white-space:nowrap}
.lin-hotel-search-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(245,158,11,.4)}

.lin-hotel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.lin-hotel-card{background:#fff;border:1px solid #E7E5E4;border-radius:1.5rem;overflow:hidden;transition:.3s;text-decoration:none;color:inherit;display:block}
.lin-hotel-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(245,158,11,.2);border-color:#F59E0B}
.lin-hotel-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#F5F5F4}
.lin-hotel-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.lin-hotel-card:hover .lin-hotel-img img{transform:scale(1.06)}
.lin-hotel-star-badge{position:absolute;top:1rem;left:1rem;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);padding:.35rem .65rem;border-radius:.5rem;font-size:.8rem}
.lin-hotel-rooms-badge{position:absolute;top:1rem;right:1rem;background:rgba(245,158,11,.95);color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.lin-hotel-body{padding:1.25rem}
.lin-hotel-title{font-size:1.05rem;font-weight:800;line-height:1.3;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.lin-hotel-loc{font-size:.8rem;color:#78716C;margin-bottom:1rem;display:flex;align-items:center;gap:.35rem}
.lin-hotel-price-row{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #F5F5F4}
.lin-hotel-price-from{font-size:.7rem;color:#78716C;display:block}
.lin-hotel-price{font-size:1.25rem;font-weight:900;color:#D6001C}
.lin-hotel-price-per{font-size:.75rem;color:#78716C;font-weight:500}
.lin-hotel-book-btn{background:linear-gradient(135deg,#F59E0B,#D6001C);color:#fff;padding:.5rem 1rem;border-radius:.6rem;font-size:.8rem;font-weight:800}

/* Hotel detail page */
.lin-hotel-room{background:#fff;border:1px solid #E7E5E4;border-radius:1.5rem;padding:1.5rem;margin-bottom:1rem;transition:.3s;display:grid;grid-template-columns:220px 1fr auto;gap:1.5rem;align-items:center}
.lin-hotel-room:hover{box-shadow:0 10px 30px rgba(245,158,11,.15);border-color:#F59E0B}
@media(max-width:900px){.lin-hotel-room{grid-template-columns:1fr;gap:1rem}}
.lin-hotel-room-img{width:100%;aspect-ratio:4/3;border-radius:1rem;object-fit:cover;background:#F5F5F4}
.lin-hotel-room-info h3{font-size:1.15rem;font-weight:800;margin-bottom:.5rem}
.lin-hotel-room-meta{display:flex;gap:1rem;flex-wrap:wrap;margin:.75rem 0;font-size:.8rem;color:#57534E}
.lin-hotel-room-meta span{display:inline-flex;align-items:center;gap:.35rem}
.lin-hotel-room-price{text-align:right}
.lin-hotel-room-price .price{font-size:1.75rem;font-weight:900;color:#D6001C}
.lin-hotel-room-price .per{font-size:.8rem;color:#78716C;display:block}
.lin-hotel-book-btn-lg{background:linear-gradient(135deg,#F59E0B,#D6001C);color:#fff;border:none;padding:.875rem 1.75rem;border-radius:.75rem;font-weight:800;font-size:.9rem;cursor:pointer;transition:.2s;font-family:inherit;margin-top:.75rem}
.lin-hotel-book-btn-lg:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(245,158,11,.4)}

/* Booking form */
.lin-booking-form{background:#fff;border:1px solid #E7E5E4;border-radius:1.5rem;padding:1.5rem;margin-top:1rem}
.lin-booking-form h3{font-size:1.1rem;font-weight:800;margin-bottom:1rem}
.lin-booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}
.lin-booking-form input,.lin-booking-form select,.lin-booking-form textarea{width:100%;padding:.75rem .85rem;border:1px solid #E7E5E4;border-radius:.75rem;font-family:inherit;font-size:.9rem;background:#FAFAF9}
.lin-booking-form input:focus,.lin-booking-form select:focus,.lin-booking-form textarea:focus{outline:none;border-color:#F59E0B;background:#fff;box-shadow:0 0 0 3px rgba(245,158,11,.15)}
.lin-booking-total{background:#FEF3C7;padding:1rem;border-radius:.75rem;margin:1rem 0}
.lin-booking-total-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem}
.lin-booking-total-row.final{border-top:2px solid #F59E0B;margin-top:.5rem;padding-top:.75rem;font-size:1.1rem;font-weight:900}

/* Admin: section toggle cards */
.lin-section-toggle{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}
.lin-section-toggle-item{background:#fff;border:1px solid #E7E5E4;border-radius:.75rem;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;transition:.2s}
.lin-section-toggle-item:hover{border-color:#D6001C;box-shadow:0 4px 12px rgba(214,0,28,.08)}
.lin-section-toggle-item.on{border-color:#10B981;background:#F0FDF4}
.lin-section-toggle-name{font-weight:700;font-size:.9rem}
.lin-section-toggle-desc{font-size:.7rem;color:#78716C;margin-top:.15rem}
.lin-toggle-switch{position:relative;width:44px;height:24px;background:#D6D3D1;border-radius:999px;cursor:pointer;transition:.2s;flex-shrink:0;border:none;padding:0}
.lin-toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:999px;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,.15)}
.lin-toggle-switch.on{background:#10B981}
.lin-toggle-switch.on::after{left:22px}

@media(max-width:640px){
  .lin-hotel-search-grid{grid-template-columns:1fr;gap:.5rem}
  .lin-hotel-search-btn{width:100%}
  .lin-hotel-section{padding:2rem .75rem}
  .lin-hotel-grid{grid-template-columns:1fr;gap:1rem}
  .lin-hotel-room{padding:1rem}
  .lin-hotel-room-img{aspect-ratio:16/10}
  .lin-hotel-room-price{text-align:left}
  .lin-booking-form-grid{grid-template-columns:1fr}
}

/* ============================================================
   PREMIUM AD POPUP
   ============================================================ */
.lin-ad-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:99998;opacity:0;pointer-events:none;transition:.3s}
.lin-ad-overlay.show{opacity:1;pointer-events:auto}

.lin-ad-popup{position:fixed;z-index:99999;max-width:480px;width:calc(100% - 2rem);background:#fff;border-radius:2rem;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.4s cubic-bezier(.34,1.56,.64,1);transform:scale(.9)}
.lin-ad-popup.show{opacity:1;pointer-events:auto;transform:scale(1)}

.lin-ad-popup.pos-center{top:50%;left:50%;transform:translate(-50%,-50%) scale(.9)}
.lin-ad-popup.pos-center.show{transform:translate(-50%,-50%) scale(1)}
.lin-ad-popup.pos-top-left{top:2rem;left:2rem}
.lin-ad-popup.pos-top-right{top:2rem;right:2rem}
.lin-ad-popup.pos-bottom-left{bottom:2rem;left:2rem}
.lin-ad-popup.pos-bottom-right{bottom:2rem;right:2rem}

/* Animations */
.lin-ad-popup.anim-fade{transform:scale(1)}
.lin-ad-popup.anim-zoom{transform:scale(.7)}
.lin-ad-popup.anim-zoom.show{transform:scale(1)}
.lin-ad-popup.anim-slide-up{transform:translateY(100%)}
.lin-ad-popup.anim-slide-up.show{transform:translateY(0)}
.lin-ad-popup.anim-slide-down{transform:translateY(-100%)}
.lin-ad-popup.anim-slide-down.show{transform:translateY(0)}
.lin-ad-popup.anim-bounce{animation:adBounce 1s cubic-bezier(.68,-.55,.265,1.55)}
@keyframes adBounce{0%{transform:scale(.3)}50%{transform:scale(1.05)}100%{transform:scale(1)}}

.lin-ad-popup.pos-center.anim-zoom{transform:translate(-50%,-50%) scale(.7)}
.lin-ad-popup.pos-center.anim-zoom.show{transform:translate(-50%,-50%) scale(1)}

/* Header with close */
.lin-ad-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #F5F5F4;position:relative;z-index:3;background:#fff}
.lin-ad-badge{display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#F59E0B,#D6001C);color:#fff;padding:.3rem .75rem;border-radius:999px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.lin-ad-close{background:rgba(0,0,0,.05);border:none;width:32px;height:32px;border-radius:999px;cursor:pointer;font-size:1.1rem;color:#57534E;display:flex;align-items:center;justify-content:center;transition:.2s;padding:0}
.lin-ad-close:hover{background:#EF4444;color:#fff;transform:rotate(90deg)}

/* Image */
.lin-ad-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#F5F5F4}
.lin-ad-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.lin-ad-popup:hover .lin-ad-image img{transform:scale(1.05)}
.lin-ad-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 60%);pointer-events:none}

/* Content */
.lin-ad-body{padding:1.5rem}
.lin-ad-title{font-size:1.25rem;font-weight:900;line-height:1.2;margin-bottom:.5rem;color:#1A1A1A}
.lin-ad-subtitle{font-size:.9rem;color:#D6001C;font-weight:700;margin-bottom:.75rem}
.lin-ad-desc{font-size:.85rem;color:#57534E;line-height:1.5;margin-bottom:1.25rem}

/* Buttons */
.lin-ad-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.lin-ad-btn-primary{background:#D6001C;color:#fff;padding:.875rem 1.5rem;border-radius:.75rem;font-weight:800;font-size:.9rem;text-decoration:none;flex:1;text-align:center;transition:.2s;border:none;cursor:pointer;font-family:inherit;box-shadow:0 6px 20px rgba(214,0,28,.3)}
.lin-ad-btn-primary:hover{background:#B00016;transform:translateY(-2px);box-shadow:0 10px 30px rgba(214,0,28,.4)}
.lin-ad-btn-secondary{background:#F5F5F4;color:#1A1A1A;padding:.875rem 1.25rem;border-radius:.75rem;font-weight:700;font-size:.9rem;text-decoration:none;transition:.2s;border:none;cursor:pointer;font-family:inherit}
.lin-ad-btn-secondary:hover{background:#E7E5E4}

/* Countdown timer */
.lin-ad-timer{display:inline-flex;align-items:center;gap:.35rem;background:#FEF3C7;color:#92400E;padding:.4rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;margin-bottom:.75rem}
.lin-ad-timer .dot{width:6px;height:6px;background:#EF4444;border-radius:999px;animation:pulse 1s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

/* Top banner ad */
.lin-ad-banner{background:linear-gradient(135deg,#FEF3C7,#FED7AA);padding:.875rem 1rem;text-align:center;position:relative;z-index:100;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.lin-ad-banner-text{font-weight:700;font-size:.9rem;color:#78350F}
.lin-ad-banner-btn{background:#D6001C;color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-weight:700;font-size:.8rem;text-decoration:none;transition:.2s}
.lin-ad-banner-btn:hover{background:#B00016;transform:scale(1.05)}
.lin-ad-banner-close{background:transparent;border:none;cursor:pointer;font-size:1.25rem;color:#78350F;opacity:.5;transition:.2s;padding:.25rem}
.lin-ad-banner-close:hover{opacity:1}

/* Bottom sticky ad */
.lin-ad-sticky-bottom{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #E7E5E4;box-shadow:0 -10px 40px rgba(0,0,0,.1);padding:1rem;z-index:9998;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;transform:translateY(100%);transition:.3s}
.lin-ad-sticky-bottom.show{transform:translateY(0)}
.lin-ad-sticky-content{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}
.lin-ad-sticky-img{width:60px;height:60px;border-radius:.75rem;object-fit:cover;flex-shrink:0}
.lin-ad-sticky-text{min-width:0}
.lin-ad-sticky-title{font-size:.95rem;font-weight:800;margin-bottom:.15rem;color:#1A1A1A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lin-ad-sticky-sub{font-size:.75rem;color:#78716C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Mobile responsive */
@media(max-width:640px){
  .lin-ad-popup{width:calc(100% - 1rem);border-radius:1.5rem;max-width:100%}
  .lin-ad-popup.pos-top-left{top:.5rem;left:.5rem;right:.5rem;width:auto}
  .lin-ad-popup.pos-top-right{top:.5rem;right:.5rem;left:.5rem;width:auto}
  .lin-ad-popup.pos-bottom-left{bottom:.5rem;left:.5rem;right:.5rem;width:auto}
  .lin-ad-popup.pos-bottom-right{bottom:.5rem;right:.5rem;left:.5rem;width:auto}
  .lin-ad-body{padding:1.25rem}
  .lin-ad-title{font-size:1.1rem}
  .lin-ad-subtitle{font-size:.85rem}
  .lin-ad-desc{font-size:.8rem}
  .lin-ad-actions{flex-direction:column}
  .lin-ad-btn-primary,.lin-ad-btn-secondary{width:100%}
  .lin-ad-banner{flex-direction:column;gap:.5rem;padding:.75rem}
  .lin-ad-banner-text{font-size:.8rem}
  .lin-ad-sticky-bottom{flex-direction:column;gap:.5rem;padding:.75rem}
  .lin-ad-sticky-content{width:100%}
  .lin-ad-sticky-img{width:50px;height:50px}
}

/* Admin: ad preview cards */
.lin-ad-admin-card{background:#fff;border:1px solid #E7E5E4;border-radius:1rem;overflow:hidden;transition:.2s}
.lin-ad-admin-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.lin-ad-admin-preview{height:160px;background-size:cover;background-position:center;position:relative;background-color:#F5F5F4}
.lin-ad-admin-preview::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}
.lin-ad-admin-body{padding:1rem}
.lin-ad-admin-stats{display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #F5F5F4;font-size:.75rem}
.lin-ad-admin-stats span{display:flex;align-items:center;gap:.25rem;color:#78716C}
.lin-ad-admin-stats strong{color:#1A1A1A;font-weight:800}

/* Toggle switch (reused) */
.lin-toggle-switch{position:relative;width:44px;height:24px;background:#D6D3D1;border-radius:999px;cursor:pointer;transition:.2s;flex-shrink:0;border:none;padding:0}
.lin-toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:999px;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,.15)}
.lin-toggle-switch.on{background:#10B981}
.lin-toggle-switch.on::after{left:22px}


/* ============================================================
   CLEAN PREMIUM AD POPUP — Noise-Free Design
   ============================================================ */

/* ---------- OVERLAY (soft, not too dark) ---------- */
.ad-overlay-clean{
    position:fixed;inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
    z-index:99998;
    opacity:0;pointer-events:none;
    transition:opacity .3s ease;
}
.ad-overlay-clean.show{opacity:1;pointer-events:auto}

/* ---------- POPUP CONTAINER ---------- */
.ad-popup-clean{
    position:fixed;
    top:50%;left:50%;
    transform:translate(-50%,-48%) scale(.94);
    width:min(460px, calc(100vw - 2rem));
    max-height:calc(100vh - 3rem);
    background:#fff;
    border-radius:1.5rem;
    box-shadow:
        0 24px 60px rgba(0,0,0,.3),
        0 0 0 1px rgba(0,0,0,.05);
    z-index:99999;
    overflow:hidden auto;
    opacity:0;pointer-events:none;
    transition:opacity .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
}
.ad-popup-clean.show{
    opacity:1;pointer-events:auto;
    transform:translate(-50%,-50%) scale(1);
}

/* ---------- CLOSE BUTTON (large, easy tap) ---------- */
.ad-popup-close{
    position:absolute;top:.75rem;right:.75rem;
    width:38px;height:38px;
    border-radius:999px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    border:1px solid rgba(0,0,0,.08);
    color:#1A1A1A;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
    z-index:10;
    transition:.2s;
    padding:0;
    font-family:inherit;
    box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.ad-popup-close:hover{
    background:#1A1A1A;color:#fff;
    transform:rotate(90deg) scale(1.05);
}

/* ---------- IMAGE (proper aspect ratio) ---------- */
.ad-popup-image{
    position:relative;
    width:100%;
    aspect-ratio:16/10;
    background:#F5F5F4;
    overflow:hidden;
}
.ad-popup-image img{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
}
.ad-popup-badge{
    position:absolute;
    top:1rem;left:1rem;
    background:linear-gradient(135deg,#F59E0B,#D6001C);
    color:#fff;
    padding:.35rem .75rem;
    border-radius:999px;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    box-shadow:0 4px 12px rgba(214,0,28,.3);
}

/* ---------- CONTENT (clean, breathable) ---------- */
.ad-popup-content{
    padding:1.5rem;
}
.ad-popup-eyebrow{
    font-size:.7rem;
    font-weight:800;
    color:#D6001C;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:.5rem;
}
.ad-popup-title{
    font-size:1.375rem;
    font-weight:900;
    line-height:1.2;
    color:#1A1A1A;
    margin:0 0 .75rem;
    letter-spacing:-.02em;
}
.ad-popup-desc{
    font-size:.9rem;
    line-height:1.6;
    color:#57534E;
    margin:0 0 1.5rem;
}

/* ---------- ACTIONS (stacked, clean) ---------- */
.ad-popup-actions{
    display:flex;
    flex-direction:column;
    gap:.625rem;
}
.ad-popup-btn-primary{
    display:flex;align-items:center;justify-content:center;
    background:#D6001C;color:#fff;
    padding:1rem 1.5rem;
    border-radius:.875rem;
    font-weight:800;
    font-size:.95rem;
    text-decoration:none;
    transition:.2s;
    border:none;
    cursor:pointer;
    font-family:inherit;
    box-shadow:0 8px 20px rgba(214,0,28,.25);
}
.ad-popup-btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(214,0,28,.35);
    filter:brightness(1.05);
}
.ad-popup-btn-primary:active{transform:translateY(0)}

.ad-popup-btn-secondary{
    background:transparent;
    border:none;
    color:#78716C;
    padding:.75rem;
    font-size:.85rem;
    font-weight:600;
    cursor:pointer;
    transition:.2s;
    font-family:inherit;
    text-align:center;
}
.ad-popup-btn-secondary:hover{color:#1A1A1A;text-decoration:underline}

/* ============================================================
   TOP BANNER (clean, unobtrusive)
   ============================================================ */
.ad-banner-clean{
    position:relative;
    background:linear-gradient(90deg,#FEF3C7,#FED7AA);
    border-bottom:1px solid rgba(245,158,11,.3);
    padding:.75rem 1rem;
    z-index:100;
}
.ad-banner-inner{
    max-width:1280px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:.75rem;
    flex-wrap:wrap;
    justify-content:center;
}
.ad-banner-icon{font-size:1.1rem}
.ad-banner-text{
    font-size:.875rem;
    color:#78350F;
    flex:1;
    min-width:0;
    text-align:center;
}
.ad-banner-text strong{font-weight:800}
.ad-banner-sub{opacity:.8;font-weight:500}
.ad-banner-btn{
    background:#D6001C;color:#fff;
    padding:.5rem 1rem;
    border-radius:.5rem;
    font-size:.8rem;
    font-weight:800;
    text-decoration:none;
    transition:.2s;
    white-space:nowrap;
    flex-shrink:0;
}
.ad-banner-btn:hover{
    background:#B00016;
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(214,0,28,.3);
}
.ad-banner-close{
    background:transparent;
    border:none;
    color:#78350F;
    cursor:pointer;
    padding:.4rem .6rem;
    border-radius:.4rem;
    transition:.2s;
    font-size:1rem;
    line-height:1;
    flex-shrink:0;
    opacity:.6;
}
.ad-banner-close:hover{
    opacity:1;
    background:rgba(120,53,15,.1);
}

/* ============================================================
   BOTTOM STICKY (clean, minimal)
   ============================================================ */
.ad-sticky-clean{
    position:fixed;
    bottom:0;left:0;right:0;
    background:#fff;
    border-top:1px solid rgba(0,0,0,.08);
    box-shadow:0 -8px 30px rgba(0,0,0,.08);
    padding:.875rem 1rem;
    z-index:9997;
    display:flex;
    align-items:center;
    gap:1rem;
    transform:translateY(100%);
    transition:transform .4s cubic-bezier(.34,1.56,.64,1);
    padding-bottom:calc(.875rem + env(safe-area-inset-bottom,0px));
}
.ad-sticky-clean.show{transform:translateY(0)}
.ad-sticky-img{
    width:56px;height:56px;
    border-radius:.75rem;
    object-fit:cover;
    flex-shrink:0;
    background:#F5F5F4;
}
.ad-sticky-text{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.15rem;
}
.ad-sticky-text strong{
    font-size:.9rem;
    font-weight:800;
    color:#1A1A1A;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ad-sticky-text span{
    font-size:.75rem;
    color:#78716C;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ad-sticky-btn{
    background:#D6001C;color:#fff;
    padding:.625rem 1.25rem;
    border-radius:.625rem;
    font-size:.85rem;
    font-weight:800;
    text-decoration:none;
    transition:.2s;
    white-space:nowrap;
    flex-shrink:0;
}
.ad-sticky-btn:hover{
    background:#B00016;
    transform:translateY(-1px);
}
.ad-sticky-close{
    background:rgba(0,0,0,.05);
    border:none;
    width:32px;height:32px;
    border-radius:999px;
    color:#78716C;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:.2s;
    font-size:.9rem;
    line-height:1;
    flex-shrink:0;
    padding:0;
}
.ad-sticky-close:hover{
    background:#EF4444;
    color:#fff;
}

/* ============================================================
   MOBILE RESPONSIVE
   ============================================================ */
@media(max-width:640px){
    .ad-popup-clean{
        width:calc(100vw - 1rem);
        max-height:calc(100vh - 1rem);
        border-radius:1.25rem;
    }
    .ad-popup-close{
        width:34px;height:34px;
        top:.625rem;right:.625rem;
    }
    .ad-popup-image{aspect-ratio:16/11}
    .ad-popup-content{padding:1.25rem}
    .ad-popup-title{font-size:1.15rem}
    .ad-popup-desc{font-size:.85rem;margin-bottom:1.25rem}
    .ad-popup-btn-primary{padding:.875rem 1.25rem;font-size:.9rem}
    
    .ad-banner-inner{gap:.5rem}
    .ad-banner-text{font-size:.75rem;line-height:1.4}
    .ad-banner-sub{display:block;margin-top:.15rem}
    .ad-banner-btn{padding:.4rem .75rem;font-size:.7rem}
    
    .ad-sticky-clean{
        padding:.75rem;
        gap:.75rem;
    }
    .ad-sticky-img{width:48px;height:48px}
    .ad-sticky-text strong{font-size:.8rem}
    .ad-sticky-text span{font-size:.7rem}
    .ad-sticky-btn{padding:.5rem 1rem;font-size:.75rem}
    .ad-sticky-close{width:28px;height:28px}
}

@media(max-width:360px){
    .ad-popup-content{padding:1rem}
    .ad-popup-title{font-size:1.05rem}
    .ad-popup-btn-primary{padding:.75rem 1rem;font-size:.85rem}
}

/* ---------- REDUCED MOTION ---------- */
@media(prefers-reduced-motion:reduce){
    .ad-popup-clean,.ad-overlay-clean,.ad-sticky-clean{
        transition-duration:.01ms !important;
    }
}

/* ---------- PREVENT SCROLL JUMP ---------- */
body.ad-open{overflow:hidden;padding-right:var(--scrollbar-width,0)}


/* ============================================================
   PROPERTY DETAIL — COMPARE BUTTON + CAPTION + FIXES
   ============================================================ */
.lin-compare-btn{
    position:absolute;
    top:1rem;
    right:4rem;
    background:rgba(139,92,246,.95);
    color:#fff;
    border:none;
    padding:.5rem 1rem;
    border-radius:.75rem;
    font-size:.8rem;
    font-weight:800;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:.35rem;
    transition:.2s;
    font-family:inherit;
    backdrop-filter:blur(8px);
    z-index:3;
}
.lin-compare-btn:hover{
    background:#7C3AED;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(139,92,246,.4);
}

.lin-lightbox-caption{
    position:absolute;
    bottom:2rem;
    left:50%;
    transform:translateX(-50%);
    background:rgba(0,0,0,.75);
    color:#fff;
    padding:.75rem 1.5rem;
    border-radius:999px;
    font-size:.9rem;
    font-weight:600;
    backdrop-filter:blur(8px);
    max-width:90%;
    text-align:center;
}

/* Fix area label spacing */
.lin-spec strong{
    display:block;
    line-height:1.2;
    margin-bottom:2px;
}
.lin-spec span{
    display:block;
    line-height:1;
}

/* Compare Bar (bottom fixed) */
.lin-compare-bar{
    position:fixed;
    bottom:0;left:0;right:0;
    background:linear-gradient(135deg,#0F1724,#1A1A1A);
    color:#fff;
    padding:1rem;
    z-index:9998;
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
    box-shadow:0 -10px 40px rgba(0,0,0,.25);
    transform:translateY(100%);
    transition:transform .3s;
    padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));
}
.lin-compare-bar.show{
    display:flex;
    transform:translateY(0);
}
.lin-compare-bar .props{
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
    flex:1;
    min-width:0;
}
.lin-compare-bar .chip{
    background:rgba(255,255,255,.1);
    padding:.4rem .75rem;
    border-radius:999px;
    font-size:.75rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    max-width:200px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lin-compare-bar .chip button{
    background:rgba(255,255,255,.15);
    border:none;
    color:#fff;
    width:18px;height:18px;
    border-radius:999px;
    cursor:pointer;
    font-size:.7rem;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    flex-shrink:0;
}
.lin-compare-bar .chip button:hover{background:#EF4444}
.lin-compare-bar .actions{
    display:flex;
    gap:.5rem;
    flex-shrink:0;
}
.lin-compare-bar .actions a,
.lin-compare-bar .actions button{
    padding:.625rem 1.25rem;
    border-radius:.625rem;
    font-size:.85rem;
    font-weight:800;
    border:none;
    cursor:pointer;
    text-decoration:none;
    font-family:inherit;
    transition:.2s;
    white-space:nowrap;
}
.lin-compare-bar .actions .go{
    background:#8B5CF6;
    color:#fff;
}
.lin-compare-bar .actions .go:hover{background:#7C3AED;transform:translateY(-2px)}
.lin-compare-bar .actions .clear{
    background:rgba(255,255,255,.1);
    color:#fff;
}
.lin-compare-bar .actions .clear:hover{background:rgba(255,255,255,.2)}

/* Toast */
.lin-toast{
    position:fixed;
    bottom:6rem;
    left:50%;
    transform:translateX(-50%);
    background:#10B981;
    color:#fff;
    padding:1rem 1.5rem;
    border-radius:.75rem;
    font-size:.9rem;
    font-weight:700;
    z-index:10000;
    box-shadow:0 10px 30px rgba(16,185,129,.4);
    animation:toastIn .3s;
    transition:opacity .3s;
}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}

/* Mobile adjustments */
@media(max-width:640px){
    .lin-compare-btn{
        top:.75rem;
        right:3.5rem;
        padding:.4rem .75rem;
        font-size:.7rem;
    }
    .lin-compare-btn span{display:none}
    .lin-compare-bar{
        flex-direction:column;
        padding:.875rem;
        gap:.5rem;
    }
    .lin-compare-bar .props{width:100%;justify-content:center}
    .lin-compare-bar .chip{font-size:.7rem;padding:.35rem .6rem}
    .lin-compare-bar .actions{width:100%}
    .lin-compare-bar .actions a,
    .lin-compare-bar .actions button{flex:1;text-align:center;padding:.625rem}
    .lin-lightbox-caption{font-size:.8rem;padding:.5rem 1rem}
    .lin-toast{bottom:5rem;font-size:.8rem;padding:.75rem 1.25rem}
}

/* ============================================================
   AUTO-SLIDING GALLERY
   ============================================================ */

/* Gallery main container */
.lin-gallery-main{
    position:relative;
    overflow:hidden;
    background:#0F1724;
    cursor:zoom-in;
}

/* Sliding images */
.gallery-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transform:scale(1.03);
    transition:opacity .8s ease, transform 4s ease;
    pointer-events:none;
}
.gallery-slide.active{
    opacity:1;
    transform:scale(1);
    z-index:1;
    pointer-events:auto;
}

/* Progress bar at top */
.gallery-progress{
    position:absolute;
    top:0;
    left:0;
    height:3px;
    width:0%;
    background:linear-gradient(90deg, #D6001C, #F59E0B);
    z-index:10;
    box-shadow:0 0 10px rgba(214,0,28,.6);
    border-radius:0 2px 2px 0;
}

/* Badges stay on top */
.lin-gallery-badges{
    z-index:5;
}

/* Nav buttons */
.lin-gallery-nav{
    z-index:6;
}

/* Fullscreen button */
.lin-gallery-fullscreen{
    z-index:6;
}

/* Compare button */
.lin-compare-btn{
    z-index:6;
}

/* Hover effect — subtle dim + scale */
.lin-gallery-main:hover .gallery-slide.active{
    transform:scale(1.02);
}

/* Thumbnail hover — indicate it's clickable */
.lin-thumb{
    transition:opacity .2s, transform .2s, border-color .2s;
}
.lin-thumb:hover{
    transform:scale(1.05);
}

/* Mobile — disable auto-scale (perf) */
@media(max-width:640px){
    .gallery-slide{
        transform:none;
        transition:opacity .6s ease;
    }
    .gallery-slide.active{
        transform:none;
    }
    .gallery-progress{
        height:2px;
    }
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    .gallery-slide{
        transition:opacity .2s ease;
        transform:none !important;
    }
    .gallery-progress{
        transition:none !important;
        display:none;
    }
}

/* Fullscreen lightbox — keep as is */
.lin-lightbox.active{
    z-index:99999;
}


/* ============================================================
   EMI CALCULATOR — FULLY INTERACTIVE
   ============================================================ */
.emi-calculator-card{
    background:linear-gradient(135deg,#FFF9F9,#FFFFFF);
    border:1px solid rgba(214,0,28,.1);
}

/* Big EMI display */
.emi-display{
    text-align:center;
    padding:1.25rem;
    background:linear-gradient(135deg,#D6001C,#B00016);
    border-radius:1rem;
    margin-bottom:1.25rem;
    color:#fff;
    box-shadow:0 8px 24px rgba(214,0,28,.25);
}
.emi-display-label{
    font-size:.7rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:rgba(255,255,255,.8);
    margin-bottom:.35rem;
}
.emi-display-value{
    font-size:1.75rem;
    font-weight:900;
    line-height:1.1;
    margin-bottom:.25rem;
    font-variant-numeric:tabular-nums;
}
.emi-display-sub{
    font-size:.7rem;
    color:rgba(255,255,255,.75);
    font-weight:500;
}

/* Slider groups */
.emi-slider-group{
    margin-bottom:1.25rem;
}
.emi-slider-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:.5rem;
    gap:.75rem;
}
.emi-slider-header label{
    font-size:.8rem;
    font-weight:700;
    color:var(--stone-700);
    text-transform:none;
    letter-spacing:0;
    margin:0;
}
.emi-slider-value{
    font-size:.9rem;
    font-weight:900;
    color:var(--primary);
    position:relative;
    display:flex;
    align-items:center;
    gap:.35rem;
}
.emi-slider-value small{
    font-size:.7rem;
    font-weight:600;
    color:var(--stone-500);
}
.emi-input{
    width:100px;
    padding:.35rem .5rem .35rem 1.25rem;
    border:1px solid var(--stone-200);
    border-radius:.4rem;
    font-size:.8rem;
    font-weight:800;
    text-align:right;
    color:var(--primary);
    font-family:inherit;
    transition:.2s;
    background:#fff;
}
.emi-input:focus{
    outline:none;
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(214,0,28,.1);
}
.emi-input-prefix{
    position:absolute;
    left:.4rem;
    font-size:.8rem;
    font-weight:800;
    color:var(--primary);
    pointer-events:none;
    top:50%;
    transform:translateY(-50%);
}

/* Range slider (custom) */
.emi-slider{
    width:100%;
    height:6px;
    border-radius:999px;
    background:linear-gradient(to right, var(--primary) 0%, var(--primary) 50%, #E7E5E4 50%, #E7E5E4 100%);
    outline:none;
    -webkit-appearance:none;
    appearance:none;
    cursor:pointer;
    transition:background .2s;
    margin:0;
}
.emi-slider::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:22px;
    height:22px;
    border-radius:999px;
    background:#fff;
    border:3px solid var(--primary);
    cursor:pointer;
    transition:.2s;
    box-shadow:0 2px 8px rgba(214,0,28,.3);
}
.emi-slider::-webkit-slider-thumb:hover{
    transform:scale(1.15);
    box-shadow:0 4px 12px rgba(214,0,28,.5);
}
.emi-slider::-moz-range-thumb{
    width:22px;
    height:22px;
    border-radius:999px;
    background:#fff;
    border:3px solid var(--primary);
    cursor:pointer;
    transition:.2s;
    box-shadow:0 2px 8px rgba(214,0,28,.3);
}
.emi-slider::-moz-range-track{
    height:6px;
    border-radius:999px;
    background:#E7E5E4;
}
.emi-slider::-moz-range-progress{
    height:6px;
    border-radius:999px;
    background:var(--primary);
}
.emi-range-labels{
    display:flex;
    justify-content:space-between;
    margin-top:.35rem;
    font-size:.65rem;
    color:var(--stone-400);
    font-weight:600;
}

/* Breakdown table */
.emi-breakdown{
    background:var(--stone-50);
    border-radius:.75rem;
    padding:.875rem 1rem;
    margin:1.25rem 0;
}
.emi-breakdown-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:.5rem 0;
    font-size:.8rem;
    color:var(--stone-600);
    border-bottom:1px dashed var(--stone-200);
}
.emi-breakdown-row:last-child{
    border-bottom:none;
    padding-top:.65rem;
    margin-top:.25rem;
    border-top:1px solid var(--stone-200);
    font-size:.9rem;
}
.emi-breakdown-row strong{
    font-weight:900;
    color:var(--secondary);
    font-variant-numeric:tabular-nums;
}
.emi-breakdown-row:last-child strong{
    color:var(--primary);
    font-size:1.05rem;
}

/* Chart */
.emi-chart-wrap{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.75rem;
    padding:1rem 0;
    margin-bottom:1rem;
    border-top:1px solid var(--stone-100);
}
.emi-chart-wrap canvas{
    max-width:180px;
    width:180px;
    height:180px;
    display:block;
}
.emi-chart-legend{
    display:flex;
    gap:1rem;
    justify-content:center;
    font-size:.75rem;
    font-weight:600;
    color:var(--stone-600);
}
.emi-chart-legend > div{
    display:flex;
    align-items:center;
    gap:.35rem;
}
.emi-chart-legend .dot{
    width:10px;
    height:10px;
    border-radius:999px;
    flex-shrink:0;
}
.emi-chart-legend .dot-principal{background:#D6001C}
.emi-chart-legend .dot-interest{background:#F59E0B}

/* Action buttons */
.emi-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.5rem;
    margin-top:1rem;
}
.emi-action-btn{
    padding:.75rem .5rem;
    border-radius:.625rem;
    font-size:.8rem;
    font-weight:800;
    text-align:center;
    text-decoration:none;
    border:1px solid var(--stone-200);
    background:#fff;
    color:var(--secondary);
    cursor:pointer;
    transition:.2s;
    font-family:inherit;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
}
.emi-action-btn:hover{
    border-color:var(--primary);
    color:var(--primary);
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(214,0,28,.1);
}
.emi-action-primary{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}
.emi-action-primary:hover{
    background:var(--primary-dark);
    color:#fff;
    box-shadow:0 4px 16px rgba(214,0,28,.3);
}

/* Note */
.emi-note{
    font-size:.65rem;
    color:var(--stone-400);
    text-align:center;
    margin:.875rem 0 0;
    line-height:1.5;
    font-style:italic;
}

/* Mobile responsive */
@media(max-width:640px){
    .emi-display{padding:1rem;border-radius:.875rem}
    .emi-display-value{font-size:1.5rem}
    .emi-slider-header{flex-wrap:wrap}
    .emi-slider-header label{font-size:.75rem}
    .emi-input{width:90px;font-size:.75rem}
    .emi-slider::-webkit-slider-thumb{width:20px;height:20px;border-width:2px}
    .emi-slider::-moz-range-thumb{width:20px;height:20px;border-width:2px}
    .emi-breakdown{padding:.75rem}
    .emi-breakdown-row{font-size:.75rem;padding:.4rem 0}
    .emi-breakdown-row:last-child strong{font-size:.95rem}
    .emi-chart-wrap canvas{max-width:150px;width:150px;height:150px}
    .emi-chart-legend{font-size:.7rem;gap:.75rem}
    .emi-actions{grid-template-columns:1fr}
    .emi-action-btn{font-size:.75rem;padding:.625rem}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    .emi-slider::-webkit-slider-thumb,
    .emi-slider::-moz-range-thumb,
    .emi-action-btn{
        transition:none;
    }
}


/* ============================================================
   HERO BANNER — AUTO-SLIDE ENHANCEMENTS
   ============================================================ */

/* Smooth fade transition */
.lin-banner-slide{
    transition:opacity .9s ease !important;
}

.lin-banner-slide.active .lin-banner-content h1{
    animation:bannerTextUp .8s .1s ease both;
}
.lin-banner-slide.active .lin-banner-content p{
    animation:bannerTextUp .8s .25s ease both;
}
.lin-banner-slide.active .lin-banner-btn{
    animation:bannerTextUp .8s .4s ease both;
}

@keyframes bannerTextUp{
    from{opacity:0;transform:translateY(25px)}
    to{opacity:1;transform:translateY(0)}
}

/* Zoom effect on active slide's background */
.lin-banner-slide.active{
    background-size:cover;
    animation:bannerZoom 8s ease-out forwards;
}
@keyframes bannerZoom{
    from{background-size:100%}
    to{background-size:108%}
}

/* Progress bar at top */
.banner-progress-bar{
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:rgba(255,255,255,.15);
    z-index:5;
    overflow:hidden;
}
.banner-progress-fill{
    height:100%;
    width:0%;
    background:linear-gradient(90deg,#D6001C,#F59E0B);
    box-shadow:0 0 10px rgba(214,0,28,.7);
    transition:width 5s linear;
}

/* Dots improvements */
.lin-banner-dot{
    transition:all .3s ease !important;
}
.lin-banner-dot:hover{
    transform:scale(1.3);
    background:rgba(255,255,255,.8) !important;
}
.lin-banner-dot.active{
    box-shadow:0 0 0 2px rgba(255,255,255,.4), 0 0 15px rgba(255,255,255,.5);
}

/* Arrow improvements */
.lin-banner-arrow{
    transition:all .3s ease !important;
}
.lin-banner-arrow:active{
    transform:translateY(-50%) scale(.9);
}

/* Mobile responsive */
@media(max-width:640px){
    .banner-progress-bar{height:2px}
    .lin-banner-slide.active{
        animation:none;
    }
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    .lin-banner-slide,
    .lin-banner-slide.active{
        animation:none !important;
        transition:opacity .2s !important;
    }
    .lin-banner-slide.active .lin-banner-content h1,
    .lin-banner-slide.active .lin-banner-content p,
    .lin-banner-slide.active .lin-banner-btn{
        animation:none !important;
    }
    .banner-progress-bar{display:none}
}

/* When slide is being manually navigated — smooth transition */
.lin-banner-slide.no-transition{
    transition:none !important;
}


/* ============================================================
   SMART HOMEPAGE FEATURES
   ============================================================ */

/* ============ SAVED SEARCH REMINDER ============ */
.smart-reminder{
    max-width:1280px;
    margin:1.5rem auto 0;
    padding:0 1rem;
}
.smart-reminder-inner{
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1rem 1.25rem;
    background:linear-gradient(135deg,#FEF3C7,#FDE68A);
    border:1px solid #FCD34D;
    border-radius:1rem;
    box-shadow:0 4px 20px rgba(245,158,11,.15);
    flex-wrap:wrap;
}
.smart-reminder-icon{font-size:1.75rem;flex-shrink:0}
.smart-reminder-text{flex:1;min-width:0}
.smart-reminder-text strong{display:block;font-size:.95rem;font-weight:800;color:#78350F;margin-bottom:.15rem}
.smart-reminder-text span{font-size:.8rem;color:#92400E;font-style:italic}
.smart-reminder-btn{
    padding:.625rem 1.25rem;
    background:#D6001C;
    color:#fff;
    border-radius:.5rem;
    font-size:.85rem;
    font-weight:800;
    text-decoration:none;
    transition:.2s;
    white-space:nowrap;
    flex-shrink:0;
}
.smart-reminder-btn:hover{background:#B00016;transform:translateY(-1px)}

/* ============ STATS TICKER ============ */
.stats-ticker{
    background:linear-gradient(90deg,#0F1724,#1A1A1A);
    padding:.875rem 1rem;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.05);
}
.stats-ticker-inner{
    max-width:1280px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.5rem;
    flex-wrap:wrap;
    color:#fff;
    font-size:.85rem;
}
.ticker-item{
    display:flex;
    align-items:center;
    gap:.5rem;
    font-weight:600;
}
.ticker-item strong{
    font-size:1.1rem;
    font-weight:900;
    color:#F59E0B;
    font-variant-numeric:tabular-nums;
}
.ticker-divider{color:rgba(255,255,255,.2)}
.pulse-dot{
    width:8px;height:8px;
    background:#10B981;
    border-radius:999px;
    animation:pulseLive 1.5s ease-in-out infinite;
    box-shadow:0 0 0 0 rgba(16,185,129,.7);
}
@keyframes pulseLive{
    0%{box-shadow:0 0 0 0 rgba(16,185,129,.7)}
    70%{box-shadow:0 0 0 10px rgba(16,185,129,0)}
    100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}
}

/* ============ PROPERTY OF THE DAY ============ */
.potd-section{
    background:linear-gradient(135deg,#FFF9F9,#FFFFFF);
    padding:3rem 1rem;
}
.potd-wrap{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:0;
    background:#fff;
    border-radius:2rem;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(214,0,28,.1);
    border:1px solid rgba(214,0,28,.1);
}
@media(max-width:900px){.potd-wrap{grid-template-columns:1fr}}
.potd-image{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    cursor:pointer;
    background:#F5F5F4;
}
@media(max-width:900px){.potd-image{aspect-ratio:16/9}}
.potd-image img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .8s;
}
.potd-image:hover img{transform:scale(1.05)}
.potd-badge{
    position:absolute;
    top:1.5rem;left:1.5rem;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    background:linear-gradient(135deg,#F59E0B,#D6001C);
    color:#fff;
    padding:.5rem 1rem;
    border-radius:999px;
    font-size:.75rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    box-shadow:0 8px 20px rgba(214,0,28,.4);
    animation:potdBounce 2s infinite;
}
@keyframes potdBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.potd-date{
    position:absolute;
    bottom:1.5rem;left:1.5rem;
    background:rgba(0,0,0,.7);
    backdrop-filter:blur(10px);
    color:#fff;
    padding:.5rem 1rem;
    border-radius:.5rem;
    font-size:.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.potd-content{
    padding:2.5rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
@media(max-width:640px){.potd-content{padding:1.5rem}}
.potd-eyebrow{
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
    color:#D6001C;
    margin-bottom:.75rem;
}
.potd-title{
    font-size:clamp(1.5rem,2.5vw,2rem);
    font-weight:900;
    line-height:1.15;
    margin:0 0 .75rem;
    color:#1A1A1A;
}
.potd-loc{
    font-size:.9rem;
    color:#78716C;
    margin-bottom:1rem;
}
.potd-price{
    font-size:2rem;
    font-weight:900;
    color:#D6001C;
    line-height:1;
    margin-bottom:1rem;
}
.potd-specs{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:1rem;
    font-size:.85rem;
    font-weight:600;
    color:#57534E;
}
.potd-desc{
    font-size:.9rem;
    line-height:1.6;
    color:#78716C;
    margin-bottom:1.5rem;
}
.potd-actions{
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
}
.potd-btn-primary{
    padding:.875rem 1.75rem;
    background:#D6001C;
    color:#fff;
    border-radius:.75rem;
    font-weight:800;
    font-size:.9rem;
    text-decoration:none;
    transition:.2s;
    box-shadow:0 8px 20px rgba(214,0,28,.25);
}
.potd-btn-primary:hover{background:#B00016;transform:translateY(-2px)}
.potd-btn-ghost{
    padding:.875rem 1.5rem;
    background:#fff;
    color:#1A1A1A;
    border:1px solid #E7E5E4;
    border-radius:.75rem;
    font-weight:700;
    font-size:.9rem;
    text-decoration:none;
    transition:.2s;
}
.potd-btn-ghost:hover{border-color:#D6001C;color:#D6001C}

/* ============ SMART SECTION BASE ============ */
.smart-section{
    padding:3rem 1rem;
    background:#fff;
    border-top:1px solid #F5F5F4;
}
.smart-section-dark{
    background:linear-gradient(135deg,#0F1724,#1A1A1A);
    border-top:none;
}
.smart-section-green{
    background:linear-gradient(135deg,#F0FDF4,#DCFCE7);
}
.smart-section-purple{
    background:linear-gradient(135deg,#F5F3FF,#EDE9FE);
}
.smart-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:1rem;
    margin-bottom:2rem;
}
.smart-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .85rem;
    border-radius:999px;
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:.75rem;
}
.smart-badge-blue{background:rgba(59,130,246,.15);color:#1E40AF}
.smart-badge-fire{background:linear-gradient(135deg,#F59E0B,#DC2626);color:#fff}
.smart-badge-green{background:linear-gradient(135deg,#10B981,#059669);color:#fff}
.smart-badge-yellow{background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff}
.smart-badge-purple{background:linear-gradient(135deg,#8B5CF6,#6D28D9);color:#fff}
.smart-title{
    font-size:clamp(1.35rem,3vw,1.875rem);
    font-weight:900;
    letter-spacing:-.02em;
    margin:0;
    color:#1A1A1A;
    line-height:1.2;
}
.smart-link{
    color:#D6001C;
    font-size:.875rem;
    font-weight:800;
    text-decoration:none;
    padding:.5rem 1rem;
    border-radius:.5rem;
    transition:.2s;
    white-space:nowrap;
}
.smart-link:hover{background:rgba(214,0,28,.08)}

/* ============ SMART GRID ============ */
.smart-grid{
    display:grid;
    gap:1.25rem;
}
.smart-grid-3{grid-template-columns:repeat(3,1fr)}
.smart-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){
    .smart-grid-3{grid-template-columns:repeat(2,1fr)}
    .smart-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
    .smart-grid-3,.smart-grid-4{grid-template-columns:1fr}
}

/* ============ SMART CARD ============ */
.smart-card{
    display:block;
    background:#fff;
    border-radius:1.25rem;
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    border:1px solid #E7E5E4;
    transition:all .3s cubic-bezier(.4,0,.2,1);
}
.smart-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 40px rgba(0,0,0,.1);
    border-color:rgba(214,0,28,.3);
}
.smart-img{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#F5F5F4;
}
.smart-img img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .6s;
}
.smart-card:hover .smart-img img{transform:scale(1.08)}

.smart-tag-viewed,
.smart-badge-new,
.smart-badge-ai{
    position:absolute;
    top:.75rem;
    padding:.3rem .7rem;
    border-radius:999px;
    font-size:.65rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    backdrop-filter:blur(8px);
}
.smart-tag-viewed{
    right:.75rem;
    background:rgba(59,130,246,.9);
    color:#fff;
}
.smart-badge-new{
    left:.75rem;
    background:linear-gradient(135deg,#10B981,#059669);
    color:#fff;
    animation:pulseNew 2s infinite;
}
@keyframes pulseNew{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.smart-badge-ai{
    left:.75rem;
    background:linear-gradient(135deg,#8B5CF6,#EC4899);
    color:#fff;
}

.smart-body{padding:1rem}
.smart-name{
    font-size:.95rem;
    font-weight:800;
    line-height:1.3;
    margin:0 0 .75rem;
    color:#1A1A1A;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:2.5em;
}
.smart-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.5rem;
    font-size:.75rem;
    color:#78716C;
}
.smart-price{
    font-weight:900;
    color:#D6001C;
    font-size:.9rem;
    white-space:nowrap;
}

/* ============ TRENDING CARDS ============ */
.trend-card{
    display:block;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    border-radius:1.25rem;
    overflow:hidden;
    text-decoration:none;
    color:#fff;
    transition:.3s;
    position:relative;
}
.trend-card:hover{
    background:rgba(255,255,255,.1);
    transform:translateY(-6px);
    border-color:rgba(245,158,11,.4);
    box-shadow:0 20px 40px rgba(245,158,11,.2);
}
.trend-rank{
    position:absolute;
    top:1rem;left:1rem;
    background:linear-gradient(135deg,#F59E0B,#D6001C);
    color:#fff;
    padding:.4rem .85rem;
    border-radius:999px;
    font-size:.7rem;
    font-weight:900;
    z-index:2;
    box-shadow:0 4px 12px rgba(245,158,11,.5);
}
.trend-img{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#1A1A1A;
}
.trend-img img{width:100%;height:100%;object-fit:cover;transition:.6s}
.trend-card:hover .trend-img img{transform:scale(1.06)}
.trend-body{padding:1.25rem}
.trend-name{
    font-size:1rem;
    font-weight:800;
    line-height:1.3;
    margin:0 0 .75rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.trend-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:.8rem;
    color:rgba(255,255,255,.7);
    margin-bottom:.875rem;
}
.trend-price{
    color:#F59E0B;
    font-weight:900;
    font-size:.95rem;
}
.trend-score{
    display:flex;
    align-items:center;
    gap:.5rem;
    font-size:.7rem;
    color:rgba(255,255,255,.6);
    font-weight:700;
}
.trend-bar{
    flex:1;
    height:4px;
    background:rgba(255,255,255,.1);
    border-radius:999px;
    overflow:hidden;
}
.trend-fill{
    height:100%;
    background:linear-gradient(90deg,#F59E0B,#D6001C);
    border-radius:999px;
    transition:width 1s ease;
}

/* ============ PRICE DROP CARD ============ */
.price-drop-card{
    border-color:rgba(16,185,129,.2);
}
.price-drop-card:hover{
    border-color:#10B981;
    box-shadow:0 20px 40px rgba(16,185,129,.15);
}
.price-drop-badge{
    position:absolute;
    top:.75rem;left:.75rem;
    background:linear-gradient(135deg,#10B981,#059669);
    color:#fff;
    padding:.4rem .8rem;
    border-radius:.5rem;
    font-size:.8rem;
    font-weight:900;
    box-shadow:0 4px 12px rgba(16,185,129,.4);
}
.price-strike{
    display:flex;
    align-items:baseline;
    gap:.5rem;
    flex-wrap:wrap;
}
.price-strike .old{
    font-size:.8rem;
    color:#A8A29E;
    text-decoration:line-through;
}
.price-strike .new{
    font-size:1.05rem;
    font-weight:900;
    color:#10B981;
}

/* ============ LOCATION SUGGEST ============ */
.location-suggest{
    max-width:1280px;
    margin:0 auto;
    padding:1rem;
    display:flex;
    align-items:center;
    gap:.5rem;
    justify-content:center;
    flex-wrap:wrap;
    background:rgba(214,0,28,.03);
    border-top:1px solid rgba(214,0,28,.1);
    border-bottom:1px solid rgba(214,0,28,.1);
    font-size:.875rem;
    color:#57534E;
}
.location-link{
    color:#D6001C;
    font-weight:700;
    text-decoration:none;
    padding:.35rem .75rem;
    border-radius:.5rem;
    transition:.2s;
}
.location-link:hover{background:rgba(214,0,28,.08)}
.location-link strong{font-weight:900}

/* ============ ANIMATION ============ */
.smart-section .smart-card{
    animation:smartFadeUp .6s ease both;
}
.smart-section .smart-card:nth-child(1){animation-delay:.05s}
.smart-section .smart-card:nth-child(2){animation-delay:.1s}
.smart-section .smart-card:nth-child(3){animation-delay:.15s}
.smart-section .smart-card:nth-child(4){animation-delay:.2s}
@keyframes smartFadeUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}

/* ============ REDUCED MOTION ============ */
@media(prefers-reduced-motion:reduce){
    .pulse-dot,.potd-badge,.smart-badge-new{animation:none}
    .smart-section .smart-card{animation:none}
}


/* ============================================================
   TRANSACTION TYPES — Buy, Sell, Rent, Lease
   ============================================================ */

/* ============ TRANSACTION BADGES ============ */
.lin-badge.txn-sale{
    background:linear-gradient(135deg,#10B981,#059669);
    color:#fff;
}
.lin-badge.txn-rent{
    background:linear-gradient(135deg,#3B82F6,#2563EB);
    color:#fff;
}
.lin-badge.txn-lease{
    background:linear-gradient(135deg,#8B5CF6,#6D28D9);
    color:#fff;
}

/* ============ TRANSACTION SELECTOR (Homepage) ============ */
.txn-selector{
    max-width:1280px;
    margin:0 auto 1.5rem;
    padding:0 1rem;
}
.txn-tabs{
    display:flex;
    gap:.5rem;
    background:#fff;
    border-radius:1.25rem;
    padding:.5rem;
    box-shadow:0 4px 20px rgba(0,0,0,.06);
    border:1px solid rgba(0,0,0,.04);
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.txn-tabs::-webkit-scrollbar{display:none}
.txn-tab{
    flex:1;
    min-width:130px;
    padding:1rem 1.25rem;
    border:none;
    background:transparent;
    border-radius:.875rem;
    cursor:pointer;
    transition:.2s;
    font-family:inherit;
    font-size:.875rem;
    font-weight:800;
    color:#57534E;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    white-space:nowrap;
}
.txn-tab:hover{
    background:#FAFAF9;
    color:#1A1A1A;
}
.txn-tab.active{
    background:linear-gradient(135deg,#D6001C,#B00016);
    color:#fff;
    box-shadow:0 4px 16px rgba(214,0,28,.3);
    transform:translateY(-2px);
}
.txn-tab .txn-icon{font-size:1.1rem}
.txn-tab .txn-name{font-weight:900}
@media(max-width:640px){
    .txn-tab{
        min-width:100px;
        padding:.875rem .75rem;
        font-size:.8rem;
        flex-direction:column;
        gap:.25rem;
    }
    .txn-tab .txn-icon{font-size:1.25rem}
}

/* ============ TRANSACTION PAGE HEADER ============ */
.txn-hero{
    background:linear-gradient(135deg,#1A1A1A,#0F1724);
    color:#fff;
    padding:3rem 1rem;
    position:relative;
    overflow:hidden;
}
.txn-hero.sale{background:linear-gradient(135deg,#065F46,#10B981)}
.txn-hero.rent{background:linear-gradient(135deg,#1E40AF,#3B82F6)}
.txn-hero.lease{background:linear-gradient(135deg,#6D28D9,#8B5CF6)}
.txn-hero h1{
    font-size:clamp(1.75rem,4vw,3rem);
    font-weight:900;
    margin:0 0 .5rem;
    letter-spacing:-.02em;
}
.txn-hero p{
    font-size:1.05rem;
    color:rgba(255,255,255,.85);
    max-width:600px;
    margin:0;
}
.txn-hero-badge{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(10px);
    padding:.4rem 1rem;
    border-radius:999px;
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:1rem;
}

/* ============ PRICE DISPLAY (per transaction type) ============ */
.lin-detail-price.rent::after,
.lin-detail-price.lease::after{
    content:'/month';
    font-size:.7em;
    color:#78716C;
    font-weight:600;
    margin-left:.35rem;
}

.price-block{
    display:flex;
    flex-direction:column;
    gap:.5rem;
}
.price-main{
    font-size:1.75rem;
    font-weight:900;
    color:#D6001C;
    line-height:1;
}
.price-main.rent{color:#3B82F6}
.price-main.lease{color:#8B5CF6}
.price-sub{
    font-size:.8rem;
    color:#78716C;
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}
.price-sub strong{color:#1A1A1A;font-weight:800}
.price-negotiable{
    background:#FEF3C7;
    color:#92400E;
    padding:.2rem .6rem;
    border-radius:.35rem;
    font-size:.7rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

/* ============ RENT/LEASE INFO CARDS ============ */
.rent-info-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:.75rem;
    margin-top:1.5rem;
    padding:1.25rem;
    background:linear-gradient(135deg,#F0F9FF,#E0F2FE);
    border-radius:1rem;
    border:1px solid #BAE6FD;
}
.rent-info-grid.lease{
    background:linear-gradient(135deg,#F5F3FF,#EDE9FE);
    border-color:#DDD6FE;
}
.rent-info-item{
    display:flex;
    gap:.75rem;
    align-items:center;
    padding:.75rem;
    background:rgba(255,255,255,.7);
    border-radius:.75rem;
}
.rent-info-icon{
    width:42px;
    height:42px;
    border-radius:.625rem;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem;
    flex-shrink:0;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.rent-info-text{
    min-width:0;
}
.rent-info-text .label{
    font-size:.65rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#0369A1;
    margin-bottom:.15rem;
}
.rent-info-grid.lease .rent-info-text .label{color:#6D28D9}
.rent-info-text .value{
    font-size:.95rem;
    font-weight:900;
    color:#1A1A1A;
    line-height:1.2;
}
.rent-info-text .sub{
    font-size:.7rem;
    color:#78716C;
    margin-top:.1rem;
}

/* ============ FILTER CHIPS (Transaction-specific) ============ */
.txn-filters{
    background:#fff;
    border-radius:1rem;
    padding:1rem;
    margin-top:1rem;
    border:1px solid #E7E5E4;
}
.txn-filters-title{
    font-size:.7rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#D6001C;
    margin-bottom:.75rem;
    display:flex;
    align-items:center;
    gap:.4rem;
}
.txn-chip-group{
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
    margin-bottom:.75rem;
}
.txn-chip-group:last-child{margin-bottom:0}
.txn-chip-label{
    font-size:.7rem;
    font-weight:700;
    color:#78716C;
    align-self:center;
    margin-right:.25rem;
    min-width:60px;
}
.txn-chip{
    padding:.5rem .875rem;
    background:#FAFAF9;
    border:1.5px solid #E7E5E4;
    border-radius:999px;
    font-size:.75rem;
    font-weight:700;
    color:#57534E;
    cursor:pointer;
    transition:.15s;
    font-family:inherit;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
}
.txn-chip:hover{
    background:#fff;
    border-color:#D6001C;
    color:#D6001C;
}
.txn-chip.active{
    background:#D6001C;
    border-color:#D6001C;
    color:#fff;
    box-shadow:0 4px 12px rgba(214,0,28,.25);
}

/* ============ EMI/CALCULATOR (only for sale) ============ */
.emi-calculator-card.rent-only,
.emi-calculator-card.lease-only{
    background:linear-gradient(135deg,#F0F9FF,#FFFFFF);
    border-color:rgba(59,130,246,.15);
}

/* ============ TRANSACTION TYPE INDICATOR ============ */
.txn-indicator{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.35rem .875rem;
    border-radius:999px;
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:1rem;
}
.txn-indicator.sale{background:rgba(16,185,129,.15);color:#065F46}
.txn-indicator.rent{background:rgba(59,130,246,.15);color:#1E40AF}
.txn-indicator.lease{background:rgba(139,92,246,.15);color:#6D28D9}

/* ============ TRANSACTION TYPE TABS (Detail Page) ============ */
.txn-detail-tabs{
    display:flex;
    gap:.25rem;
    padding:.25rem;
    background:#F5F5F4;
    border-radius:.75rem;
    margin-bottom:1rem;
}
.txn-detail-tab{
    flex:1;
    padding:.6rem;
    border-radius:.5rem;
    font-size:.8rem;
    font-weight:700;
    text-align:center;
    cursor:pointer;
    transition:.15s;
    color:#78716C;
    border:none;
    background:transparent;
    font-family:inherit;
}
.txn-detail-tab.active{
    background:#fff;
    color:#D6001C;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}

/* ============ MOBILE ============ */
@media(max-width:640px){
    .rent-info-grid{
        grid-template-columns:1fr;
        padding:1rem;
    }
    .txn-chip-label{
        display:block;
        width:100%;
        min-width:0;
        margin:0 0 .35rem 0;
    }
    .txn-chip-group{
        gap:.4rem;
    }
    .txn-chip{
        font-size:.7rem;
        padding:.4rem .7rem;
    }
    .price-main{font-size:1.5rem}
}

/* ============ HOME QUICK LINKS (Buy/Rent/Lease) ============ */
.home-txn-links{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
    margin-top:1.5rem;
}
.home-txn-card{
    padding:1.5rem;
    border-radius:1.25rem;
    text-decoration:none;
    color:inherit;
    transition:.3s;
    display:flex;
    flex-direction:column;
    gap:.75rem;
    position:relative;
    overflow:hidden;
}
.home-txn-card::before{
    content:'';
    position:absolute;
    top:-50%;
    right:-50%;
    width:200px;
    height:200px;
    border-radius:999px;
    opacity:.08;
    transition:.5s;
}
.home-txn-card:hover::before{
    transform:scale(1.3);
}
.home-txn-card.sale{
    background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
    border:1px solid #A7F3D0;
}
.home-txn-card.sale::before{background:#10B981}
.home-txn-card.rent{
    background:linear-gradient(135deg,#EFF6FF,#DBEAFE);
    border:1px solid #BFDBFE;
}
.home-txn-card.rent::before{background:#3B82F6}
.home-txn-card.lease{
    background:linear-gradient(135deg,#F5F3FF,#EDE9FE);
    border:1px solid #DDD6FE;
}
.home-txn-card.lease::before{background:#8B5CF6}
.home-txn-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(0,0,0,.1);
}
.home-txn-icon{
    font-size:2rem;
    position:relative;
    z-index:1;
}
.home-txn-name{
    font-size:1.25rem;
    font-weight:900;
    position:relative;
    z-index:1;
    line-height:1;
}
.home-txn-card.sale .home-txn-name{color:#065F46}
.home-txn-card.rent .home-txn-name{color:#1E40AF}
.home-txn-card.lease .home-txn-name{color:#6D28D9}
.home-txn-desc{
    font-size:.8rem;
    color:#57534E;
    line-height:1.5;
    position:relative;
    z-index:1;
}
.home-txn-count{
    font-size:.75rem;
    font-weight:800;
    position:relative;
    z-index:1;
    margin-top:.25rem;
}
.home-txn-card.sale .home-txn-count{color:#059669}
.home-txn-card.rent .home-txn-count{color:#2563EB}
.home-txn-card.lease .home-txn-count{color:#7C3AED}
@media(max-width:640px){
    .home-txn-links{grid-template-columns:1fr}
}


/* ============================================================
   CAMERA UPLOAD BUTTONS
   ============================================================ */
.camera-btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.875rem 1.5rem;
    background:linear-gradient(135deg,#FEF3C7,#FDE68A);
    color:#78350F;
    border:2px solid #FCD34D;
    border-radius:.75rem;
    font-weight:800;
    font-size:.9rem;
    text-decoration:none;
    transition:.2s;
    cursor:pointer;
    font-family:inherit;
}
.camera-btn:hover{
    background:linear-gradient(135deg,#FDE68A,#FCD34D);
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(245,158,11,.3);
}
.camera-btn-icon{font-size:1.25rem}


/* ============================================================
   MOBILE APP-TYPE UI (Mobile only — desktop unaffected)
   ============================================================ */

/* ============ VARIABLES ============ */
:root{
    --app-nav-height: 64px;
    --app-header-height: 56px;
    --app-safe-top: env(safe-area-inset-top, 0px);
    --app-safe-bottom: env(safe-area-inset-bottom, 0px);
    --app-bg: #FAFAF9;
    --app-surface: #FFFFFF;
    --app-border: rgba(0,0,0,.06);
    --app-primary: #D6001C;
}

/* ============ MOBILE APP MODE ============ */
@media(max-width:768px){
    /* Prevent zoom & text selection */
    html{
        -webkit-text-size-adjust: 100%;
        touch-action: pan-y;
    }
    body{
        overscroll-behavior-y: none;
        -webkit-overflow-scrolling: touch;
        padding-bottom: calc(var(--app-nav-height) + var(--app-safe-bottom) + 8px) !important;
        background: var(--app-bg);
    }
    
    /* ============ TOP APP BAR ============ */
    .lin-nav{
        height: var(--app-header-height);
        background: rgba(255,255,255,.95) !important;
        backdrop-filter: saturate(180%) blur(20px);
        -webkit-backdrop-filter: saturate(180%) blur(20px);
        border-bottom: .5px solid var(--app-border);
        padding-top: var(--app-safe-top);
        box-shadow: none;
    }
    .lin-nav-inner{
        height: var(--app-header-height);
        padding: 0 1rem;
    }
    .lin-logo-mark{
        width: 34px;
        height: 34px;
        border-radius: 10px;
        font-size: 16px;
    }
    .lin-logo-text{
        display: inline !important;
        font-size: 17px;
        font-weight: 800;
    }
    .lin-mobile-menu{
        width: 36px;
        height: 36px;
        border-radius: 10px;
        background: #F5F5F4;
        border: none;
        color: #1A1A1A;
    }
    
    /* ============ BOTTOM APP NAVIGATION ============ */
    .app-bottom-nav{
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: calc(var(--app-nav-height) + var(--app-safe-bottom));
        background: rgba(255,255,255,.96);
        backdrop-filter: saturate(180%) blur(20px);
        -webkit-backdrop-filter: saturate(180%) blur(20px);
        border-top: .5px solid var(--app-border);
        padding-bottom: var(--app-safe-bottom);
        display: flex;
        align-items: stretch;
        z-index: 9999;
        box-shadow: 0 -2px 20px rgba(0,0,0,.04);
    }
    .app-nav-item{
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 6px 2px;
        color: #8E8E93;
        font-size: 10px;
        font-weight: 600;
        text-decoration: none;
        transition: color .15s;
        position: relative;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
    }
    .app-nav-item:active{
        transform: scale(.92);
        transition: transform .1s;
    }
    .app-nav-item svg{
        width: 22px;
        height: 22px;
        stroke-width: 2.2;
        transition: transform .15s;
    }
    .app-nav-item.active{
        color: var(--app-primary);
    }
    .app-nav-item.active svg{
        stroke-width: 2.5;
        filter: drop-shadow(0 0 6px rgba(214,0,28,.3));
    }
    .app-nav-item .badge{
        position: absolute;
        top: 4px;
        right: calc(50% - 18px);
        background: var(--app-primary);
        color: #fff;
        font-size: 9px;
        font-weight: 800;
        min-width: 16px;
        height: 16px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 4px;
        border: 1.5px solid #fff;
    }
    
    /* Center "Post" button — elevated */
    .app-nav-item.post-btn{
        color: #fff;
    }
    .app-nav-item.post-btn .post-icon{
        width: 44px;
        height: 44px;
        border-radius: 999px;
        background: linear-gradient(135deg, #D6001C, #B00016);
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 12px rgba(214,0,28,.35);
        margin-top: -12px;
        border: 3px solid #fff;
    }
    .app-nav-item.post-btn .post-icon svg{
        width: 22px;
        height: 22px;
        stroke: #fff;
    }
    .app-nav-item.post-btn:active .post-icon{
        transform: scale(.9);
    }
    
    /* ============ APP CARDS ============ */
    .lin-prop-card,
    .smart-card,
    .lin-pg-card,
    .lin-blog-card{
        border-radius: 16px !important;
        border: none !important;
        background: var(--app-surface);
        box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04) !important;
        transition: transform .2s cubic-bezier(.4,0,.2,1), box-shadow .2s !important;
        overflow: hidden;
    }
    .lin-prop-card:active,
    .smart-card:active,
    .lin-pg-card:active,
    .lin-blog-card:active{
        transform: scale(.98);
        transition: transform .1s;
    }
    
    /* ============ PROPERTY CARD - App Style ============ */
    .lin-prop-img,
    .smart-img{
        border-radius: 0;
        aspect-ratio: 4/3;
    }
    .lin-prop-body,
    .smart-body{
        padding: 12px 14px;
    }
    .lin-prop-title,
    .smart-name{
        font-size: 15px;
        font-weight: 700;
        line-height: 1.3;
    }
    .lin-prop-price,
    .smart-price{
        font-size: 17px;
        font-weight: 900;
    }
    
    /* Compact badges */
    .lin-badge{
        font-size: 9px;
        padding: 3px 7px;
        border-radius: 6px;
    }
    
    /* ============ SECTION SPACING ============ */
    .lin-section{
        padding: 20px 14px;
    }
    .lin-hero{
        padding: 24px 14px 32px;
    }
    .lin-banner-slider{
        height: 380px;
        border-radius: 0 0 24px 24px;
        overflow: hidden;
    }
    .lin-banner-content{
        padding: 0 20px 60px;
    }
    .lin-banner-content h1{
        font-size: 24px;
        line-height: 1.2;
        margin-bottom: 8px;
    }
    .lin-banner-content p{
        font-size: 13px;
        margin-bottom: 16px;
    }
    .lin-banner-btn{
        padding: 10px 20px;
        font-size: 13px;
        border-radius: 12px;
    }
    .lin-banner-dots{
        bottom: 24px;
    }
    .lin-banner-dot{
        width: 6px;
        height: 6px;
    }
    .lin-banner-dot.active{
        width: 20px;
    }
    
    /* ============ STATS APP-STYLE ============ */
    .lin-stats{
        border-radius: 20px;
        margin: 16px 14px;
        padding: 20px 14px;
    }
    .lin-stats-grid{
        gap: 8px 4px;
    }
    .lin-stat-num{
        font-size: 22px;
        font-weight: 900;
    }
    .lin-stat-lbl{
        font-size: 9px;
        letter-spacing: .02em;
        opacity: .7;
    }
    
    /* ============ FORM FIELDS ============ */
    .form-field input,
    .form-field select,
    .form-field textarea,
    .lin-form input,
    .lin-form select,
    .lin-form textarea,
    .lin-inquiry-form input,
    .lin-inquiry-form textarea{
        font-size: 16px !important; /* Prevent iOS zoom */
        border-radius: 12px !important;
        padding: 12px 14px !important;
        background: #F5F5F4 !important;
        border: 1.5px solid transparent !important;
        transition: all .2s;
    }
    .form-field input:focus,
    .form-field select:focus,
    .form-field textarea:focus,
    .lin-form input:focus,
    .lin-form select:focus,
    .lin-form textarea:focus{
        background: #fff !important;
        border-color: var(--app-primary) !important;
        box-shadow: 0 0 0 3px rgba(214,0,28,.1) !important;
    }
    .form-field label{
        font-size: 12px !important;
        letter-spacing: .02em;
    }
    
    /* ============ BUTTONS ============ */
    .btn,
    .lin-signup-btn,
    .lin-btn-primary,
    .lin-btn-whatsapp,
    .lin-cta-btn{
        border-radius: 14px !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        transition: transform .1s !important;
        -webkit-tap-highlight-color: transparent;
    }
    .btn:active,
    .lin-signup-btn:active,
    .lin-btn-primary:active,
    .lin-btn-whatsapp:active,
    .lin-cta-btn:active{
        transform: scale(.97);
    }
    
    /* ============ FLOATING BUTTONS ============ */
    .floating-btn,
    .lin-wa-fab,
    .lin-ai-fab{
        width: 48px;
        height: 48px;
        bottom: calc(var(--app-nav-height) + var(--app-safe-bottom) + 16px) !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.2);
    }
    .floating-wa,
    .lin-wa-fab{
        left: 16px !important;
    }
    .floating-top,
    .lin-ai-fab{
        right: 16px !important;
    }
    
    /* ============ MODALS ============ */
    .lin-lightbox{
        border-radius: 20px 20px 0 0;
        top: auto;
        bottom: 0;
        height: 85vh;
        max-height: 85vh;
    }
    .lin-lightbox img{
        max-height: calc(85vh - 40px);
        border-radius: 12px;
    }
    
    /* ============ PROPERTY DETAIL ============ */
    .lin-gallery-main{
        border-radius: 0 0 20px 20px;
        aspect-ratio: 4/3;
    }
    .lin-thumbnails{
        gap: 6px;
        padding: 0 14px;
        margin-top: 8px;
    }
    .lin-thumb{
        border-radius: 10px;
    }
    .lin-detail-title{
        font-size: 22px;
        padding: 0 14px;
        margin-top: 16px;
    }
    .lin-detail-address{
        padding: 0 14px;
        font-size: 13px;
    }
    .lin-detail-meta{
        padding: 0 14px;
        gap: .5rem;
    }
    .lin-detail-price{
        font-size: 24px;
    }
    
    /* Rent info cards — app style */
    .rent-info-grid{
        margin: 16px 14px;
        border-radius: 16px;
        padding: 12px;
    }
    .rent-info-item{
        border-radius: 12px;
        padding: 12px;
    }
    
    /* ============ SIDEBAR (sticky on desktop) ============ */
    .lin-sidebar-sticky{
        padding: 0 14px;
    }
    .lin-sidebar-card{
        border-radius: 16px;
        padding: 16px;
        border: none;
        box-shadow: 0 1px 3px rgba(0,0,0,.06);
    }
    
    /* ============ SPECS GRID ============ */
    .lin-specs-grid{
        margin: 16px 14px;
        padding: 12px;
        border-radius: 16px;
        gap: 6px;
    }
    .lin-spec{
        padding: 8px;
        border-radius: 10px;
    }
    .lin-spec strong{
        font-size: 13px;
    }
    .lin-spec span{
        font-size: 9px;
    }
    .lin-spec-icon{
        font-size: 18px;
    }
    
    /* ============ DETAIL BLOCKS ============ */
    .lin-detail-block{
        margin: 16px 14px;
        padding: 16px;
        border-radius: 16px;
        border: none;
        box-shadow: 0 1px 3px rgba(0,0,0,.06);
    }
    
    /* ============ AMENITY CHIPS ============ */
    .amenity-chip,
    .lin-amenity,
    .txn-chip,
    .lin-pg-chip{
        padding: 8px 12px;
        border-radius: 10px;
        font-size: 12px;
        font-weight: 700;
        transition: transform .1s;
    }
    .amenity-chip:active,
    .txn-chip:active{
        transform: scale(.95);
    }
    
    /* ============ FILTERS — Sticky on mobile ============ */
    .lin-filter-form{
        border-radius: 16px;
        margin: 12px 14px;
        padding: 12px !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
    .lin-filter-form select,
    .lin-filter-form input,
    .lin-filter-form button{
        font-size: 14px !important;
        padding: 10px 12px !important;
        border-radius: 10px !important;
    }
    .lin-filter-form button{
        grid-column: 1 / -1;
    }
    
    /* ============ FOOTER ============ */
    .site-footer{
        border-radius: 24px 24px 0 0;
        margin-top: 24px;
    }
    
    /* ============ PULL TO REFRESH ============ */
    .pull-refresh{
        position: fixed;
        top: var(--app-header-height);
        left: 50%;
        transform: translateX(-50%) translateY(-100px);
        background: #fff;
        border-radius: 999px;
        padding: 8px 16px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        font-weight: 700;
        color: #57534E;
        box-shadow: 0 4px 20px rgba(0,0,0,.15);
        z-index: 9997;
        transition: transform .3s cubic-bezier(.4,0,.2,1);
        pointer-events: none;
    }
    .pull-refresh.show{
        transform: translateX(-50%) translateY(8px);
    }
    .pull-refresh.refreshing .pull-icon{
        animation: spin 1s linear infinite;
    }
    @keyframes spin{to{transform:rotate(360deg)}}
    .pull-refresh.ready{
        color: var(--app-primary);
    }
    
    /* ============ OFFLINE BANNER ============ */
    .offline-banner{
        position: fixed;
        top: calc(var(--app-header-height) + var(--app-safe-top));
        left: 0;
        right: 0;
        background: #FEF3C7;
        color: #78350F;
        padding: 10px 16px;
        font-size: 12px;
        font-weight: 700;
        text-align: center;
        transform: translateY(-100%);
        transition: transform .3s;
        z-index: 9996;
        border-bottom: 1px solid #FCD34D;
    }
    .offline-banner.show{
        transform: translateY(0);
    }
    
    /* ============ APP SPLASH ============ */
    .app-splash{
        position: fixed;
        inset: 0;
        background: linear-gradient(135deg, #D6001C, #B00016);
        z-index: 99999;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #fff;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s;
    }
    .app-splash.show{
        opacity: 1;
        pointer-events: auto;
    }
    .splash-logo{
        width: 80px;
        height: 80px;
        border-radius: 20px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 40px;
        font-weight: 900;
        color: #D6001C;
        margin-bottom: 20px;
        animation: splashPop .5s cubic-bezier(.34,1.56,.64,1);
        box-shadow: 0 20px 60px rgba(0,0,0,.3);
    }
    @keyframes splashPop{
        from{transform: scale(0); opacity: 0}
        to{transform: scale(1); opacity: 1}
    }
    .splash-name{
        font-size: 20px;
        font-weight: 900;
        letter-spacing: -.02em;
    }
    
    /* ============ PAGE TRANSITION ============ */
    body.app-page-transition{
        animation: pageEnter .3s ease;
    }
    @keyframes pageEnter{
        from{opacity: 0; transform: translateX(20px)}
        to{opacity: 1; transform: translateX(0)}
    }
    
    /* ============ HIDE DESKTOP-ONLY ============ */
    .desktop-only{display: none !important}
    
    /* ============ SCROLLBAR HIDE ============ */
    ::-webkit-scrollbar{
        width: 0;
        height: 0;
    }
    
    /* ============ TAP FEEDBACK ============ */
    .app-tap{
        transition: transform .1s, opacity .1s;
    }
    .app-tap:active{
        transform: scale(.96);
        opacity: .85;
    }
}

/* ============ DESKTOP — HIDE APP NAV ============ */
@media(min-width:769px){
    .app-bottom-nav,
    .pull-refresh,
    .offline-banner,
    .app-splash{
        display: none !important;
    }
}

/* ============================================================
   FLOATING PHONE CALL TOGGLE — WhatsApp-Style Beautiful
   ============================================================ */

/* ============ PHONE FAB (Floating Action Button) ============ */
.phone-fab{
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 60px;
    height: 60px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0EA5E9, #0284C7);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 8px 24px rgba(14,165,233,.35),
        0 4px 8px rgba(0,0,0,.1);
    z-index: 9998;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    -webkit-tap-highlight-color: transparent;
    overflow: visible;
}

/* ============ PULSE RINGS (Behind button) ============ */
.phone-fab::before,
.phone-fab::after{
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: rgba(14,165,233,.4);
    z-index: -1;
    animation: phonePulse 2.5s ease-out infinite;
}
.phone-fab::after{
    animation-delay: 1.25s;
}
@keyframes phonePulse{
    0%{
        transform: scale(1);
        opacity: .7;
    }
    70%{
        transform: scale(1.8);
        opacity: 0;
    }
    100%{
        transform: scale(1.8);
        opacity: 0;
    }
}

/* ============ ICON (Ring Animation) ============ */
.phone-fab .phone-icon{
    width: 26px;
    height: 26px;
    transform-origin: center;
    animation: phoneRing 3s ease-in-out infinite;
}
@keyframes phoneRing{
    0%, 80%, 100%{
        transform: rotate(0deg);
    }
    82%, 86%, 90%{
        transform: rotate(-15deg);
    }
    84%, 88%, 92%{
        transform: rotate(15deg);
    }
    94%{
        transform: rotate(0deg);
    }
}

/* ============ HOVER ============ */
.phone-fab:hover{
    transform: scale(1.1) translateY(-2px);
    box-shadow:
        0 15px 35px rgba(14,165,233,.5),
        0 8px 15px rgba(0,0,0,.15);
    background: linear-gradient(135deg, #0284C7, #0369A1);
}
.phone-fab:active{
    transform: scale(.95);
}

/* ============ TOOLTIP ============ */
.phone-fab-tooltip{
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(10px);
    background: #1A1A1A;
    color: #fff;
    padding: .5rem 1rem;
    border-radius: .5rem;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: all .25s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.phone-fab-tooltip::after{
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 6px solid transparent;
    border-left-color: #1A1A1A;
}
.phone-fab:hover .phone-fab-tooltip{
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

/* ============ MOBILE TOOLTIP (Above) ============ */
@media(max-width: 768px){
    .phone-fab-tooltip{
        right: 50%;
        top: auto;
        bottom: calc(100% + 10px);
        transform: translateX(50%) translateY(10px);
        font-size: .7rem;
        padding: .4rem .75rem;
    }
    .phone-fab-tooltip::after{
        left: 50%;
        top: 100%;
        transform: translateX(-50%);
        border: 5px solid transparent;
        border-top-color: #1A1A1A;
        border-left-color: transparent;
    }
    .phone-fab:hover .phone-fab-tooltip,
    .phone-fab.show-tooltip .phone-fab-tooltip{
        opacity: 1;
        transform: translateX(50%) translateY(0);
    }
}

/* ============ SIZE VARIANTS ============ */
.phone-fab.small{
    width: 50px;
    height: 50px;
}
.phone-fab.small .phone-icon{
    width: 22px;
    height: 22px;
}

/* ============ POSITION VARIANTS ============ */
.phone-fab.bottom-left{
    right: auto;
    left: 1.5rem;
}
.phone-fab.bottom-left .phone-fab-tooltip{
    right: auto;
    left: calc(100% + 12px);
    transform: translateY(-50%) translateX(-10px);
}
.phone-fab.bottom-left .phone-fab-tooltip::after{
    left: auto;
    right: 100%;
    border-left-color: transparent;
    border-right-color: #1A1A1A;
}
.phone-fab.bottom-left:hover .phone-fab-tooltip{
    transform: translateY(-50%) translateX(0);
}

/* ============ WITH WHATSAPP (Both FABs) ============ */
/* When both WA and Phone are present, stack them on the right */
.fab-stack{
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    z-index: 9998;
}
.fab-stack .phone-fab,
.fab-stack .lin-wa-fab{
    position: relative;
    bottom: auto;
    right: auto;
    left: auto;
}

/* ============ BADGE / NOTIFICATION ============ */
.phone-fab .fab-badge{
    position: absolute;
    top: -2px;
    right: -2px;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #EF4444;
    border: 2px solid #fff;
    animation: badgePulse 1.5s ease-in-out infinite;
}
@keyframes badgePulse{
    0%, 100%{ transform: scale(1); opacity: 1; }
    50%{ transform: scale(1.15); opacity: .85; }
}

/* ============ DARK MODE ============ */
@media(prefers-color-scheme: dark){
    .phone-fab-tooltip{
        background: #F5F5F4;
        color: #1A1A1A;
    }
    .phone-fab-tooltip::after{
        border-left-color: #F5F5F4;
    }
    @media(max-width: 768px){
        .phone-fab-tooltip::after{
            border-top-color: #F5F5F4;
            border-left-color: transparent;
        }
    }
}

/* ============ MOBILE ADJUSTMENTS ============ */
@media(max-width: 768px){
    .phone-fab{
        width: 54px;
        height: 54px;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 80px); /* Above bottom nav */
        right: 1rem;
    }
    .phone-fab .phone-icon{
        width: 22px;
        height: 22px;
    }
    
    /* When both WA and Phone: WhatsApp bottom, Phone above */
    .phone-fab.bottom-left{
        left: 1rem;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 80px);
    }
}

@media(max-width: 480px){
    .phone-fab{
        width: 50px;
        height: 50px;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 72px);
        right: .75rem;
    }
    .phone-fab .phone-icon{
        width: 20px;
        height: 20px;
    }
}

/* ============ REDUCED MOTION ============ */
@media(prefers-reduced-motion: reduce){
    .phone-fab::before,
    .phone-fab::after,
    .phone-fab .phone-icon,
    .phone-fab .fab-badge{
        animation: none;
    }
    .phone-fab{
        transition: none;
    }
}

/* ============ VIBRATE ON HOVER (Desktop fun) ============ */
.phone-fab.ringing .phone-icon{
    animation: phoneRingFast .8s ease-in-out;
}
@keyframes phoneRingFast{
    0%, 100%{ transform: rotate(0deg); }
    10%, 30%, 50%{ transform: rotate(-20deg); }
    20%, 40%, 60%{ transform: rotate(20deg); }
}

/* ============ LONG PRESS MENU (Mobile) ============ */
.phone-fab-menu{
    position: fixed;
    bottom: 100px;
    right: 1rem;
    background: #fff;
    border-radius: .75rem;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
    padding: .5rem;
    z-index: 9999;
    display: none;
    min-width: 180px;
    animation: menuPop .2s cubic-bezier(.4, 0, .2, 1);
}
.phone-fab-menu.show{
    display: block;
}
@keyframes menuPop{
    from{
        opacity: 0;
        transform: scale(.9) translateY(10px);
    }
    to{
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}
.phone-fab-menu a,
.phone-fab-menu button{
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .75rem 1rem;
    border: none;
    background: transparent;
    border-radius: .5rem;
    font-family: inherit;
    font-size: .85rem;
    font-weight: 600;
    color: #1A1A1A;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s;
    text-align: left;
}
.phone-fab-menu a:hover,
.phone-fab-menu button:hover{
    background: #F5F5F4;
    color: #0284C7;
}
.phone-fab-menu-icon{
    font-size: 1rem;
    width: 20px;
    text-align: center;
    color: #0284C7;
}


/* [Replaced by newer positioning rules below] */


/* ============================================================
   PHONE FAB — Move Above WhatsApp (Same side, LEFT)
   ============================================================ */

/* Phone on LEFT, above WhatsApp */
.phone-fab{
    right: auto !important;
    left: 1.5rem !important;
    bottom: calc(1.5rem + 60px + 12px) !important; /* Above WhatsApp (WhatsApp height 60 + gap 12) */
}

/* Phone tooltip on left side */
.phone-fab .phone-fab-tooltip{
    right: auto !important;
    left: calc(100% + 12px) !important;
    transform: translateY(-50%) translateX(-10px) !important;
}
.phone-fab .phone-fab-tooltip::after{
    left: auto !important;
    right: 100% !important;
    border-left-color: transparent !important;
    border-right-color: #1A1A1A !important;
}
.phone-fab:hover .phone-fab-tooltip{
    transform: translateY(-50%) translateX(0) !important;
}

/* Ensure WhatsApp stays at bottom-left */
.lin-wa-fab,
.floating-wa{
    left: 1.5rem !important;
    right: auto !important;
    bottom: 1.5rem !important;
}

/* ============ MOBILE ADJUSTMENTS ============ */
@media(max-width: 768px){
    /* Phone — above WhatsApp, above bottom nav */
    .phone-fab{
        left: 1rem !important;
        right: auto !important;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 80px + 54px + 12px) !important;
        /* Bottom nav (64) + safe area + gap (80) + WhatsApp (54) + gap (12) */
    }
    
    /* WhatsApp — above bottom nav */
    .lin-wa-fab,
    .floating-wa{
        left: 1rem !important;
        right: auto !important;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 80px) !important;
    }
    
    /* Mobile tooltip — above the button */
    .phone-fab .phone-fab-tooltip{
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: calc(100% + 10px) !important;
        transform: translateX(-50%) translateY(10px) !important;
    }
    .phone-fab .phone-fab-tooltip::after{
        left: 50% !important;
        right: auto !important;
        top: 100% !important;
        bottom: auto !important;
        transform: translateX(-50%) !important;
        border: 5px solid transparent !important;
        border-top-color: #1A1A1A !important;
        border-left-color: transparent !important;
        border-right-color: transparent !important;
    }
    .phone-fab:hover .phone-fab-tooltip,
    .phone-fab.show-tooltip .phone-fab-tooltip{
        transform: translateX(-50%) translateY(0) !important;
    }
}

@media(max-width: 480px){
    .phone-fab{
        left: .75rem !important;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 72px + 50px + 10px) !important;
    }
    .lin-wa-fab,
    .floating-wa{
        left: .75rem !important;
        bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 72px) !important;
    }
}

/* ============ DARK MODE ============ */
@media(prefers-color-scheme: dark){
    .phone-fab .phone-fab-tooltip::after{
        border-right-color: #F5F5F4 !important;
    }
    @media(max-width: 768px){
        .phone-fab .phone-fab-tooltip::after{
            border-top-color: #F5F5F4 !important;
            border-right-color: transparent !important;
        }
    }
}

