:root{--black:#1D1D1F;--white:#FFFFFF;--gray-50:#FBFBFB;--gray-100:#F5F5F7;--gray-200:#E8E8ED;--gray-400:#A1A1A6;--gray-600:#6E6E73;--gray-800:#424245;--accent:#e94560;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--black);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--black);color:var(--white)}
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0.05)}
.nav-inner{max-width:1100px;margin:0 auto;padding:0 clamp(20px,4vw,40px);height:56px;display:flex;justify-content:space-between;align-items:center}
.logo-link{text-decoration:none;font-size:1.25rem;font-weight:700;color:var(--accent);letter-spacing:-0.5px}
.nav-r{display:flex;align-items:center;gap:28px}
.nav-r a{font-size:0.82rem;color:var(--gray-600);text-decoration:none;transition:color 0.2s}
.nav-r a:hover{color:var(--black)}
.nav-r .cta{color:var(--white);background:var(--accent);padding:8px 18px;border-radius:8px;font-weight:600;transition:background 0.2s}
.nav-r .cta:hover{background:#d63851}

.search-hero{padding:130px 0 50px;background:linear-gradient(165deg,#fef2f4 0%,#f8f9ff 40%,#f0f4ff 100%);text-align:center;position:relative;overflow:hidden}
#matrix{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
.search-wrap{position:relative;z-index:1}
.search-hero h1{font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:700;letter-spacing:-0.03em;color:var(--black);margin-bottom:10px}
.search-hero p{color:var(--gray-600);font-size:1rem;margin-bottom:32px}
.search-bar{display:flex;background:var(--white);border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.06);max-width:860px;margin:0 auto;overflow:hidden;align-items:stretch}
.search-field-wrap{flex:1;padding:14px 18px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--gray-200)}
.search-field-wrap.small{flex:0 0 100px}
.search-field-wrap label{font-size:0.68rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:2px}
.search-field{border:none;outline:none;font-family:var(--sans);font-size:0.9rem;color:var(--black);background:transparent;width:100%;padding:0}
.search-field::placeholder{color:var(--gray-400)}
.search-btn{padding:14px 32px;background:var(--accent);color:var(--white);border:none;font-family:var(--sans);font-weight:600;font-size:0.92rem;cursor:pointer;transition:background 0.2s;white-space:nowrap;flex-shrink:0}
.search-btn:hover{background:#d63851}

.marquee{overflow:hidden;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);padding:14px 0;position:relative}
.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--white),transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--white),transparent)}
.marquee-track{display:flex;gap:40px;animation:scroll 25s linear infinite;width:max-content}
.marquee-item{font-size:0.7rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:var(--gray-400);white-space:nowrap;display:flex;align-items:center;gap:10px}
.marquee-item::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gray-200);flex-shrink:0}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.listings-section{padding:36px 0 80px}
.filters-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;align-items:center}
.filter-chip{padding:8px 16px;border:1px solid var(--gray-200);border-radius:24px;background:var(--white);font-size:0.8rem;cursor:pointer;transition:all 0.2s;color:var(--gray-600);font-family:var(--sans);font-weight:500}
.filter-chip:hover,.filter-chip.active{border-color:var(--accent);color:var(--accent);background:rgba(233,69,96,0.04)}
.filter-select{padding:8px 30px 8px 14px;border:1px solid var(--gray-200);border-radius:24px;background:var(--white);font-size:0.8rem;cursor:pointer;font-family:var(--sans);color:var(--gray-600);outline:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' fill='%23A1A1A6' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.results-info{font-size:0.78rem;color:var(--gray-400);margin-left:auto}
.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.listing-card{background:var(--white);border-radius:14px;border:1px solid var(--gray-200);overflow:hidden;transition:all 0.3s;cursor:pointer}
.listing-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.08);border-color:transparent}
.listing-img{height:200px;background-size:cover;background-position:center;position:relative}
.listing-badge{position:absolute;top:12px;left:12px;padding:4px 12px;border-radius:20px;font-size:0.7rem;font-weight:600;color:var(--white);backdrop-filter:blur(8px)}
.badge-pensiune{background:rgba(233,69,96,0.85)}
.badge-hotel{background:rgba(59,130,246,0.85)}
.badge-cabana{background:rgba(34,197,94,0.85)}
.badge-vila{background:rgba(168,85,247,0.85)}
.listing-fav{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.85);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all 0.2s}
.listing-fav:hover{background:var(--white);transform:scale(1.1)}
.listing-fav.liked{color:var(--accent)}
.listing-body{padding:16px 18px}
.listing-location{font-size:0.75rem;color:var(--gray-400);margin-bottom:3px}
.listing-name{font-weight:600;font-size:1rem;color:var(--black);margin-bottom:6px}
.listing-amenities{font-size:0.75rem;color:var(--gray-600);margin-bottom:10px;display:flex;gap:6px;flex-wrap:wrap}
.listing-amenity{background:var(--gray-100);padding:2px 8px;border-radius:4px}
.listing-footer{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px solid var(--gray-100)}
.listing-price{font-weight:700;font-size:1.05rem;color:var(--black)}
.listing-price span{font-size:0.75rem;font-weight:400;color:var(--gray-400)}
.listing-rating{display:flex;align-items:center;gap:4px;font-size:0.82rem;font-weight:600;color:var(--black)}
.listing-rating .stars{color:#f59e0b}

.detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:200;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity 0.3s}
.detail-overlay.open{opacity:1;pointer-events:all}
.detail-modal{background:var(--white);border-radius:20px;width:92%;max-width:880px;max-height:90vh;overflow-y:auto}
.detail-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;cursor:pointer;font-size:1.2rem;z-index:10;transition:transform 0.2s}
.detail-close:hover{transform:scale(1.1)}
.detail-gallery{height:300px;background-size:cover;background-position:center;border-radius:20px 20px 0 0;position:relative}
.detail-body{padding:30px}
.detail-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:20px}
.detail-name{font-size:1.4rem;font-weight:700;color:var(--black);margin-bottom:4px}
.detail-loc{font-size:0.85rem;color:var(--gray-400)}
.detail-price-box{text-align:right;flex-shrink:0}
.detail-price{font-size:1.5rem;font-weight:700;color:var(--accent)}
.detail-price-sub{font-size:0.75rem;color:var(--gray-400)}
.detail-desc{font-size:0.9rem;color:var(--gray-600);line-height:1.7;margin-bottom:20px}
.detail-amenities{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.detail-amenity{background:var(--gray-100);padding:6px 14px;border-radius:8px;font-size:0.8rem;color:var(--gray-800)}
.detail-divider{height:1px;background:var(--gray-200);margin:20px 0}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fi{margin-bottom:0}
.fi label{display:block;font-size:0.72rem;font-weight:600;color:var(--gray-800);margin-bottom:4px}
.fi .req{color:var(--gray-400)}
.fi input,.fi select,.fi textarea{width:100%;font-family:var(--sans);font-size:0.88rem;padding:10px 14px;border:1px solid var(--gray-200);background:var(--white);color:var(--black);outline:none;border-radius:10px;transition:border-color 0.2s}
.fi input:focus,.fi select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(233,69,96,0.06)}
.fi input::placeholder{color:var(--gray-400)}
.full{grid-column:1/-1}
.form-btn{width:100%;font-family:var(--sans);font-weight:600;font-size:0.9rem;color:var(--white);background:var(--accent);border:none;padding:13px;border-radius:12px;cursor:pointer;transition:all 0.2s}
.form-btn:hover{background:#d63851;transform:translateY(-1px)}
.form-btn:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.booking-msg{margin-top:8px;font-size:0.85rem;text-align:center}
.booking-msg.ok{color:#22c55e}
.total-bar{background:var(--gray-100);padding:14px 18px;border-radius:12px;display:flex;justify-content:space-between;align-items:center}
.total-bar span:first-child{color:var(--gray-600);font-size:0.85rem}
.total-bar span:last-child{font-weight:700;font-size:1.1rem;color:var(--black)}
.empty-results{text-align:center;padding:80px 20px;color:var(--gray-400)}
.empty-results p{font-size:1rem;margin-bottom:6px}

footer{padding:32px 0;margin-top:40px}
.footer-row{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--gray-200)}
.footer-logo{font-weight:700;font-size:0.9rem;color:var(--accent);text-decoration:none;opacity:0.6}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:0.72rem;color:var(--gray-400);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--accent)}
.footer-text{font-size:0.72rem;color:var(--gray-400)}
.footer-text a{color:var(--accent);text-decoration:none}

@media(max-width:768px){
    .search-bar{flex-direction:column;border-radius:14px}
    .search-field-wrap{border-right:none;border-bottom:1px solid var(--gray-200);padding:12px 16px}
    .search-field-wrap.small{flex:auto}
    .search-btn{padding:14px;border-radius:0 0 14px 14px}
    .listings-grid{grid-template-columns:1fr}
    .booking-form{grid-template-columns:1fr}
    .detail-gallery{height:200px}
    .detail-top{flex-direction:column}
    .detail-price-box{text-align:left}
    .nav-r a:not(.cta){display:none}
    .footer-row{flex-direction:column;gap:12px;text-align:center}
}
