:root{--color-bg:#fafafa;--color-bg-alt:#f5f5f5;--color-text:#1a1a1a;--color-text-muted:#666;--color-text-light:#999;--color-border:#e5e5e5;--color-border-dark:#d0d0d0;--color-accent:#c4673e;--color-accent-hover:#a3522a;--color-wine:#722f37;--color-beer:#c9a227;--color-cider:#5c7c5c;--color-cream:#f5f0e8;--color-warm-white:#fdfcfa;--color-charcoal:#2d2a26;--color-tan:#d4c4b0;--color-warm-gray:#8c837a;--color-burnt-orange:#c4673e;--color-rust:#a3522a;--color-deep-wine:#722f37;--color-success:#5c7c5c;--color-warning:#c9a227;--color-error:#a63d3d;--font-display:var(--font-playfair),"Playfair Display",Georgia,serif;--font-body:var(--font-inter),"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-heading:var(--font-inter),"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--max-width:1200px;--content-width:680px;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-card:0 2px 8px rgba(0,0,0,.06);--shadow-popup:0 4px 16px rgba(0,0,0,.1);--radius-sm:4px;--radius-md:6px;--radius-lg:8px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{min-height:100%}body,html{font-family:var(--font-body);font-size:16px;font-weight:300;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{width:100%;max-width:100vw;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--color-text)}h1{font-size:42px;letter-spacing:-.02em}h2{font-size:32px;letter-spacing:-.01em}h3{font-size:24px}h4{font-size:20px}a{color:var(--color-text);text-decoration:none}a:hover{color:var(--color-accent)}.btn{font-family:var(--font-body);font-size:14px;font-weight:400;padding:12px 24px;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm)}.btn-primary{background:var(--color-text);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border-dark)}.btn-secondary:hover{border-color:var(--color-text)}.btn-small{padding:8px 16px;font-size:13px}.btn-icon{padding:8px;min-width:36px;min-height:36px}.input{font-family:var(--font-body);font-size:15px;font-weight:300;padding:12px 16px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);width:100%;transition:border-color .15s ease}.input::placeholder{color:var(--color-text-light)}.input:focus{outline:none;border-color:var(--color-text)}.divider{height:1px;background:var(--color-border);border:none;margin:var(--space-xl) 0}.meta-text{font-family:var(--font-body);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.1em}.meta-text,.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}.text-accent{color:var(--color-accent)}.mapboxgl-popup-content{padding:0!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-popup)!important;border:1px solid var(--color-border)!important;overflow:hidden}.mapboxgl-popup-close-button{font-size:20px;padding:4px 8px;color:var(--color-text-muted)}.mapboxgl-popup-close-button:hover{background:var(--color-bg-alt);color:var(--color-text)}.mapboxgl-ctrl-group button:hover{background:var(--color-bg-alt)!important}.logo-link{display:inline-block}.logo-link,.logo-link:hover{text-decoration:none}.logo-link .logo{transition:transform .25s ease-out}.logo-link:hover .logo{transform:scale(1.015)}.logo-flx{font-family:var(--font-display);font-size:54px;font-weight:700;font-style:italic;letter-spacing:-.02em}.logo-flx,.logo-guide{color:var(--color-text);line-height:1}.logo-guide{font-family:var(--font-body);font-size:27px;font-weight:100;letter-spacing:.02em}.logo-small .logo-flx{font-size:28px}.logo-small .logo-guide{font-size:14px}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.header-top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);padding-bottom:var(--space-lg);max-width:var(--max-width);margin:0 auto;box-sizing:border-box;width:100%}.logo{display:inline-flex;align-items:baseline;gap:0;line-height:1}.header-right{display:flex;align-items:center;gap:var(--space-lg)}.header-search{position:relative}.search-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);transition:color .15s ease;border-radius:var(--radius-sm)}.search-btn:hover{color:var(--color-text)}.search-icon{width:20px;height:20px}.header-nav{background:var(--color-bg);border-top:1px solid var(--color-border)}.header-nav-inner{position:relative;padding:var(--space-sm) var(--space-xl);max-width:var(--max-width);margin:0 auto}.header-nav-inner,.nav-links{display:flex;align-items:center;justify-content:center}.nav-links{gap:var(--space-3xl);flex:1 1}.nav-link{font-family:var(--font-body);font-size:15px;font-weight:400;letter-spacing:.03em;color:var(--color-text);text-decoration:none;padding:var(--space-xs) 0;transition:color .15s ease;min-height:40px;display:inline-flex;align-items:center}.nav-link:hover{text-decoration:none}.nav-link.active,.nav-link:hover{color:var(--color-accent)}.nav-search:not(.nav-search-drawer){position:absolute;right:var(--space-xl);top:50%;transform:translateY(-50%);display:flex;align-items:center}.nav-search-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);transition:color .15s ease}.nav-search-btn:hover{color:var(--color-text)}.nav-search-icon{width:18px;height:18px}.nav-search-form{display:flex;align-items:center;gap:var(--space-xs)}.nav-search-input{width:160px;height:36px;padding:0 var(--space-sm);font-family:var(--font-body);font-size:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);outline:none;transition:border-color .15s ease}.nav-search-input:focus{border-color:var(--color-text-muted)}.nav-search-input::placeholder{color:var(--color-text-light)}.nav-search-go{height:36px;padding:0 var(--space-md);font-family:var(--font-body);font-size:14px;font-weight:500;background:var(--color-text);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.nav-search-go:hover{background:var(--color-text-muted)}.drawer-search{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border)}.nav-search-drawer{width:100%}.nav-search-drawer .nav-search-btn{width:100%;justify-content:flex-start;gap:var(--space-sm);color:var(--color-text-muted);font-family:var(--font-body);font-size:15px}.nav-search-drawer .nav-search-btn:after{content:"Search..."}.nav-search-drawer .nav-search-form{width:100%}.nav-search-drawer .nav-search-input{flex:1 1;width:auto}.mobile-menu-btn{display:none;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;align-items:center;justify-content:center;color:var(--color-text)}.hamburger-icon{width:20px;height:14px;display:flex;flex-direction:column;justify-content:space-between}.hamburger-icon span{display:block;height:1px;background:currentColor}.minimal-header{position:absolute;top:var(--space-lg);left:var(--space-lg);z-index:50;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-sm) var(--space-md)}.minimal-header-link{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;min-height:44px;padding:var(--space-xs) 0}.minimal-header-link:hover{text-decoration:none}.minimal-header-back{font-family:var(--font-body);font-size:12px;font-weight:400;color:var(--color-text-muted)}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:200;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.drawer-overlay.open{opacity:1;visibility:visible}.drawer{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--color-bg);z-index:201;transform:translateX(-100%);transition:transform .2s ease-out;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-header{justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.drawer-close,.drawer-header{display:flex;align-items:center}.drawer-close{width:44px;height:44px;justify-content:center;border:none;background:transparent;cursor:pointer;color:var(--color-text-muted);font-size:24px}.drawer-close:hover{color:var(--color-text)}.drawer-nav{flex:1 1;padding:var(--space-lg) 0;overflow-y:auto}.drawer-section{padding:var(--space-md) var(--space-xl)}.drawer-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:var(--space-md)}.drawer-link,.drawer-section-title{font-family:var(--font-body);font-weight:400}.drawer-link{display:flex;align-items:center;padding:var(--space-md) var(--space-xl);font-size:15px;letter-spacing:.03em;color:var(--color-text);text-decoration:none;min-height:44px;transition:color .15s ease}.drawer-link:hover{text-decoration:none}.drawer-link.active,.drawer-link:hover{color:var(--color-accent)}.drawer-divider{height:1px;background:var(--color-border);margin:var(--space-md) var(--space-xl)}.site-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-3xl) var(--space-xl)}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.footer-copyright{font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--color-text-muted)}.footer-links{display:flex;gap:var(--space-xl)}.footer-link{font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-text-muted);text-decoration:none;padding:var(--space-sm) 0;min-height:44px;display:inline-flex;align-items:center}.footer-link:hover{color:var(--color-text)}.weather-widget{display:flex;flex-direction:column;align-items:flex-start;font-family:var(--font-body);font-size:12px;font-weight:400;color:var(--color-text-muted);line-height:1.4;gap:2px}.weather-date,.weather-row{white-space:nowrap}.weather-row{display:flex;align-items:center;gap:var(--space-xs);opacity:0;transition:opacity .3s ease}.weather-row.visible{opacity:1}.weather-icon{font-size:14px;line-height:1}.weather-city,.weather-temp{font-weight:400}.weather-sun{display:flex;gap:var(--space-sm);white-space:nowrap}.sun-rise,.sun-set{font-weight:400}.weather-widget-drawer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);font-size:13px;gap:var(--space-xs)}.weather-widget-drawer .weather-row{gap:var(--space-sm)}.weather-widget-drawer .weather-icon{font-size:16px}.weather-widget-drawer .weather-sun{gap:var(--space-md)}@media (max-width:768px){.header-nav{display:none}.mobile-menu-btn{display:flex}.header-right,.nav-search:not(.nav-search-drawer){display:none}.header-top{padding:var(--space-md) var(--space-md)}.footer-inner{flex-direction:column;text-align:center}.footer-links{gap:var(--space-lg)}.minimal-header{top:var(--space-md);left:var(--space-md);padding:var(--space-xs) var(--space-sm)}.logo-flx{font-size:44px}.logo-guide{font-size:22px}}.page-container{min-height:100vh;display:flex;flex-direction:column;max-width:100%;overflow-x:hidden}.page-container main{flex:1 1}.homepage{max-width:var(--max-width);margin:0 auto;padding:var(--space-3xl) var(--space-xl);box-sizing:border-box;width:100%}.homepage-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:var(--space-3xl);gap:var(--space-3xl);align-items:start}.articles-column{min-width:0}.featured-article{margin-bottom:calc(var(--space-xl) * 1.2)}.featured-article-image-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--color-bg-alt);margin-bottom:var(--space-xl)}.featured-article-image{object-fit:cover}.featured-article-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.featured-article-meta .meta-separator{color:var(--color-text-light)}.featured-article-title{font-family:var(--font-display);font-size:36px;font-weight:400;line-height:1.15;margin-bottom:var(--space-md);letter-spacing:-.02em;word-wrap:break-word;overflow-wrap:break-word}.featured-article-title a{color:var(--color-text);text-decoration:none}.featured-article-title a:hover{color:var(--color-accent)}.featured-article-summary{font-size:17px;font-weight:300;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.article-category,.featured-article-summary{font-family:var(--font-body);color:var(--color-text-muted)}.article-category{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.1em}.article-category.wine,.category-wine{color:#722f37}.article-category.beer,.category-beer{color:#b8860b}.article-category.cider,.category-cider{color:#8db600}.article-date{font-family:var(--font-body);font-size:13px;font-weight:300}.article-date,.meta-separator{color:var(--color-text-light)}.section-header{margin-bottom:var(--space-xl)}.section-title{font-family:var(--font-body);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:0}.article-list-item{padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border)}.article-list-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.article-list-title{font-family:var(--font-display);font-size:22px;font-weight:400;line-height:1.25;margin:0}.article-list-title a{color:var(--color-text);text-decoration:none}.article-list-title a:hover{color:var(--color-accent)}.article-list-summary{font-family:var(--font-body);font-size:15px;font-weight:300;line-height:1.5;color:var(--color-text-muted);margin-top:var(--space-sm)}.sidebar-column{position:-webkit-sticky;position:sticky;top:var(--space-xl)}.trip-planner-promo{padding-bottom:var(--space-3xl);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3xl)}.promo-label{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light)}.promo-label,.promo-title{font-weight:400;margin-bottom:var(--space-md)}.promo-title{font-family:var(--font-display);font-size:24px}.promo-description{font-family:var(--font-body);font-size:15px;font-weight:300;line-height:1.5;color:var(--color-text-muted);margin-bottom:var(--space-xl)}.promo-stats{display:flex;gap:var(--space-xl);margin-bottom:var(--space-xl)}.promo-stat{text-align:left}.promo-stat-number{display:block;font-family:var(--font-display);font-size:28px;font-weight:400;color:var(--color-text);line-height:1}.promo-stat-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.promo-link,.promo-stat-label{font-family:var(--font-body);font-weight:400}.promo-link{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:14px;color:var(--color-text);text-decoration:none;padding:12px 24px;border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);transition:all .15s ease}.promo-link:hover{border-color:var(--color-text);text-decoration:none}.promo-link-arrow{transition:transform .15s ease}.promo-link:hover .promo-link-arrow{transform:translateX(3px)}.category-links{padding-top:0}.category-links-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:var(--space-lg)}.category-link,.category-links-title{font-family:var(--font-body);font-weight:400}.category-link{display:block;padding:var(--space-md) 0;font-size:15px;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);transition:color .15s ease;min-height:44px;display:flex;align-items:center}.category-link:first-of-type{border-top:1px solid var(--color-border)}.category-link:hover{color:var(--color-accent);text-decoration:none}.sidebar-featured{padding-top:0}.sidebar-featured-label{font-family:var(--font-body);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:var(--space-lg)}.sidebar-featured-link{display:block;text-decoration:none;color:inherit;transition:opacity .15s ease}.sidebar-featured-link:hover{opacity:.85}.sidebar-featured-title{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.25;color:var(--color-text);margin:0 0 var(--space-md) 0}.sidebar-featured-image-wrap{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:4px;margin-bottom:var(--space-md)}.sidebar-featured-image{object-fit:cover}.sidebar-featured-summary{font-family:var(--font-body);font-size:15px;font-weight:300;line-height:1.5;color:var(--color-text-muted);margin:0 0 var(--space-sm) 0}.sidebar-featured-read{display:block;text-align:right;font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-text-light);margin:0}.sidebar-featured-read-arrow{transition:transform .15s ease;display:inline-block}.sidebar-featured-link:hover .sidebar-featured-read-arrow{transform:translateX(3px)}.article-page{max-width:var(--content-width);margin:0 auto;padding:var(--space-xl);padding-top:var(--space-md);box-sizing:border-box;width:100%}.article-header{margin-bottom:var(--space-3xl);text-align:center;max-width:100%}.article-header-meta{position:relative;margin-bottom:var(--space-md);min-height:24px}.article-header-meta,.article-meta-center{display:flex;align-items:center;justify-content:center}.article-meta-center{gap:var(--space-md)}.article-page-title{font-family:var(--font-display);font-size:56px;font-weight:400;line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--space-xl)}.article-page-summary,.article-page-title{word-wrap:break-word;overflow-wrap:break-word}.article-page-summary{font-family:var(--font-body);font-size:20px;font-weight:300;line-height:1.5;color:var(--color-text-muted)}.article-featured-figure{margin:0 0 var(--space-3xl) 0}.article-featured-image{display:block;width:100%;max-height:500px;object-fit:cover;border-radius:var(--radius-sm)}.article-featured-caption{font-size:12px;color:var(--color-text-muted);text-align:right;margin-top:var(--space-sm);font-style:italic}.article-content,.prose{font-family:var(--font-body);font-size:18px;font-weight:300;line-height:1.75;color:var(--color-text)}.article-content p,.prose p{margin-bottom:var(--space-xl)}.article-content h2,.prose h2{font-family:var(--font-display);font-size:37px;font-weight:400;margin-top:var(--space-3xl);margin-bottom:var(--space-lg)}.article-content h3,.prose h3{font-family:var(--font-display);font-size:22px;font-weight:400;margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.article-content ol,.article-content ul,.prose ol,.prose ul{margin-bottom:var(--space-xl);padding-left:var(--space-xl)}.article-content li,.prose li{margin-bottom:var(--space-sm)}.article-content a,.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.article-content a:hover,.prose a:hover{color:var(--color-accent-hover)}.article-content blockquote,.prose blockquote{border-left:2px solid var(--color-border);padding-left:var(--space-xl);margin:var(--space-2xl) 0;font-style:italic;color:var(--color-text-muted)}.article-content hr,.prose hr{display:none}.article-content img,.prose img{display:block;max-width:100%;height:auto;max-height:500px;object-fit:cover;margin:var(--space-2xl) auto;border-radius:var(--radius-sm)}.article-content p>img,.prose p>img{margin:var(--space-xl) auto var(--space-sm) auto}.article-content p:has(>img):has(>em),.prose p:has(>img):has(>em){margin-bottom:var(--space-2xl)}.article-content p:has(>img)>em,.prose p:has(>img)>em{display:block;text-align:right;font-size:12px;color:var(--color-text-muted);margin-top:var(--space-sm)}.listing-page{max-width:900px;margin:0 auto;padding:var(--space-3xl) var(--space-xl);box-sizing:border-box;width:100%}.listing-header{margin-bottom:var(--space-3xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.listing-title{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-md)}.listing-description{font-family:var(--font-body);font-size:18px;font-weight:300;color:var(--color-text-muted)}.page-title{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-md)}.page-description{font-family:var(--font-body);font-size:18px;font-weight:300;color:var(--color-text-muted)}.category-page{max-width:900px;margin:0 auto;padding:var(--space-3xl) var(--space-xl);box-sizing:border-box;width:100%}.category-header{margin-bottom:var(--space-3xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.category-title{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-md)}.category-description{font-family:var(--font-body);font-size:18px;font-weight:300;color:var(--color-text-muted);line-height:1.5}.category-articles{margin-bottom:var(--space-2xl)}.category-cta{margin-top:var(--space-3xl);padding-top:var(--space-3xl);border-top:1px solid var(--color-border)}.category-cta-title{font-family:var(--font-display);font-size:24px;font-weight:400;margin-bottom:var(--space-md)}.category-cta-text{font-family:var(--font-body);font-size:16px;font-weight:300;color:var(--color-text-muted);margin-bottom:var(--space-xl);max-width:500px}.about-page{max-width:700px;margin:0 auto;padding:var(--space-3xl) var(--space-xl)}.about-title{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-3xl)}.about-content{font-family:var(--font-body);font-size:18px;font-weight:300;line-height:1.75;color:var(--color-text)}.about-content p{margin-bottom:var(--space-xl)}.about-content h2{font-family:var(--font-display);font-size:28px;font-weight:400;margin-top:var(--space-3xl);margin-bottom:var(--space-lg)}.about-content strong{font-weight:500}@media (max-width:768px){.about-page{padding:var(--space-xl) var(--space-lg)}.about-title{font-size:32px}.about-content{font-size:17px}.about-content h2{font-size:24px}}.contact-page{max-width:700px;margin:0 auto;padding:var(--space-3xl) var(--space-xl)}.contact-title{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-lg)}.contact-intro{font-family:var(--font-body);font-size:18px;font-weight:300;line-height:1.75;color:var(--color-text-muted)}.contact-form,.contact-intro{margin-bottom:var(--space-3xl)}.form-field{margin-bottom:var(--space-xl)}.form-label{display:block;font-size:14px;font-weight:500;margin-bottom:var(--space-sm)}.form-input,.form-label,.form-textarea{font-family:var(--font-body);color:var(--color-text)}.form-input,.form-textarea{width:100%;padding:var(--space-md) var(--space-lg);font-size:16px;font-weight:400;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;transition:border-color .15s ease;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:150px}.form-submit{display:flex;justify-content:flex-end}.submit-button{font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--color-bg);background:var(--color-text);border:none;padding:var(--space-md) var(--space-xl);border-radius:4px;cursor:pointer;transition:opacity .15s ease}.submit-button:hover{opacity:.85}.submit-arrow{display:inline-block;margin-left:var(--space-sm);transition:transform .15s ease}.submit-button:hover .submit-arrow{transform:translateX(3px)}.contact-success{padding:var(--space-xl);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;margin-bottom:var(--space-3xl)}.contact-success p{font-family:var(--font-body);font-size:16px;font-weight:400;color:var(--color-text);margin:0}.contact-email-fallback{padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.contact-email-fallback p{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-text-muted);margin:0}.contact-email-fallback a{color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);transition:border-color .15s ease}.contact-email-fallback a:hover{border-color:var(--color-text)}@media (max-width:768px){.contact-page{padding:var(--space-xl) var(--space-lg)}.contact-title{font-size:32px}.contact-intro{font-size:17px}}.search-page{max-width:900px;margin:0 auto;padding:var(--space-3xl) var(--space-xl)}.search-header{margin-bottom:var(--space-3xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.search-title{font-family:var(--font-display);font-size:42px;font-weight:400;letter-spacing:-.02em;margin-bottom:var(--space-xl)}.search-page-form{display:flex;gap:var(--space-sm)}.search-page-input{flex:1 1;max-width:400px;height:44px;padding:0 var(--space-md);font-family:var(--font-body);font-size:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);outline:none;transition:border-color .15s ease}.search-page-input:focus{border-color:var(--color-text-muted)}.search-page-input::placeholder{color:var(--color-text-light)}.search-page-btn{height:44px;padding:0 var(--space-xl);font-family:var(--font-body);font-size:15px;font-weight:500;background:var(--color-text);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.search-page-btn:hover{background:var(--color-text-muted)}.search-results-count{font-family:var(--font-body);font-size:14px;font-weight:400;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.search-loading,.search-no-results,.search-prompt{font-family:var(--font-body);font-size:16px;font-weight:300;color:var(--color-text-muted);text-align:center;padding:var(--space-3xl) var(--space-xl)}.search-no-results p,.search-prompt p{margin-bottom:var(--space-sm)}.search-excerpt mark{background-color:rgba(196,103,62,.2);color:inherit;padding:0 2px;border-radius:2px}.empty-state{padding:var(--space-4xl) var(--space-xl)}.empty-state,.empty-state-text,.no-articles{text-align:center;color:var(--color-text-muted)}.empty-state-text,.no-articles{font-family:var(--font-body);font-size:16px;font-weight:300;padding:var(--space-2xl)}.back-link{position:absolute;left:0;display:inline-flex;align-items:center;font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-text-muted);text-decoration:none}.back-link:hover{color:var(--color-text);text-decoration:none}.article-tag{font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-text-muted);text-transform:capitalize}@media (max-width:900px){.homepage-grid{grid-template-columns:1fr;gap:var(--space-3xl)}.sidebar-column{position:static;border-top:1px solid var(--color-border);padding-top:var(--space-3xl)}.trip-planner-promo{border-bottom:none;padding-bottom:0;margin-bottom:var(--space-xl)}}@media (max-width:768px){.homepage{padding:var(--space-xl) var(--space-lg)}.featured-article-title{font-size:37px}.featured-article-summary{font-size:16px}.article-list-title{font-size:25px}.promo-stats{flex-wrap:wrap;gap:var(--space-lg)}.promo-stat-number{font-size:24px}.category-title,.listing-title,.page-title{font-size:42px}.article-page-title{font-size:50px}.article-content h2,.prose h2{font-size:32px}.article-page{padding:var(--space-lg) var(--space-lg)}.article-content,.prose{font-size:17px}.article-header-meta{flex-direction:column;gap:var(--space-sm)}.article-header-meta .back-link{position:static}.category-header{text-align:center}.category-page,.listing-page{padding:var(--space-xl) var(--space-lg)}}@media (max-width:480px){.featured-article-title{font-size:32px}.article-list-title{font-size:24px}.category-title,.listing-title,.page-title,.search-title{font-size:36px}.article-page-title{font-size:40px}.article-content h2,.prose h2{font-size:28px}.promo-title{font-size:22px}.promo-stats{flex-direction:row;gap:var(--space-lg)}.search-page{padding:var(--space-xl) var(--space-lg)}.search-page-input{max-width:none}}.wine-picks{margin:var(--space-2xl) 0}.wine-picks-section{margin-bottom:var(--space-xl)}.wine-picks-section:last-child{margin-bottom:0}.wine-picks-heading{font-family:var(--font-body);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-wine);margin:0 0 var(--space-md) 0;padding:0;line-height:1.4}.wine-picks-list{list-style:none;margin:0;padding:0}.wine-picks-item{font-family:var(--font-body);font-size:16px;font-weight:300;line-height:1.4;color:var(--color-text);padding:10px 0;border-bottom:1px solid #eee;margin:0}.wine-picks-item:first-child{border-top:1px solid #eee}.wine-picks-item .wine-picks-vintage{color:var(--color-text-light);font-size:14px}@media (max-width:480px){.wine-picks-heading{font-size:11px}.wine-picks-item{font-size:15px;padding:10px 0}}.trip-planner-layout{display:flex;height:100vh;overflow:hidden}.trip-planner-main{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.trip-planner-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);background:#fff;height:44px;flex-shrink:0;z-index:2;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.08)}.trip-planner-header-link{display:flex;align-items:center;gap:var(--space-xs);text-decoration:none;height:100%}.trip-planner-header-link .logo{transition:transform .25s ease-out;transform-origin:center center}.trip-planner-header-link:hover .logo{transform:scale(1.015)}.trip-planner-header-link:hover{text-decoration:none}.trip-planner-header-link .logo-small .logo-flx{font-size:34px}.trip-planner-header-link .logo-small .logo-guide{font-size:17px}.trip-planner-header-back{font-family:var(--font-body);font-size:16px;font-weight:500;color:var(--color-text);display:inline-block;transition:transform .15s ease}.trip-planner-header-link:hover .trip-planner-header-back{transform:translateX(-3px)}.header-category-filters{display:flex;align-items:center;gap:var(--space-lg)}.header-category-filter{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.header-category-filter input[type=checkbox]{display:none}.header-category-checkbox{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--checkbox-color,var(--color-text-muted));flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease}.header-category-filter:has(input:checked) .header-category-checkbox{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.header-category-checkbox-tick{display:none;width:8px;height:8px;color:#fff}.header-category-filter:has(input:checked) .header-category-checkbox-tick{display:block}.header-category-filter:has(input:not(:checked)) .header-category-checkbox{opacity:.6}.header-category-filter:hover .header-category-checkbox{opacity:1}.header-category-label{font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-text);transition:color .15s ease}.header-category-filter:has(input:not(:checked)) .header-category-label{color:var(--color-text-muted)}.header-category-filter:hover .header-category-label{color:var(--color-text)}.map-container{flex:1 1;position:relative}.sidebar{width:380px;background:#fff;border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;z-index:1;position:relative;box-shadow:-2px 0 4px rgba(0,0,0,.06)}.sidebar-mode-toggle{display:flex;align-items:stretch;height:36px;border-bottom:1px solid var(--color-border);background:#fff;flex-shrink:0}.sidebar-mode-btn{flex:1 1;font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:.02em;color:var(--color-text-muted);background:none;border:none;padding:0;cursor:pointer;transition:color .15s ease;display:inline-flex;align-items:center;justify-content:center}.sidebar-mode-btn:first-child{border-right:1px solid var(--color-border)}.sidebar-mode-btn:hover{color:var(--color-text)}.sidebar-mode-btn.active{color:var(--color-accent);font-weight:500;box-shadow:inset 0 -2px 0 var(--color-accent);background:none}.search-section{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:#fff}.search-box{position:relative}.search-box .input{padding-left:40px;background:var(--color-bg-alt,#f8f8f8)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.category-filters{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}.category-btn{font-family:var(--font-body);font-size:12px;font-weight:400;padding:6px 12px;border-radius:20px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.category-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.category-btn.active{color:var(--color-text);font-weight:500}.places-list{flex:1 1;overflow-y:auto;padding:0 var(--space-lg);background:#fff}.places-count{font-family:var(--font-body);font-size:12px;font-weight:400;color:var(--color-text-muted);padding:var(--space-md) 0 var(--space-sm)}.place-item{padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color .1s ease}.place-item.selected,.place-item:hover{background:var(--color-bg-alt,#f8f8f8);margin:0 calc(-1 * var(--space-lg));padding-left:var(--space-lg);padding-right:var(--space-lg)}.place-item-body{display:flex;align-items:flex-end;gap:var(--space-md)}.place-item-text{flex:1 1;min-width:0}.place-item-name{font-family:var(--font-display);font-size:16px;font-weight:400;color:var(--color-text);line-height:1.3;display:block;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-item-add{font-family:var(--font-body);font-size:12px;font-weight:500;color:#fff;background:var(--color-text);border:none;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background-color .15s ease}.place-item-add:hover{background:var(--color-text-muted)}.place-item-add.added{background:var(--color-border);color:var(--color-text-muted);cursor:default}.place-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.place-item-location{font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--color-text-muted)}.place-item-dot{font-size:10px;color:var(--color-text-light,#999)}.place-item-rating{font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-text);display:flex;align-items:center;gap:3px}.place-item-rating .star{color:var(--color-warning);font-size:12px}.place-item-category,.place-item-reviews{font-family:var(--font-body);font-size:12px;color:var(--color-text-muted)}.trip-stops{flex:1 1;overflow-y:auto;padding:var(--space-md);background:#fff}.trip-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.trip-empty-icon{font-size:40px;margin-bottom:var(--space-md);opacity:.5}.trip-empty-text{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-text-muted)}.trip-stop{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-sm);display:flex;align-items:stretch;cursor:pointer;transition:all .2s ease;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trip-stop:hover{border-color:var(--color-border-dark,#d0d0d0)}.trip-stop.dragging{opacity:.4}.trip-stop.drag-overlay{box-shadow:var(--shadow-popup);cursor:-webkit-grabbing;cursor:grabbing}.trip-stop-handle{width:36px;background:var(--handle-color,#722f37);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:6px;cursor:-webkit-grab;cursor:grab;flex-shrink:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg);margin:-1px 0 -1px -1px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.trip-stop-handle:hover{background:var(--handle-hover-color,#5a252c)}.trip-stop-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.trip-stop-number{color:#fff;font-family:var(--font-body);font-size:14px;font-weight:600;line-height:1}.trip-stop-drag-icon{color:hsla(0,0%,100%,.6)}.trip-stop-info{flex:1 1;min-width:0;padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;justify-content:center}.trip-stop-name{font-family:var(--font-display);font-size:14px;font-weight:400;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-stop-details{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.trip-stop-address{color:var(--color-text-muted)}.trip-stop-address,.trip-stop-rating{font-family:var(--font-body);font-size:12px}.trip-stop-rating{font-weight:400;color:var(--color-text);display:flex;align-items:center;gap:2px}.trip-stop-rating .star{color:var(--color-warning);font-size:11px}.trip-stop-rating .review-count{color:var(--color-text-muted);font-weight:400;margin-left:2px}.trip-stop-link{font-family:var(--font-body);font-size:11px;color:var(--color-accent);text-decoration:none;transition:color .15s ease}.trip-stop-link:hover{color:var(--color-accent-hover);text-decoration:underline}.trip-stop-remove{padding:6px;margin-right:var(--space-sm);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;align-self:center}.trip-stop-remove:hover{background:var(--color-bg-alt,#f8f8f8);color:var(--color-error)}.trip-leg{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);color:var(--color-text-muted);font-size:12px}.trip-leg-line{width:2px;height:16px;background:var(--color-border);margin-left:11px}.trip-leg-info{font-family:var(--font-body);font-size:11px;color:var(--color-text-muted)}.trip-footer{padding:var(--space-lg);border-top:1px solid var(--color-border);background:#fff}.trip-summary{display:flex;justify-content:space-between;margin-bottom:var(--space-md);font-family:var(--font-body);font-size:13px}.trip-summary-label{color:var(--color-text-muted)}.trip-summary-value{font-weight:500;color:var(--color-text)}.trip-actions{display:flex;gap:var(--space-sm)}.trip-actions .btn{flex:1 1}.export-buttons{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.export-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-family:var(--font-body);font-size:12px;font-weight:400;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text);cursor:pointer;transition:all .2s ease}.export-btn:hover{border-color:var(--color-border-dark,#d0d0d0);background:var(--color-bg-alt,#f8f8f8)}.export-btn.apple-maps:hover{border-color:#333;color:#333}.export-btn.google-maps:hover{border-color:#4285f4;color:#4285f4}.export-btn svg{flex-shrink:0;opacity:.7}.export-btn:hover svg{opacity:1}.clear-btn-mobile,.trip-footer-top-mobile{display:none}.trip-footer-bottom{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.starting-location-section{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:#fff}.starting-location-input{display:flex;align-items:center;gap:var(--space-sm)}.locate-btn{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.locate-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.locate-btn:disabled{opacity:.5;cursor:not-allowed}.locate-btn.locating svg{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.autocomplete-wrapper{position:relative;flex:1 1}.autocomplete-wrapper input{width:100%;padding:10px 12px;font-family:var(--font-body);font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-alt,#f8f8f8);color:var(--color-text);outline:none;transition:border-color .2s ease}.autocomplete-wrapper input::placeholder{color:var(--color-text-muted)}.autocomplete-wrapper input:focus{border-color:var(--color-accent)}.autocomplete-wrapper input:disabled{opacity:.6}.autocomplete-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--color-text-muted)}.autocomplete-loading-inline{font-size:12px;color:var(--color-text-muted);padding:var(--space-xs) 0}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popup);z-index:100;max-height:240px;overflow-y:auto}.autocomplete-suggestion{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background-color .15s ease}.autocomplete-suggestion:hover{background:var(--color-bg-alt,#f8f8f8)}.autocomplete-suggestion:not(:last-child){border-bottom:1px solid var(--color-border)}.suggestion-name{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-text)}.suggestion-detail{font-family:var(--font-body);font-size:12px;color:var(--color-text-muted)}.starting-location-set{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-alt,#f8f8f8);border-radius:var(--radius-md)}.starting-location-icon{font-size:18px;flex-shrink:0}.starting-location-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.starting-location-label{font-family:var(--font-body);font-size:10px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.starting-location-address{font-family:var(--font-body);font-size:13px;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.starting-location-clear{width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;flex-shrink:0}.starting-location-clear:hover{background:var(--color-border);color:var(--color-error)}.geocode-error{font-family:var(--font-body);font-size:12px;color:var(--color-error);margin-top:var(--space-sm)}.generate-tour-row{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}.stops-select-compact{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:none;padding:0 14px 0 0;font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--color-text);cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%232D2A26' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100%;background-size:8px}.stops-select-compact:disabled{opacity:.6;cursor:not-allowed}.generate-tour-link{background:none;border:none;padding:0;font-family:var(--font-body);font-size:13px;color:var(--color-accent);cursor:pointer;text-decoration:underline}.generate-tour-link:hover{color:var(--color-accent-hover,#a85432)}.generate-tour-link:disabled{color:var(--color-text-muted);text-decoration:none;cursor:default}.starting-marker{cursor:pointer;transition:transform .15s ease}.starting-marker:hover{transform:scale(1.1)}.marker-wrapper{cursor:pointer}.custom-marker{width:16px;height:16px;background:var(--color-deep-wine);border:1px solid #fff;border-radius:50%;box-shadow:0 1px 3px rgba(45,42,38,.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:9px;font-weight:600;color:#fff;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,background-color .2s ease,background .2s ease}.custom-marker.deemphasized{transform:scale(.5);opacity:.5;z-index:0!important}.custom-marker.deemphasized.hover{transform:scale(.7);opacity:.75}.custom-marker.deemphasized.selected{transform:scale(.8);opacity:.85}.custom-marker.hover{transform:scale(1.2);box-shadow:0 3px 8px rgba(45,42,38,.35)}.custom-marker.selected{transform:scale(1.3);box-shadow:0 0 0 3px rgba(114,47,55,.3),0 4px 12px rgba(45,42,38,.3)}.custom-marker.in-trip{width:20px;height:20px;border:1px solid #fff;box-shadow:0 0 0 2px var(--marker-glow,rgba(114,47,55,.3)),0 2px 4px rgba(45,42,38,.25)}.custom-marker.in-trip.selected{transform:scale(1.2);box-shadow:0 0 0 4px var(--marker-glow-selected,rgba(114,47,55,.35)),0 4px 12px rgba(45,42,38,.35)}.custom-marker.multi-category{border:1.5px solid #fff}.marker-tooltip .mapboxgl-popup-content{padding:6px 10px!important;background:var(--color-charcoal)!important;border:none!important;border-radius:var(--radius-sm)!important;box-shadow:0 2px 8px rgba(0,0,0,.2)!important}.marker-tooltip .mapboxgl-popup-tip{border-top-color:var(--color-charcoal)!important}.tooltip-content{font-family:var(--font-body);font-size:12px;font-weight:500;color:#fff;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.brand-popup .mapboxgl-popup-content{padding:0!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-popup)!important;border:1px solid var(--color-border)!important;overflow:hidden;background:#fff!important}.brand-popup .mapboxgl-popup-close-button{font-size:18px;padding:4px 8px;color:var(--color-text-muted);right:4px;top:4px}.brand-popup .mapboxgl-popup-close-button:hover{background:var(--color-bg-alt,#f8f8f8);color:var(--color-text);border-radius:var(--radius-sm)}.popup-content{min-width:240px;max-width:280px}.popup-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:#fff}.popup-name{font-family:var(--font-display);font-size:15px;font-weight:400;color:var(--color-text);margin-bottom:var(--space-xs);padding-right:var(--space-xl);line-height:1.3}.popup-address{font-family:var(--font-body);font-size:13px;color:var(--color-text-muted)}.popup-body{padding:var(--space-md) var(--space-lg);background:#fff}.popup-meta{gap:var(--space-md);margin-bottom:var(--space-md)}.popup-meta,.popup-rating{display:flex;align-items:center}.popup-rating{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-text);gap:4px}.popup-rating .star{color:var(--color-warning)}.popup-reviews{font-family:var(--font-body);font-size:12px;color:var(--color-text-muted)}.popup-links{flex-direction:column;font-size:13px}.popup-link,.popup-links{display:flex;gap:var(--space-sm)}.popup-link{align-items:center;color:var(--color-text);font-family:var(--font-body);transition:color .15s ease}.popup-link:hover{color:var(--color-accent);text-decoration:none}.popup-link svg{color:var(--color-text-muted);flex-shrink:0}.popup-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-bg-alt,#f8f8f8)}.popup-footer .btn{width:100%}.mapboxgl-ctrl-group{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--color-border)!important;overflow:hidden}.mapboxgl-ctrl-group button{background:#fff!important;border-bottom:1px solid var(--color-border)!important}.mapboxgl-ctrl-group button:last-child{border-bottom:none!important}.mapboxgl-ctrl-group button:hover{background:var(--color-bg-alt,#f8f8f8)!important}.mapboxgl-ctrl-group button .mapboxgl-ctrl-icon{filter:none}.sheet-handle{display:none}.sheet-drag-area{flex-shrink:0}@media (max-width:768px){.trip-planner-layout{flex-direction:column}.trip-planner-main{height:auto;flex:1 1}.marker-tooltip{display:none!important}.sidebar{width:100%;height:68px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px rgba(0,0,0,.12);border-radius:12px 12px 0 0;transition:height .3s ease;z-index:10}.sidebar.dragging{transition:none}.sheet-drag-area{touch-action:none;flex-shrink:0}.sheet-handle{display:flex;align-items:center;justify-content:center;padding:10px 0 6px;flex-shrink:0}.sheet-handle-bar{width:40px;height:5px;background:#bbb;border-radius:3px}.mapboxgl-ctrl-bottom-right{display:none}.marker-wrapper{min-width:30px;min-height:30px;display:flex;align-items:center;justify-content:center}.trip-planner-header{padding:var(--space-sm) var(--space-md);touch-action:manipulation}.autocomplete-wrapper input,.search-box .input{font-size:16px}.header-category-filters{gap:var(--space-md)}.header-category-label{font-size:12px}.trip-planner-header-link .logo-small .logo-flx{font-size:29px}.trip-planner-header-back,.trip-planner-header-link .logo-small .logo-guide{font-size:14px}.popup-content{min-width:220px}.trip-footer{padding:var(--space-sm) var(--space-md)}.trip-footer-top-mobile{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.optimize-link{background:none;border:none;padding:0;font-family:var(--font-body);font-size:13px;color:var(--color-accent);cursor:pointer;text-decoration:underline}.optimize-link:disabled{color:var(--color-text-muted);text-decoration:none;cursor:default}.trip-summary-inline{font-family:var(--font-body);font-size:13px;color:var(--color-text)}.trip-actions-desktop,.trip-summary-desktop{display:none}.trip-footer-bottom{margin-top:0;padding-top:0;border-top:none}.clear-btn-mobile{display:flex;flex:2 1;justify-content:center}.trip-footer-bottom .export-btn{flex:1 1;padding:var(--space-xs) var(--space-sm);font-size:12px}.export-icon-desktop{display:none}.trip-stop{margin-bottom:2px}.trip-leg{padding:2px 0 2px var(--space-md)}.trip-leg:before{height:8px;margin-left:8px}}