/* ============================================
   7Re Immobiliare - Main Stylesheet v2
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700;800&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

:root {
  --primary:#1a1a1a; --primary-light:#2d2d2d;
  --accent:#c8a45a; --accent-hover:#b8943a; --accent-light:#f5eddb;
  --bg:#f7f6f3; --white:#fff;
  --gray-50:#fafaf9; --gray-100:#f3f2ef; --gray-200:#e8e6e1; --gray-300:#d4d1cb;
  --gray-400:#a8a49c; --gray-500:#7c786f; --gray-600:#5a574f; --gray-700:#3d3b36;
  --red:#c0392b; --green:#27ae60; --blue:#2980b9;
  --font-display:'Adobe Garamond Pro','EB Garamond',Garamond,Georgia,serif;
  --font-body:'Source Sans 3',-apple-system,sans-serif;
  --shadow-sm:0 1px 3px rgba(0,0,0,0.06); --shadow-md:0 4px 12px rgba(0,0,0,0.08); --shadow-lg:0 8px 30px rgba(0,0,0,0.12);
  --radius:8px; --radius-lg:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-body);background:var(--bg);color:var(--primary);line-height:1.6;min-height:100vh}
a{color:inherit;text-decoration:none} img{max-width:100%;height:auto}

/* TOP BAR */
.top-bar{background:var(--primary);color:#fff;font-size:12px;padding:6px 0;text-align:center;letter-spacing:1.5px;text-transform:uppercase;font-weight:500}

/* NAVBAR */
.navbar{background:var(--white);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--primary);display:flex;align-items:center;gap:4px}
.logo span{color:var(--accent)}
.logo .logo-7{font-weight:800}
.logo small{font-family:var(--font-body);font-size:9px;text-transform:uppercase;letter-spacing:2px;color:var(--gray-500);display:block;margin-top:-2px}
.nav-links{display:flex;gap:8px;list-style:none;align-items:center}
.nav-links li a,.nav-links li button{background:none;border:none;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--gray-600);padding:8px 16px;border-radius:var(--radius);cursor:pointer;transition:all 0.2s}
.nav-links li a:hover,.nav-links li button:hover{background:var(--gray-100);color:var(--primary)}
.nav-links li a.active{background:var(--accent-light);color:var(--accent-hover)}
.fav-count{background:var(--red);color:#fff;font-size:10px;padding:1px 5px;border-radius:10px;margin-left:2px}
.fav-count:empty{display:none}

/* HAMBURGER */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.hamburger span{display:block;width:24px;height:2px;background:var(--primary);transition:all 0.3s}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s;text-decoration:none}
.btn-accent,.btn-primary{background:var(--accent);color:#fff}
.btn-accent:hover,.btn-primary:hover{background:var(--accent-hover)}
.btn-outline{background:var(--white);color:var(--primary);border:1px solid var(--gray-200)}
.btn-outline:hover{border-color:var(--gray-300);background:var(--gray-50)}
.btn-danger{background:var(--red);color:#fff}
.btn-sm{padding:6px 14px;font-size:13px}
.btn-full{width:100%;justify-content:center}

/* HERO */
.hero{background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 50%,#3d3b36 100%);color:#fff;padding:80px 24px;text-align:center;position:relative;overflow:visible}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23c8a45a' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat}
.hero h1{font-family:var(--font-display);font-size:42px;font-weight:700;margin-bottom:12px;position:relative}
.hero p{font-size:17px;opacity:0.7;margin-bottom:36px;position:relative}

/* SEARCH */
.search-box{max-width:800px;margin:0 auto;position:relative;z-index:100;overflow:visible}
.search-tabs{display:flex;gap:0;margin-bottom:-1px}
.search-tabs a{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-bottom:none;color:rgba(255,255,255,0.7);font-size:13px;font-weight:600;padding:10px 20px;border-radius:var(--radius) var(--radius) 0 0;transition:all 0.2s}
.search-tabs a.active,.search-tabs a:hover{background:var(--white);color:var(--primary);border-color:var(--gray-200)}
.search-form{background:var(--white);border-radius:0 var(--radius-lg) var(--radius-lg) var(--radius-lg);padding:20px;display:flex;gap:12px;align-items:end;box-shadow:var(--shadow-lg)}
.search-field{flex:1;display:flex;flex-direction:column;gap:4px}
.search-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--gray-500)}
.search-field input,.search-field select{border:1px solid var(--gray-200);border-radius:var(--radius);padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--primary);outline:none;transition:border-color 0.2s;width:100%}
.search-field input:focus,.search-field select:focus{border-color:var(--accent)}
.search-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:10px 28px;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;height:42px;transition:background 0.2s}
.search-btn:hover{background:var(--accent-hover)}

