:root{--primary-red: #D6452E;--primary-red-hover: #b93b26;--accent-yellow: #F2C94C;--bg-white: #ffffff;--bg-off-white: #f5f5f5;--text-main: #2d2e2f;--text-muted: #6e7072;--text-light: #ffffff;--border-color: #e6e6e6;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--radius-sm: 4px;--radius-md: 8px;--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-white);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--text-main)}a{text-decoration:none;color:inherit;transition:color .2s ease}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:all .2s ease}input{font-family:inherit;border:1px solid var(--border-color);padding:12px 16px;border-radius:var(--radius-sm);outline:none}input:focus{border-color:var(--primary-red)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn-primary{background-color:var(--primary-red);color:#fff;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:16px}.btn-primary:hover{background-color:var(--primary-red-hover)}.section-padding{padding:60px 0}.main-header{height:68px;background-color:var(--bg-white);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:1000;display:flex;align-items:center}.header-container{max-width:1200px;margin:0 auto;width:100%;padding:0 24px;display:flex;align-items:center;gap:32px}.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-logo{height:38px;width:auto}.logo-text-group{display:flex;align-items:baseline;font-size:20px;font-weight:800;letter-spacing:-.5px}.logo-text{color:var(--text-main)}.logo-suffix{color:var(--primary-red)}.logo-icon{color:var(--text-muted);font-size:15px}.search-section{display:flex;align-items:center;gap:12px;flex:1;max-width:620px}.search-bar-container{display:flex;align-items:center;flex:1;border:1.5px solid var(--border-color);border-radius:8px;box-shadow:0 1px 4px #0000000d;height:42px;background:#fff;transition:all .25s ease}.near-me-btn{display:flex;align-items:center;gap:6px;height:42px;padding:0 16px;background:#fff;border:1.5px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:14px;font-weight:500;white-space:nowrap;transition:all .2s ease}.near-me-btn:hover{border-color:#ccc;background-color:var(--bg-off-white);color:var(--text-main)}.near-me-btn.active{background-color:#fff1ef;border-color:var(--primary-red);color:var(--primary-red)}.near-me-btn.loading{opacity:.7;cursor:wait}.search-bar-container:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014,0 4px 16px #0000000a}.search-bar-container:focus-within{border-color:var(--primary-red);box-shadow:0 2px 8px #d6452e14,0 4px 16px #d6452e0a}.search-input-group{display:flex;align-items:center;flex:1;padding-left:14px}.search-label{font-weight:600;font-size:13px;margin-right:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.search-input-group input{border:none;padding:0;font-size:15px;width:100%;background:transparent;color:var(--text-main)}.search-input-group input::placeholder{color:#b0b0b0}.search-submit{background-color:var(--primary-red);width:48px;height:100%;border-radius:0 7px 7px 0;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.search-submit:hover{background-color:var(--primary-red-hover)}@media(max-width:900px){.header-container{gap:20px;padding:0 16px}.search-bar-container{margin:0}}@media(max-width:768px){.main-header{height:auto;padding:12px 0}.header-container{flex-direction:column;gap:12px;align-items:stretch}.logo{justify-content:center}.search-bar-container{max-width:100%;height:44px;margin:0}.search-submit{width:56px}.search-section{flex-direction:column;align-items:stretch;gap:8px}.near-me-btn{justify-content:center;width:100%}}.star-rating{display:flex;align-items:center;gap:8px}.stars{display:flex;gap:2px}.star{font-size:18px;color:#dcdcdc}.star.full{color:#ff3535}.star.half{position:relative;color:#dcdcdc}.star.half:before{content:"★";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:#ff3535}.review-count{font-size:14px;color:var(--text-muted)}.restaurant-card{background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;height:100%;display:flex;flex-direction:column}.restaurant-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-image{height:200px;width:100%}.card-image img{width:100%;height:100%;object-fit:cover}.card-content{padding:16px;flex:1;display:flex;flex-direction:column}.card-content h3{font-size:18px;margin-bottom:8px;color:var(--text-main)}.card-meta{display:flex;align-items:center;gap:6px;margin:10px 0;font-size:14px;font-weight:600}.dot{color:var(--text-muted)}.address{font-size:14px;color:var(--text-muted);margin-bottom:12px}.card-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background-color:var(--bg-off-white);padding:4px 10px;border-radius:12px;font-size:12px;color:var(--text-muted);font-weight:500}.layered-hero{height:350px;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;filter:none}.layered-hero:before{content:"";position:absolute;inset:0;background:inherit;filter:saturate(.4) contrast(.85) brightness(1.05);z-index:0}.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0000000d,#00000040),linear-gradient(180deg,#ffffff14,#00000026);z-index:1}.layered-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px}.hero-logo-wrapper{display:flex;flex-direction:column;align-items:center}.main-hero-logo{height:240px;width:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.2))}.hero-headline{font-size:22px;font-weight:500;color:#ffffffeb;text-shadow:0 1px 6px rgba(0,0,0,.3);letter-spacing:-.3px;text-align:center;margin:0}.white-pill{background-color:#fff!important;color:var(--text-main)!important;border-radius:8px!important;padding:12px 28px!important;font-size:16px!important;font-weight:600!important;text-shadow:none!important;box-shadow:0 4px 15px #00000014!important;border:1px solid var(--border-color)!important;transition:all .35s cubic-bezier(.25,.46,.45,.94)!important;position:relative;overflow:hidden}.white-pill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(214,69,46,.06),transparent);transition:left .5s ease}.white-pill:hover:before{left:100%}.white-pill:hover{border-color:var(--primary-red)!important;color:var(--primary-red)!important;transform:translateY(-5px) scale(1.04)!important;box-shadow:0 10px 30px #d6452e2e!important}.white-pill:active{transform:translateY(-2px) scale(1.01)!important;box-shadow:0 4px 12px #d6452e26!important}.niche-categories{padding:100px 20px 80px;background-color:#fff}.niche-categories h2{margin-bottom:56px;font-size:32px;text-align:center;font-weight:800}.niche-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.niche-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:32px 24px;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;cursor:pointer;transition:all .3s ease;border-bottom:4px solid var(--niche-color);box-shadow:0 4px 12px #0000000d;position:relative;overflow:hidden}.niche-card:before{content:"";position:absolute;inset:0;background:var(--niche-color);opacity:0;transition:opacity .3s ease;z-index:0}.niche-card:hover:before{opacity:.04}.niche-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000014;border-color:#00000014}.niche-card:active{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.niche-icon{font-size:48px;line-height:1;position:relative;z-index:2;transition:transform .3s ease}.niche-card:hover .niche-icon{transform:scale(1.1)}.niche-name{font-weight:700;font-size:16px;color:var(--text-main);text-align:center;position:relative;z-index:2;transition:color .3s ease;line-height:1.4}.niche-card:hover .niche-name{color:var(--text-main)}.featured h2{margin-bottom:56px;font-size:32px;font-weight:800}.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px}.view-all-btn{position:relative;overflow:hidden;transition:all .35s cubic-bezier(.25,.46,.45,.94)!important}.view-all-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease}.view-all-btn:hover:before{width:300px;height:300px}.view-all-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 30px #d6452e4d}.view-all-btn:active{transform:translateY(-1px) scale(1.01)}@media(max-width:1024px){.niche-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.main-hero-logo{height:160px}.hero-headline{font-size:18px;padding:0 20px}.layered-hero{height:300px}.niche-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:480px){.main-hero-logo{height:120px}.hero-headline{font-size:16px}.niche-grid{grid-template-columns:1fr}.niche-categories{padding:60px 16px 40px}}.search-page{padding-top:40px;padding-bottom:60px}.search-results-layout{display:grid;grid-template-columns:240px 1fr;gap:40px}.filters-sidebar h3{font-size:18px;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.filter-group{margin-bottom:30px}.filter-group h4{font-size:14px;text-transform:uppercase;color:var(--text-muted);margin-bottom:15px;letter-spacing:.5px}.price-filters{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.price-filters button{flex:1;padding:8px 0;background:#fff;border-right:1px solid var(--border-color);font-weight:600;color:var(--text-main)}.price-filters button:last-child{border-right:none}.price-filters button:hover{background-color:var(--bg-off-white)}.price-filters button.active{background-color:var(--primary-red);color:#fff;border-color:var(--primary-red)}.filter-group label{display:block;margin-bottom:10px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px}.results-header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:baseline}.results-header h2{font-size:24px}.highlight{color:var(--primary-red)}.results-grid{display:flex;flex-direction:column;gap:20px}.results-grid .restaurant-card{flex-direction:row;height:220px}.results-grid .card-image{width:220px;height:100%}.no-results{text-align:center;padding:60px 40px;background:var(--bg-off-white);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:16px}.results-meta{display:flex;align-items:center;gap:12px}.radius-tag{background-color:#fff1ef;color:var(--primary-red);padding:4px 10px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid rgba(214,69,46,.2)}.geo-fallback{margin-bottom:24px}.fallback-card{background-color:#fff9f0;border:1px solid #ffe8cc;padding:20px;border-radius:var(--radius-md);color:#855d21}.fallback-card h3{font-size:16px;margin-bottom:8px;color:#855d21}.fallback-card p{font-size:14px;line-height:1.6}.expand-radius-btn{background-color:var(--primary-red);color:#fff;padding:10px 20px;border-radius:8px;font-weight:600;margin-top:8px}.expand-radius-btn:hover{background-color:var(--primary-red-hover);transform:translateY(-1px)}@media(max-width:900px){.search-results-layout{grid-template-columns:1fr}.filters-sidebar{display:none}.results-grid .restaurant-card{flex-direction:column;height:auto}.results-grid .card-image{width:100%;height:200px}}.restaurant-detail{background-color:var(--bg-white)}.photo-gallery{height:440px;display:flex;position:relative;overflow:hidden;background-color:#000}.gallery-item{flex:1;height:100%}.gallery-item img{width:100%;height:100%;object-fit:cover;opacity:.7}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(transparent,#000c);display:flex;align-items:flex-end;padding-bottom:40px;color:#fff}.hero-info h1{font-size:42px;color:#fff;margin-bottom:8px}.rating-row{margin-bottom:12px}.meta-row,.status-row{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px}.meta-row{margin-bottom:8px}.claimed,.open-status{color:#2ecc71}.view-all-photos{position:absolute;right:40px;bottom:40px;background:#fff3;border:1px solid white;color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;display:flex;align-items:center;gap:8px}.detail-content{display:grid;grid-template-columns:1fr 320px;gap:40px;padding-top:40px;padding-bottom:80px}.action-buttons{display:flex;gap:12px;margin-bottom:40px}.write-review{display:flex;align-items:center;gap:10px}.btn-secondary{background:#fff;border:1px solid var(--border-color);padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;display:flex;align-items:center;gap:8px}.btn-secondary:hover{background:var(--bg-off-white)}.about-section,.location-section{margin-bottom:40px}.about-section h2,.location-section h2{font-size:20px;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.amenities{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.amenity-item{color:#2ecc71;font-weight:600}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.map-placeholder{height:200px;background:var(--bg-off-white);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px}.hour-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color);font-weight:600}.sidebar-info{position:sticky;top:100px}.info-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.info-item{display:flex;align-items:center;gap:15px;margin-bottom:20px}.info-item:last-child{margin-bottom:0}.info-item a{color:#0073bb;font-weight:600}@media(max-width:900px){.photo-gallery{height:300px}.gallery-item:not(:first-child){display:none}.detail-content{grid-template-columns:1fr}.action-buttons{flex-wrap:wrap}.location-grid{grid-template-columns:1fr}}
