:root{--primary:#1B5E20;--primary-dark:#0D3D12;--primary-light:#2E7D32;--primary-muted:#4CAF50;--gold:#F9A825;--gold-light:#FFC107;--gold-dark:#F57F17;--gold-glow:rgba(249, 168, 37, 0.3);--bg-primary:#FAFAFA;--bg-secondary:#FFFFFF;--bg-accent:#F5F5F5;--bg-dark:#1A1A1A;--bg-card:#FFFFFF;--text-primary:#212121;--text-secondary:#424242;--text-muted:#757575;--text-light:#FFFFFF;--text-on-gold:#1A1A1A;--success:#2E7D32;--success-bg:#E8F5E9;--success-border:#A5D6A7;--warning:#F57C00;--warning-bg:#FFF3E0;--danger:#C62828;--danger-bg:#FFEBEE;--border-color:#E0E0E0;--border-light:#EEEEEE;--border-dark:#BDBDBD;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06);--shadow-lg:0 10px 25px rgba(0,0,0,0.1),0 6px 10px rgba(0,0,0,0.08);--shadow-xl:0 20px 40px rgba(0,0,0,0.12),0 8px 16px rgba(0,0,0,0.08);--shadow-gold:0 4px 14px rgba(249, 168, 37, 0.4);--font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms ease}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}button{font-family:inherit;cursor:pointer;border:none;background:0 0}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--text-primary)}h1{font-size:clamp(1.75rem, 4vw, 2.75rem);letter-spacing:-.02em}h2{font-size:clamp(1.5rem, 3vw, 2rem);letter-spacing:-.01em}h3{font-size:1.25rem}h4{font-size:1.125rem}p{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-small{font-size:.875rem}.text-xs{font-size:.75rem}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}@media (min-width:768px){.container{padding:0 var(--space-lg)}}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;gap:var(--space-md)}.logo{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:1.125rem;color:var(--primary)}.logo:hover{color:var(--primary-dark)}.logo-icon{font-size:1.5rem}.nav-menu{display:none;list-style:none;gap:var(--space-xl)}.nav-menu a{font-weight:500;font-size:.9375rem;color:var(--text-secondary);padding:var(--space-sm) 0;position:relative}.nav-menu a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:width var(--transition-normal)}.nav-menu a.active,.nav-menu a:hover{color:var(--primary)}.nav-menu a.active::after,.nav-menu a:hover::after{width:100%}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:1.5rem;color:var(--text-secondary);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.mobile-menu-btn:hover{background:var(--bg-accent)}@media (min-width:768px){.nav-menu{display:flex}.mobile-menu-btn{display:none}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--primary);color:var(--text-light);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-weight:600;font-size:.9375rem;transition:all var(--transition-normal);box-shadow:0 2px 8px rgba(27,94,32,.25);white-space:nowrap}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(27,94,32,.35)}.btn-primary.active{background:var(--gold);color:var(--text-on-gold);box-shadow:var(--shadow-gold)}.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:linear-gradient(135deg,var(--gold) 0,var(--gold-dark) 100%);color:var(--text-on-gold);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);font-weight:700;font-size:1rem;transition:all var(--transition-normal);box-shadow:var(--shadow-gold);border:none;cursor:pointer}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(249,168,37,.5)}.btn-outline{display:inline-flex;align-items:center;gap:var(--space-sm);background:0 0;color:var(--primary);padding:var(--space-sm) var(--space-lg);border:2px solid var(--primary);border-radius:var(--radius-full);font-weight:600;transition:all var(--transition-fast)}.btn-outline:hover{background:var(--primary);color:var(--text-light)}.hero{background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 50%,var(--primary-light) 100%);color:var(--text-light);padding:var(--space-2xl) 0 var(--space-3xl);text-align:center;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M40 0L20 10v20l20 10 20-10V10L40 0zm0 60L20 50v-20l20-10 20 10v20L40 60z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.hero>*{position:relative;z-index:1}.hero h1{color:var(--text-light);margin-bottom:var(--space-sm);text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-subtitle{color:rgba(255,255,255,.9);font-size:1.125rem;margin-bottom:var(--space-xl);max-width:550px;margin-left:auto;margin-right:auto}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);background:rgba(255,255,255,.15);backdrop-filter:blur(10px);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:.875rem;font-weight:500;margin-top:var(--space-xl);border:1px solid rgba(255,255,255,.2)}.pulse-dot{width:10px;height:10px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 10px var(--gold)}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}.search-box{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-xl);max-width:900px;margin:0 auto}.search-form{display:grid;gap:var(--space-md)}.search-field{display:flex;flex-direction:column;gap:var(--space-xs);text-align:left}.search-field label{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.search-field input,.search-field select{padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast)}.search-field input:focus,.search-field select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(27,94,32,.1)}.search-btn{background:linear-gradient(135deg,var(--gold) 0,var(--gold-dark) 100%);color:var(--text-on-gold);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-weight:700;font-size:1rem;transition:all var(--transition-normal);box-shadow:var(--shadow-gold);border:none;cursor:pointer}.search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,168,37,.5)}@media (min-width:768px){.hero{padding:var(--space-3xl) 0}.search-form{grid-template-columns:1fr 1fr 1fr auto;align-items:end}.search-box{padding:var(--space-xl)}}.trust-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-light);padding:var(--space-md) 0}.trust-items{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-lg) var(--space-2xl)}.trust-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500}.trust-item .icon{color:var(--primary);font-weight:700;font-size:1rem}.section{padding:var(--space-2xl) 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.section-title{display:flex;align-items:center;gap:var(--space-sm)}.section-title .icon{font-size:1.5rem}.section-badge{font-size:.75rem;font-weight:600;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);background:var(--bg-accent);color:var(--text-secondary)}.section-badge.live{background:var(--success-bg);color:var(--success);animation:badgePulse 2s infinite}@keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(46,125,50,.4)}50%{box-shadow:0 0 0 8px rgba(46,125,50,0)}}.section-link{font-size:.875rem;font-weight:600;color:var(--primary)}.section-link:hover{text-decoration:underline}.hotels-grid{display:grid;gap:var(--space-xl)}.hotel-card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-normal);box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.hotel-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)}.hotel-card-inner{display:grid;gap:0}.hotel-image-wrapper{position:relative;overflow:hidden}.hotel-image{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:var(--bg-accent);transition:transform var(--transition-slow)}.hotel-card:hover .hotel-image{transform:scale(1.05)}.hotel-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0,transparent 40%,rgba(0,0,0,.6) 100%)}.hotel-image-badge{position:absolute;top:var(--space-md);left:var(--space-md);background:var(--gold);color:var(--text-on-gold);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;box-shadow:var(--shadow-sm)}.hotel-content{padding:var(--space-lg)}.hotel-header{margin-bottom:var(--space-sm)}.hotel-name{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs);line-height:1.3}.hotel-tagline{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.hotel-rating{display:flex;align-items:center;gap:var(--space-xs);margin:var(--space-sm) 0}.hotel-stars{color:var(--gold);font-size:1rem;letter-spacing:1px}.hotel-rating-text{font-size:.8125rem;color:var(--text-muted);font-weight:500}.hotel-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-md);font-size:.875rem;color:var(--text-muted)}.hotel-meta-item{display:flex;align-items:center;gap:var(--space-xs)}.hotel-features{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.feature-tag{font-size:.75rem;padding:var(--space-xs) var(--space-sm);background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--radius-full);color:var(--primary);font-weight:600}.hotel-availability{background:var(--bg-accent);padding:var(--space-lg);margin:0 calc(-1 * var(--space-lg)) calc(-1 * var(--space-lg));border-top:1px solid var(--border-light)}.availability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.availability-label{font-size:.8125rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.last-checked{font-size:.75rem;color:var(--text-muted)}.dates-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.date-cell{padding:6px 4px;border-radius:var(--radius-sm);text-align:center;font-size:.7rem;transition:all var(--transition-fast);border:1px solid transparent;background:var(--bg-secondary);display:block;text-decoration:none}.date-label{font-weight:700;display:block;color:var(--text-primary);font-size:.65rem}.date-status{font-size:.55rem;margin-top:1px;display:block;font-weight:600}.date-price{font-size:.6rem;font-weight:700;color:var(--accent-gold);display:block;margin-top:1px}.date-cell.available{background:var(--success-bg);border-color:var(--success)}.date-cell.available .date-status{color:var(--success)}a.date-cell.available:hover{background:var(--success);transform:scale(1.08);box-shadow:var(--shadow-md)}a.date-cell.available:hover .date-label,a.date-cell.available:hover .date-price,a.date-cell.available:hover .date-status{color:#fff}.date-cell.unavailable{background:var(--danger-bg);border-color:rgba(198,40,40,.3)}.date-cell.unavailable .date-label{color:var(--text-muted)}.date-cell.unavailable .date-status{color:var(--danger);font-size:1rem}a.date-cell.unavailable.notify-me{cursor:pointer}a.date-cell.unavailable.notify-me:hover{background:var(--warning-bg);border-color:var(--gold);transform:scale(1.08);box-shadow:var(--shadow-md)}a.date-cell.unavailable.notify-me:hover .date-label{color:var(--text-primary)}a.date-cell.unavailable.notify-me:hover .date-status{animation:bellRing .5s ease}@keyframes bellRing{0%,100%{transform:rotate(0)}25%{transform:rotate(15deg)}50%{transform:rotate(-15deg)}75%{transform:rotate(10deg)}}.date-cell.target-date{box-shadow:0 0 0 3px var(--gold-light)}.hotel-cta{margin-top:var(--space-sm);text-align:center}.hotel-cta .btn-gold{width:auto;font-size:.75rem;padding:8px 16px}.hotel-referral{margin-top:var(--space-sm);text-align:center;font-size:.65rem;color:var(--text-muted)}.hotel-referral a{color:var(--accent-gold);text-decoration:none}.hotel-referral a:hover{text-decoration:underline}@media (min-width:768px){.hotel-card-inner{grid-template-columns:320px 1fr}.hotel-image-wrapper{height:100%}.hotel-image{aspect-ratio:auto;height:100%;min-height:280px}.dates-grid{grid-template-columns:repeat(10,1fr)}}.cta-banner{background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 100%);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-lg);text-align:center;margin:var(--space-xl) 0;position:relative;overflow:hidden}.cta-banner::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='%23ffffff' fill-opacity='0.05'%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/svg%3E")}.cta-banner>*{position:relative;z-index:1}.cta-banner h3{color:var(--text-light);margin-bottom:var(--space-sm);font-size:1.5rem}.cta-banner p{color:rgba(255,255,255,.9);margin-bottom:var(--space-lg);max-width:500px;margin-left:auto;margin-right:auto}.restaurants-grid{display:grid;gap:var(--space-md)}.restaurant-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all var(--transition-normal)}.restaurant-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.restaurant-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm);gap:var(--space-sm)}.restaurant-name{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary)}.restaurant-name .icon{font-size:1.25rem}.restaurant-location{font-size:.8125rem;color:var(--text-muted);margin-bottom:var(--space-md)}.slots-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.slot{padding:var(--space-xs) var(--space-md);background:var(--success-bg);border:1px solid var(--success);border-radius:var(--radius-full);font-size:.8125rem;color:var(--success);font-weight:600;transition:all var(--transition-fast);text-decoration:none}.slot:hover{background:var(--success);color:#fff;transform:scale(1.05)}.no-slots{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.875rem;flex-wrap:wrap}.no-slots .alert-link{color:var(--primary);font-weight:600}.no-slots .alert-link:hover{text-decoration:underline}@media (min-width:768px){.restaurants-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.restaurants-grid{grid-template-columns:repeat(3,1fr)}}.park-status{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.park-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);text-align:center;margin-bottom:var(--space-lg)}.park-status-item{padding:var(--space-md);background:var(--bg-accent);border-radius:var(--radius-md)}.park-status-label{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.park-status-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.attractions-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-light)}.attractions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-sm);max-height:400px;overflow-y:auto}.attractions-grid::-webkit-scrollbar{width:6px}.attractions-grid::-webkit-scrollbar-track{background:var(--bg-accent);border-radius:3px}.attractions-grid::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.attraction-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--bg-accent);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.attraction-item:hover{background:var(--bg-primary)}.attraction-item.closed{opacity:.5}.attraction-info{flex:1;min-width:0}.attraction-name{font-weight:600;font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attraction-empire{font-size:.75rem;color:var(--text-muted)}.waiting-time{font-size:1rem;font-weight:700;min-width:65px;text-align:right}.waiting-time.short{color:var(--success)}.waiting-time.medium{color:var(--warning)}.waiting-time.long{color:var(--danger)}.state-badge{font-size:.6875rem;padding:4px 10px;border-radius:var(--radius-full);background:var(--bg-primary);color:var(--text-muted);font-weight:600}.state-badge.open{background:var(--success-bg);color:var(--success)}.activity-section{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.activity-feed{max-height:350px;overflow-y:auto}.activity-item{display:flex;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.activity-item:last-child{border-bottom:none}.activity-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0;background:var(--bg-accent)}.activity-icon.hotel{background:var(--success-bg)}.activity-icon.restaurant{background:var(--warning-bg)}.activity-icon.attraction{background:rgba(27,94,32,.1)}.activity-icon.system{background:var(--bg-accent)}.activity-content{flex:1;min-width:0}.activity-title{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.activity-time{font-size:.75rem;color:var(--text-muted)}.activity-details{font-size:.8125rem;color:var(--text-secondary);margin-top:2px}.activity-item.new{animation:slideIn .3s ease}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer{background:var(--bg-dark);color:rgba(255,255,255,.7);padding:var(--space-2xl) 0;margin-top:var(--space-2xl)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);text-align:center}.footer-links{display:flex;gap:var(--space-lg);flex-wrap:wrap;justify-content:center}.footer-links a{color:rgba(255,255,255,.7);font-size:.9375rem;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--gold)}.footer-disclaimer{font-size:.8125rem;color:rgba(255,255,255,.5)}.footer-credit{font-size:.8125rem;color:rgba(255,255,255,.5)}.footer-credit a{color:var(--gold)}.footer-credit .heart{color:var(--danger);animation:heartbeat 1.5s ease-in-out infinite;display:inline-block}@keyframes heartbeat{0%,100%{transform:scale(1)}10%,30%{transform:scale(1.15)}}.status-indicator{display:flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--text-muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse 2s infinite}.status-dot.disconnected{background:var(--danger);animation:none}.badge{display:inline-flex;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.loading{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.subscribe-page{background:var(--bg-primary)}.subscribe-hero{background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary) 100%);color:var(--text-light);padding:var(--space-2xl) 0;text-align:center}.subscribe-hero h1{color:var(--text-light);margin-bottom:var(--space-sm)}.subscribe-hero .subtitle{color:rgba(255,255,255,.9);font-size:1.125rem}.subscribe-content{padding:var(--space-xl) 0}.subscribe-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-xl);max-width:600px;margin:-60px auto 0;position:relative;z-index:10}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.form-group input,.form-group select{width:100%;padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px rgba(27,94,32,.1)}.checkbox-group{display:grid;gap:var(--space-sm)}.checkbox-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-secondary)}.checkbox-item:hover{background:var(--bg-accent);border-color:var(--primary-light)}.checkbox-item.highlighted{background:rgba(249,168,37,.1);border-color:var(--gold)}.checkbox-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.submit-btn{width:100%;background:linear-gradient(135deg,var(--gold) 0,var(--gold-dark) 100%);color:var(--text-on-gold);padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-gold)}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,168,37,.5)}.submit-btn:disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none}.error-message{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.success-message{background:var(--success-bg);border:1px solid var(--success);color:var(--success);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.form-section{padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light)}.form-section:last-of-type{border-bottom:none}.hidden{display:none!important}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:480px){h1{font-size:1.5rem}.hero{padding:var(--space-xl) 0 var(--space-2xl)}.search-box{padding:var(--space-md);border-radius:var(--radius-lg)}.dates-grid{grid-template-columns:repeat(6,1fr);gap:3px}.date-cell{padding:4px 2px}.date-label{font-size:.55rem}.date-price{font-size:.5rem}.date-status{font-size:.45rem}.subscribe-card{margin-top:-40px;padding:var(--space-lg)}.hotel-content{padding:var(--space-md)}.hotel-availability{padding:var(--space-md);margin:0 calc(-1 * var(--space-md)) calc(-1 * var(--space-md))}}@media print{.btn-gold,.btn-primary,.cta-banner,.footer,.header,.hero,.search-box{display:none}.hotel-card{page-break-inside:avoid}}