/* CONTAINER */
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.section{padding:48px 0}
.section-title{font-family:var(--font-display);font-size:28px;font-weight:600;margin-bottom:8px}
.section-sub{color:var(--gray-500);margin-bottom:32px;font-size:15px}

/* LISTING GRID */
.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.listing-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-200);transition:all 0.3s}
.listing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.listing-img{height:200px;background-size:cover;background-position:center;position:relative}
.listing-badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px}
.listing-contract{position:absolute;top:12px;right:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:4px}
.listing-photos{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,0.65);color:#fff;font-size:12px;padding:4px 10px;border-radius:4px;display:flex;align-items:center;gap:4px}
.listing-body{padding:16px 20px}
.listing-price{font-size:22px;font-weight:700;color:var(--primary);margin-bottom:4px}
.listing-title{font-size:14px;font-weight:500;color:var(--gray-600);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.listing-features{display:flex;gap:16px;padding-top:12px;border-top:1px solid var(--gray-100)}
.listing-feat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500)}
.listing-feat i{font-size:14px;color:var(--gray-400)}
.listing-agency{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--gray-100);font-size:12px;color:var(--gray-500)}
.agency-dot{width:24px;height:24px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
/* Favorite heart on card */
.listing-fav{position:absolute;top:12px;right:12px;background:rgba(0,0,0,0.5);color:#fff;width:32px;height:32px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all 0.2s}
.listing-fav:hover,.listing-fav.active{background:var(--red);color:#fff}

/* DETAIL PAGE */
.detail-wrap{max-width:1280px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 360px;gap:32px}
.detail-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:220px 220px;gap:4px;border-radius:var(--radius-lg);overflow:hidden}
.detail-gallery .main-img{grid-row:1/3;background-size:cover;background-position:center;position:relative;cursor:pointer}
.detail-gallery .side-img{background-size:cover;background-position:center;position:relative;cursor:pointer}
.detail-gallery .more-photos{position:absolute;inset:0;background:rgba(0,0,0,0.4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;cursor:pointer}
.gallery-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.gallery-actions a,.gallery-actions button{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:8px 16px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;gap:6px}
.gallery-actions a:hover,.gallery-actions button:hover{border-color:var(--gray-300)}
.detail-header{margin:24px 0 20px}
.detail-location{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500);margin-bottom:8px}
.detail-location i{color:var(--accent)}
.detail-h1{font-family:var(--font-display);font-size:24px;font-weight:600;margin-bottom:4px}
.detail-price-row{display:flex;align-items:baseline;gap:12px;margin-top:8px}
.detail-price{font-size:28px;font-weight:700;color:var(--accent)}
.detail-price-mq{font-size:14px;color:var(--gray-500)}
.detail-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;margin:24px 0}
.detail-feat-item{background:var(--white);padding:16px;text-align:center}
.detail-feat-item i{font-size:18px;color:var(--accent);margin-bottom:6px;display:block}
.detail-feat-item .val{font-size:16px;font-weight:600}
.detail-feat-item .lbl{font-size:12px;color:var(--gray-500);margin-top:2px}
.desc-section{margin:24px 0}
.desc-section h3,.chars-section h3{font-family:var(--font-display);font-size:20px;font-weight:600;margin-bottom:12px}
.desc-section div{font-size:15px;line-height:1.7;color:var(--gray-600)}
.chars-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}
.char-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--gray-100);border-right:1px solid var(--gray-100);background:var(--white)}
.char-row:nth-child(2n){border-right:none}
.char-row:nth-last-child(-n+2){border-bottom:none}
.char-row i{width:22px;text-align:center;color:var(--gray-400);font-size:16px;flex-shrink:0}
.char-label{font-size:14px;font-weight:600;color:var(--primary);flex:1}
.char-value{font-size:14px;color:var(--gray-600);text-align:right}

