@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";
:root{--color-navy:#0b1f3a;--color-navy-light:#123e7c;--color-tahoe-blue:#1e63c6;--color-action:#f47a20;--color-action-hover:#d96512;--color-gold:#ffb347;--color-charcoal:#1c2430;--color-slate:#4b5b70;--color-mist:#8c9aaf;--color-border:#d9e2ec;--color-bg:#f3f7fb;--color-bg-soft:#eef4fa;--color-bg-snow:#f8fbff;--color-white:#fff;--color-pine:#234a3b;--color-forest:#1b342b;--color-error:#d92d20;--color-success:#12b76a;--color-success-dark:#027a48;--font-heading:"Montserrat",sans-serif;--font-body:"Inter",sans-serif;--font-editorial:"Playfair Display",serif;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--space-3xl:80px;--space-4xl:96px;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-xl:20px;--radius-full:9999px;--shadow-card:0 8px 24px #0b1f3a14;--shadow-hover:0 14px 34px #0b1f3a24;--shadow-featured:0 10px 30px #f47a202e;--shadow-search:0 20px 40px #0003;--shadow-button:0 4px 14px #f47a204d;--gradient-hero:linear-gradient(135deg,#0b1f3a 0%,#123e7cb3 45%,#f47a2066 100%);--gradient-sunset:linear-gradient(135deg,#123e7c 0%,#1e63c6 35%,#f47a20 75%,#ffb347 100%);--gradient-premium:linear-gradient(135deg,#f47a20 0%,#ffb347 100%);--gradient-navy:linear-gradient(135deg,#0b1f3a 0%,#123e7c 100%);--container-width:1200px;--container-wide:1360px;--container-readable:720px;--header-height:80px;--transition-fast:.18s ease-out;--transition-base:.24s ease-out;--transition-slow:.4s ease-out}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-charcoal);background-color:var(--color-bg-snow);font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-tahoe-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-action)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-navy);font-weight:700;line-height:1.2}h1{font-size:56px}h2{font-size:40px}h3{font-size:30px}h4{font-size:24px;font-weight:600}.text-editorial{font-family:var(--font-editorial)}.text-body-lg{font-size:20px;line-height:1.5}.text-small{font-size:14px}.text-meta{color:var(--color-slate);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.container{max-width:var(--container-width);padding:0 var(--space-md);margin:0 auto}.container-wide{max-width:var(--container-wide);padding:0 var(--space-md);margin:0 auto}.section{padding:var(--space-3xl)0}.section-sm{padding:var(--space-xl)0}.grid{gap:var(--space-md);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:14px 28px;font-size:16px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{transform:scale(1.02)}.btn-primary{background:var(--color-action);color:var(--color-white);box-shadow:var(--shadow-button)}.btn-primary:hover{background:var(--color-action-hover);color:var(--color-white)}.btn-secondary{background:var(--color-navy-light);color:var(--color-white)}.btn-secondary:hover{background:var(--color-navy);color:var(--color-white)}.btn-outline{color:var(--color-navy-light);border:1.5px solid var(--color-navy-light);background:0 0}.btn-outline:hover{background:var(--color-navy-light);color:var(--color-white)}.btn-soft{color:var(--color-navy-light);background:#eaf2ff}.btn-soft:hover{background:var(--color-tahoe-blue);color:var(--color-white)}.btn-sm{border-radius:var(--radius-sm);padding:10px 20px;font-size:14px}.btn-lg{padding:18px 36px;font-size:18px}.badge{border-radius:var(--radius-full);font-size:12px;font-weight:600;font-family:var(--font-heading);align-items:center;gap:4px;padding:4px 12px;line-height:1;display:inline-flex}.badge-featured{background:var(--color-action);color:var(--color-white)}.badge-verified{color:var(--color-navy-light);background:#eaf2ff}.badge-local-favorite{color:#c75a08;background:#fff0e3}.badge-tahoe-pick{color:var(--color-tahoe-blue);background:#e8f4ff}.badge-new,.badge-open-now{color:var(--color-success-dark);background:#ecfdf3}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card-featured{box-shadow:var(--shadow-featured);border:1px solid #f47a2059}.card-featured:hover{box-shadow:0 16px 40px #f47a2038}.chip{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:1.5px solid var(--color-border);background:var(--color-white);color:var(--color-charcoal);align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.chip:hover,.chip.active{background:var(--color-tahoe-blue);color:var(--color-white);border-color:var(--color-tahoe-blue)}.input{height:56px;padding:0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);font-family:var(--font-body);color:var(--color-charcoal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;font-size:16px}.input:focus{border-color:var(--color-tahoe-blue);outline:none;box-shadow:0 0 0 3px #1e63c62e}.input::placeholder{color:var(--color-mist)}.stars{color:var(--color-gold);gap:2px;display:inline-flex}.stars-empty{color:var(--color-border)}@media (max-width:1024px){h1{font-size:40px}h2{font-size:32px}h3{font-size:24px}.grid-4{grid-template-columns:repeat(2,1fr)}.section{padding:var(--space-2xl)0}}@media (max-width:768px){h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}h4{font-size:20px}.text-body-lg{font-size:18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container,.container-wide{padding:0 var(--space-sm)}.section{padding:var(--space-xl)0}.btn-lg{padding:16px 28px;font-size:16px}:root{--header-height:64px}}@media (max-width:480px){h1{font-size:28px}h2{font-size:24px}}