/* SIDEBAR */
.detail-sidebar{position:sticky;top:88px;align-self:start}
.sidebar-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}
.sidebar-card h4{font-size:16px;font-weight:600;margin-bottom:16px}
.sidebar-agency{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-100)}
.sidebar-agency-logo{width:48px;height:48px;border-radius:var(--radius);background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--accent)}
.sidebar-agency-name{font-size:14px;font-weight:600}
.sidebar-agency-type{font-size:12px;color:var(--gray-500)}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.92);align-items:center;justify-content:center;flex-direction:column}
.lightbox.open{display:flex}
.lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px}
.lightbox-close{position:absolute;top:20px;right:24px;color:#fff;font-size:28px;cursor:pointer;background:none;border:none;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s}
.lightbox-close:hover{background:rgba(255,255,255,0.1)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:24px;cursor:pointer;background:rgba(255,255,255,0.1);border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.lightbox-nav:hover{background:rgba(255,255,255,0.2)}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
.lightbox-counter{color:rgba(255,255,255,0.6);font-size:14px;margin-top:16px}
.lightbox-thumbs{display:flex;gap:8px;margin-top:16px;max-width:90vw;overflow-x:auto;padding:4px 0}
.lightbox-thumb{width:60px;height:45px;border-radius:4px;object-fit:cover;cursor:pointer;opacity:0.5;transition:opacity 0.2s;border:2px solid transparent;flex-shrink:0}
.lightbox-thumb.active,.lightbox-thumb:hover{opacity:1;border-color:var(--accent)}

/* FORMS */
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:6px}
.form-control{width:100%;border:1px solid var(--gray-200);border-radius:var(--radius);padding:10px 14px;font-family:var(--font-body);font-size:14px;color:var(--primary);outline:none;transition:border-color 0.2s;background:var(--white)}
.form-control:focus{border-color:var(--accent)}
textarea.form-control{resize:vertical;min-height:100px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.form-check{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.form-check input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent)}
.form-check label{margin-bottom:0;cursor:pointer}

/* DASHBOARD */
.dashboard{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.dash-sidebar{background:var(--primary);color:#fff;padding:24px 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.dash-sidebar .dash-logo{font-family:var(--font-display);font-size:18px;font-weight:700;padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:16px}
.dash-sidebar .dash-logo span{color:var(--accent)}
.dash-menu{list-style:none}
.dash-menu li a{display:flex;align-items:center;gap:12px;padding:10px 20px;font-size:14px;color:rgba(255,255,255,0.6);transition:all 0.2s}
.dash-menu li a:hover{color:#fff;background:rgba(255,255,255,0.05)}
.dash-menu li a.active{color:var(--accent);background:rgba(200,164,90,0.1);border-right:3px solid var(--accent)}
.dash-menu li a i{width:18px;text-align:center;font-size:15px}
.dash-content{padding:32px;background:var(--bg);overflow-y:auto}
.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.dash-header h2{font-family:var(--font-display);font-size:24px;font-weight:600}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px}
.stat-card .stat-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:12px}
.stat-card .stat-num{font-size:28px;font-weight:700}
.stat-card .stat-label{font-size:13px;color:var(--gray-500);margin-top:2px}

/* TABLE */
.dash-table{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px}
.dash-table-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--gray-200)}
.dash-table-header h3{font-size:16px;font-weight:600}
table{width:100%;border-collapse:collapse}
table th{text-align:left;padding:12px 20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--gray-500);border-bottom:1px solid var(--gray-200);background:var(--gray-50)}
table td{padding:12px 20px;font-size:14px;border-bottom:1px solid var(--gray-100)}
table tr:hover{background:var(--gray-50)}
.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}
.status-active{background:#e8f5e9;color:#2e7d32}
.status-pending{background:#fff3e0;color:#e65100}
.status-inactive{background:#fce4ec;color:#c62828}

/* ALERTS */
.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:14px}
.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}
.alert-error{background:#fce4ec;color:#c62828;border:1px solid #f8bbd0}
.alert-warning{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}
.alert-info{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}

/* LOGIN */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%)}
.login-card{background:var(--white);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}
.login-card .login-logo{text-align:center;margin-bottom:32px}
.login-card .login-logo h2{font-family:var(--font-display);font-size:28px;font-weight:700}
.login-card .login-logo h2 span{color:var(--accent)}
.login-card .login-logo p{font-size:13px;color:var(--gray-500);margin-top:4px}

/* PAGINATION */
.pagination{display:flex;gap:4px;justify-content:center;margin-top:32px}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--gray-200);font-size:14px;color:var(--gray-600);transition:all 0.2s}
.pagination a:hover{border-color:var(--accent);color:var(--accent)}
.pagination .active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* FOOTER */
.footer{background:var(--primary);color:rgba(255,255,255,0.7);padding:48px 24px 24px}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer h5{color:#fff;font-size:14px;font-weight:600;margin-bottom:16px}
.footer p{font-size:13px;line-height:1.7}
.footer ul{list-style:none}
.footer ul li{margin-bottom:8px}
.footer ul li a{color:rgba(255,255,255,0.6);font-size:13px;transition:color 0.2s}
.footer ul li a:hover{color:var(--accent)}
.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);font-size:12px;color:rgba(255,255,255,0.4)}
.footer-logo{font-family:var(--font-display);font-size:20px;font-weight:700;color:#fff;margin-bottom:12px}
.footer-logo span{color:var(--accent)}

/* RESPONSIVE */
@media(max-width:768px){
  html,body{overflow-x:hidden !important;width:100% !important}
  .hamburger{display:flex}
  .nav-links{display:none !important;visibility:hidden !important;height:0 !important;overflow:hidden !important}
  .hero{padding:40px 16px 60px;overflow:hidden}
  .hero h1{font-size:24px}
  .hero p{font-size:13px;margin-bottom:20px}
  .hero canvas{max-width:100vw !important}
  .search-box{margin:0}
  .search-form{flex-direction:column;padding:16px;border-radius:0 8px 0 0}
  .search-form .search-field{width:100%}
  .search-btn{width:100%;justify-content:center;padding:14px}
  .search-tabs a{padding:10px 20px;font-size:13px}
  .listing-grid{grid-template-columns:1fr}
  .detail-wrap{grid-template-columns:1fr;padding:0;gap:0}
  .detail-main{padding:0 16px}
  .detail-gallery{grid-template-columns:1fr;grid-template-rows:280px;border-radius:0}
  .detail-gallery .side-img{display:none}
  .detail-gallery .main-img{border-radius:0}
  .detail-features{grid-template-columns:repeat(2,1fr);gap:8px}
  .detail-features>div{padding:12px;text-align:center}
  .chars-grid{grid-template-columns:1fr 1fr}
  .detail-sidebar{padding:0 16px 24px}
  .sidebar-card{border-radius:var(--radius)}
  .gallery-actions{justify-content:center}
  .gallery-actions a,.gallery-actions button{padding:6px 12px;font-size:11px}
  .detail-features{grid-template-columns:repeat(2,1fr)}
  .chars-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard{grid-template-columns:1fr}
  .dash-sidebar{display:none}
  .footer-inner{grid-template-columns:1fr 1fr;gap:24px 16px}
  .footer-inner > div:first-child{grid-column:1/-1}
  .footer{padding:32px 16px 16px}
  .footer h5{font-size:13px;margin-bottom:10px}
  .footer ul li{margin-bottom:6px}
  .footer ul li a{font-size:12px}
  .footer p{font-size:12px}
  .footer-logo{font-size:18px;margin-bottom:8px}
  .footer-bottom{font-size:11px;padding-top:16px;margin-top:16px}
  .form-row,.form-row-3{grid-template-columns:1fr}
  .section-title{font-size:22px}
  .section{padding:32px 16px;overflow-x:hidden}
  .container{padding:0 12px;overflow-x:hidden;max-width:100%}
  .top-bar{font-size:10px;padding:6px 12px;overflow:hidden}
}

/* Mobile Drawer */
#mobileOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:999;opacity:0;transition:opacity 0.3s}
#mobileOverlay.open{display:block;opacity:1}
#mobileDrawer{position:fixed;top:0;right:-300px;width:280px;height:100%;background:#fff;z-index:1000;transition:right 0.3s cubic-bezier(0.16,1,0.3,1);box-shadow:-4px 0 24px rgba(0,0,0,0.15);overflow-y:auto;display:flex;flex-direction:column}
#mobileDrawer.open{right:0}
.mob-header{padding:20px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}
.mob-nav{padding:8px 0;flex:1}
.mob-link{display:flex;align-items:center;gap:14px;padding:14px 24px;color:var(--primary);text-decoration:none;font-size:15px;font-weight:500;transition:background 0.2s}
.mob-link:hover,.mob-link:active{background:var(--gray-50)}
.mob-link i{width:20px;text-align:center;color:var(--accent);font-size:16px}
.mob-sm{font-size:13px;padding:10px 24px;color:var(--gray-500)}
.mob-sm i{color:var(--gray-400)}
.mob-divider{height:1px;background:var(--gray-200);margin:4px 20px}
.mob-footer{padding:16px 20px;border-top:1px solid var(--gray-200)}
.mob-wa{display:flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:12px 16px;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:14px;justify-content:center}
.mob-wa i{font-size:20px}
@media(min-width:769px){#mobileDrawer,#mobileOverlay{display:none !important}}

/* Search Filters */
.search-filters{background:var(--white);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:12px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--gray-200);position:relative;z-index:5}
.search-filters select,.search-filters input[type="text"]{border:1px solid var(--gray-200);border-radius:var(--radius);padding:8px 10px;font-size:13px;font-family:var(--font-body);flex:1;min-width:0}
.search-filters button{background:var(--gray-600);color:#fff;border:none;border-radius:var(--radius);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
@media(max-width:768px){
  .search-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
  .search-filters button{grid-column:1/-1}
}

/* Related listings carousel */
.related-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-200);text-decoration:none;color:inherit;transition:transform 0.2s,box-shadow 0.2s;overflow:hidden}
.related-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
@media(max-width:768px){
  .related-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .related-scroll::-webkit-scrollbar{display:none}
  .related-card{min-width:220px;flex-shrink:0;scroll-snap-align:start}
}

/* Mobile overflow protection */
@media(max-width:768px){
  .detail-main, .detail-sidebar { max-width: 100vw; overflow: hidden; overflow-wrap: break-word; }
  .gallery-actions { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .gallery-actions::-webkit-scrollbar { display: none; }
}

/* Homepage mobile grids */
@media(max-width:768px){
  .stats-counter{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}
  .stats-counter>div{padding:16px 8px !important}
  .stats-counter>div div:first-of-type{font-size:24px !important}
  .how-grid{grid-template-columns:1fr !important;gap:24px !important}
  .why-grid{grid-template-columns:1fr !important;gap:16px !important}
}
