.customer-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--color-bg-white);border-bottom:1px solid var(--color-border);z-index:1000;box-shadow:var(--shadow-sm)}.customer-header-container{max-width:var(--container-max-width);margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:0 var(--space-lg)}.customer-header-logo{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);transition:color var(--transition-fast)}.customer-header-logo:hover .logo-text{color:var(--color-accent)}.customer-header-address{display:none;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-light);border-radius:var(--radius-md);flex:1;max-width:400px}@media(min-width:768px){.customer-header-address{display:flex}}.customer-header-address svg{color:var(--color-accent);flex-shrink:0}.address-text{font-size:var(--font-size-sm);color:var(--color-text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-change-btn{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:var(--font-weight-medium);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);flex-shrink:0;transition:background-color var(--transition-fast)}.address-change-btn:hover{background-color:#06b6d41a}.customer-header-nav{display:none;align-items:center;gap:var(--space-lg)}@media(min-width:768px){.customer-header-nav{display:flex}}.nav-link{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.customer-header-cart{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--color-text-dark);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.customer-header-cart:hover{background-color:var(--color-bg-light);color:var(--color-accent)}.cart-badge{position:absolute;top:4px;right:4px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent);color:var(--color-bg-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);padding:0 6px}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:1002}@media(min-width:768px){.mobile-menu-toggle{display:none}}.menu-line{width:100%;height:3px;background-color:var(--color-primary);border-radius:2px;transition:all var(--transition-base)}.mobile-menu-toggle.open .menu-line:nth-child(1){transform:translateY(8.5px) rotate(45deg)}.mobile-menu-toggle.open .menu-line:nth-child(2){opacity:0}.mobile-menu-toggle.open .menu-line:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}.mobile-overlay{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease-out}.mobile-menu{position:fixed;top:var(--header-height);right:0;width:280px;max-width:85vw;height:calc(100vh - var(--header-height));background-color:var(--color-bg-white);box-shadow:var(--shadow-xl);z-index:1001;padding:var(--space-xl) 0;display:flex;flex-direction:column;gap:var(--space-xs);animation:slideInRight .3s ease-out;overflow-y:auto}.mobile-address{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);margin-bottom:var(--space-md);background-color:var(--color-bg-light);font-size:var(--font-size-sm)}.mobile-address svg{color:var(--color-accent);flex-shrink:0}.mobile-address span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-address button{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:var(--font-weight-medium);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm)}.mobile-nav-link{width:100%;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-dark);text-decoration:none;padding:var(--space-md) var(--space-xl);transition:all var(--transition-fast)}.customer-footer{background-color:var(--color-text-dark);color:var(--color-bg-white);margin-top:auto}.customer-footer-container{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-2xl) var(--space-lg) var(--space-lg) var(--space-lg);display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media(min-width:768px){.customer-footer-container{grid-template-columns:2fr 1fr 1fr 1fr}}.customer-footer-section{display:flex;flex-direction:column;gap:var(--space-sm)}.customer-footer-logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin:0 0 var(--space-xs) 0}.customer-footer-tagline{font-size:var(--font-size-base);color:var(--color-bg-light);opacity:.9;margin:0}.customer-footer-heading{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-bg-white);margin:0 0 var(--space-sm) 0}.customer-footer-link{font-size:var(--font-size-sm);color:var(--color-bg-light);text-decoration:none;transition:color var(--transition-fast)}.customer-footer-link:hover{color:var(--color-accent)}.customer-footer-copyright-section{border-top:1px solid rgba(255,255,255,.1);max-width:var(--container-max-width);margin:var(--space-xl) auto 0 auto;padding:var(--space-lg);text-align:center}.customer-footer-copyright-text{font-size:var(--font-size-sm);color:var(--color-bg-light);opacity:.7;margin:0}@media(min-width:768px){.customer-footer-copyright-section{text-align:left}}.customer-layout{min-height:100vh;display:flex;flex-direction:column}.customer-main{flex:1;margin-top:var(--header-height);width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;text-align:center;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:2px solid transparent;text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background-color:var(--color-primary);color:var(--color-bg-white);border-color:var(--color-primary)}.btn-primary:hover:not(.btn-disabled){background-color:#1e3a8a;border-color:#1e3a8a;box-shadow:var(--shadow-md)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary{background-color:var(--color-accent);color:var(--color-bg-white);border-color:var(--color-accent)}.btn-secondary:hover:not(.btn-disabled){background-color:#0891b2;border-color:#0891b2;box-shadow:var(--shadow-md)}.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(.btn-disabled){background-color:var(--color-primary);color:var(--color-bg-white);box-shadow:var(--shadow-md)}.btn-outline:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-full-width{width:100%}.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media(max-width:768px){.btn{font-size:var(--font-size-base);padding:var(--space-md) var(--space-lg);min-height:48px}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md)}.spinner{border-radius:50%;border-style:solid;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-small{width:20px;height:20px}.spinner-medium{width:40px;height:40px}.spinner-large{width:60px;height:60px}.spinner-primary{border-width:3px;border-color:var(--color-bg-light);border-top-color:var(--color-primary)}.spinner-accent{border-width:3px;border-color:var(--color-bg-light);border-top-color:var(--color-accent)}.spinner-white{border-width:3px;border-color:#ffffff4d;border-top-color:var(--color-bg-white)}.spinner-small.spinner-primary,.spinner-small.spinner-accent,.spinner-small.spinner-white{border-width:2px}.spinner-large.spinner-primary,.spinner-large.spinner-accent,.spinner-large.spinner-white{border-width:4px}.spinner-text{font-size:var(--font-size-base);color:var(--color-text-medium);margin:0}.error-message{display:flex;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-md);border:2px solid;margin:var(--space-lg) 0}.error-message-error{background-color:#ef44441a;border-color:var(--color-error);color:var(--color-error)}.error-message-warning{background-color:#f59e0b1a;border-color:#f59e0b;color:#d97706}.error-message-info{background-color:#06b6d41a;border-color:var(--color-accent);color:#0891b2}.error-icon{flex-shrink:0;width:24px;height:24px}.error-content{flex:1}.error-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0}.error-message-error .error-title{color:var(--color-error)}.error-message-warning .error-title{color:#d97706}.error-message-info .error-title{color:#0891b2}.error-text{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0 0 var(--space-md) 0}.error-message-error .error-text{color:#991b1b}.error-message-warning .error-text{color:#92400e}.error-message-info .error-text{color:#164e63}.error-retry-button{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);background-color:transparent;border:2px solid currentColor;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.error-retry-button:hover{background-color:currentColor}.error-message-error .error-retry-button:hover,.error-message-warning .error-retry-button:hover,.error-message-info .error-retry-button:hover{color:#fff}@media(max-width:768px){.error-message{padding:var(--space-md)}.error-title{font-size:var(--font-size-base)}.error-text{font-size:var(--font-size-sm)}}.address-search{width:100%}.address-search-form{display:flex;gap:var(--space-md);width:100%}@media(max-width:768px){.address-search-form{flex-direction:column}}.address-input-wrapper{position:relative;flex:1}.address-input-icon{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-medium);pointer-events:none}.address-input{width:100%;height:56px;padding:0 var(--space-md) 0 calc(var(--space-md) + 20px + var(--space-sm));font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-dark);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none}.address-input::placeholder{color:var(--color-text-medium)}.address-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #06b6d41a}.address-input:disabled{opacity:.6;cursor:not-allowed}.address-input-loading{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%)}.pac-container{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-top:none;margin-top:4px;font-family:var(--font-family)}.pac-item{padding:var(--space-md);font-size:var(--font-size-base);border-top:1px solid var(--color-border);cursor:pointer}.pac-item:hover{background-color:var(--color-bg-light)}.pac-item-query{font-size:var(--font-size-base);color:var(--color-text-dark)}.pac-matched{font-weight:var(--font-weight-semibold)}.pac-icon{display:none}.address-search-error{margin-top:var(--space-md)}.address-search-success{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);background-color:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:var(--color-bg-white);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.address-search-success svg{color:var(--color-bg-white);flex-shrink:0}@media(max-width:768px){.address-input{height:52px;font-size:16px}}.card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.card-padding-none{padding:0}.card-padding-small{padding:var(--space-md)}.card-padding-default{padding:var(--space-lg)}.card-padding-large{padding:var(--space-xl)}.card-hoverable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--color-accent)}.card-clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card-clickable:active{transform:translateY(0)}@media(max-width:768px){.card-padding-default{padding:var(--space-md)}.card-padding-large{padding:var(--space-lg)}}.restaurant-card{display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:all var(--transition-base)}.restaurant-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.restaurant-card-image{position:relative;width:100%;height:200px;background-color:var(--color-bg-light);overflow:hidden}.restaurant-card-image img{width:100%;height:100%;object-fit:cover}.restaurant-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-bg-light) 0%,var(--color-border) 100%);color:var(--color-text-medium)}.restaurant-card-closed-badge{position:absolute;top:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-md);background-color:#000000b3;color:var(--color-bg-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full)}.restaurant-card-content{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.restaurant-card-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0;line-height:var(--line-height-tight)}.restaurant-card-details{display:flex;flex-wrap:wrap;gap:var(--space-md)}.restaurant-card-detail{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-medium)}.restaurant-card-detail svg{flex-shrink:0}.restaurant-card-types{display:flex;gap:var(--space-sm);margin-top:var(--space-xs)}.restaurant-card-type-badge{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);background-color:#06b6d41a;border-radius:var(--radius-sm)}@media(max-width:768px){.restaurant-card-image{height:180px}.restaurant-card-content{padding:var(--space-md)}.restaurant-card-name{font-size:var(--font-size-lg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-3xl) var(--space-xl);min-height:300px}.empty-state-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xl);color:var(--color-text-medium);opacity:.5}.empty-state-icon svg{width:100%;height:100%}.empty-state-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-md) 0}.empty-state-message{font-size:var(--font-size-lg);color:var(--color-text-medium);line-height:var(--line-height-relaxed);max-width:500px;margin:0 0 var(--space-xl) 0}.empty-state-action{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background-color:var(--color-primary);color:var(--color-bg-white);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.empty-state-action:hover{background-color:#1e3a8a;box-shadow:var(--shadow-md)}.empty-state-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){.empty-state{padding:var(--space-2xl) var(--space-md);min-height:250px}.empty-state-icon{width:60px;height:60px;margin-bottom:var(--space-lg)}.empty-state-title{font-size:var(--font-size-xl)}.empty-state-message{font-size:var(--font-size-base)}}.home-page{min-height:calc(100vh - var(--header-height))}.home-hero{background:linear-gradient(135deg,var(--color-primary) 0%,#1e3a8a 100%);padding:var(--space-3xl) 0;color:var(--color-bg-white)}.home-hero-content{max-width:700px;margin:0 auto;text-align:center}.home-hero-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0 0 var(--space-md) 0;color:var(--color-bg-white)}.home-hero-subtitle{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);margin:0 0 var(--space-2xl) 0;opacity:.95;color:#ffffffe6}.home-hero-search{max-width:600px;margin:0 auto}.home-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.home-filter-buttons{display:flex;gap:var(--space-sm);flex-wrap:wrap}.filter-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.filter-button:hover{border-color:var(--color-accent);background-color:#06b6d40d}.filter-button.active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-white)}.filter-button svg{flex-shrink:0}.filter-clear{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent);background:none;border:none;cursor:pointer;padding:var(--space-sm) var(--space-md);transition:opacity var(--transition-fast)}.filter-clear:hover{opacity:.7}.home-results-header{margin-bottom:var(--space-lg)}.home-results-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0}.home-restaurants{padding:var(--space-2xl) 0}.home-restaurants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-xl)}.home-loading{display:flex;justify-content:center;padding:var(--space-3xl) 0}.home-info{padding:var(--space-3xl) 0;background-color:var(--color-bg-light)}.home-info-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);max-width:1000px;margin:0 auto}@media(min-width:768px){.home-info-grid{grid-template-columns:repeat(3,1fr)}}.home-info-card{background-color:var(--color-bg-white);padding:var(--space-2xl);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm)}.home-info-icon{width:64px;height:64px;margin:0 auto var(--space-lg) auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0%,#0891b2 100%);color:var(--color-bg-white);border-radius:var(--radius-full)}.home-info-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-sm) 0}.home-info-card p{font-size:var(--font-size-base);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin:0}@media(max-width:768px){.home-hero{padding:var(--space-2xl) 0}.home-hero-title{font-size:var(--font-size-3xl)}.home-hero-subtitle{font-size:var(--font-size-lg)}.home-filter-bar{flex-direction:column;align-items:flex-start}.home-restaurants-grid{grid-template-columns:1fr;gap:var(--space-lg)}.home-results-title{font-size:var(--font-size-xl)}}.restaurant-header{background-color:var(--color-bg-white);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xl)}.restaurant-header-cover{width:100%;height:250px;overflow:hidden;background-color:var(--color-bg-light)}.restaurant-header-cover img{width:100%;height:100%;object-fit:cover}.restaurant-header-content{display:flex;gap:var(--space-xl);padding:var(--space-xl) 0;position:relative}.restaurant-header-logo{width:120px;height:120px;flex-shrink:0;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-white);box-shadow:var(--shadow-lg);border:3px solid var(--color-bg-white);margin-top:-60px}.restaurant-header-logo img{width:100%;height:100%;object-fit:cover}.restaurant-header-info{flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.restaurant-header-title-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.restaurant-header-name{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0;line-height:var(--line-height-tight)}.restaurant-header-closed-badge{padding:var(--space-xs) var(--space-md);background-color:#ef44441a;color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);border:1px solid var(--color-error)}.restaurant-header-description{font-size:var(--font-size-lg);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin:0}.restaurant-header-details{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.restaurant-header-detail{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-base);color:var(--color-text-medium)}.restaurant-header-detail svg{flex-shrink:0;color:var(--color-accent)}.restaurant-header-types{display:flex;gap:var(--space-sm)}.restaurant-header-type-badge{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent);background-color:#06b6d41a;border-radius:var(--radius-sm)}.restaurant-header-type-badge svg{flex-shrink:0}@media(max-width:768px){.restaurant-header-cover{height:180px}.restaurant-header-content{flex-direction:column;padding:var(--space-lg) 0}.restaurant-header-logo{width:100px;height:100px;margin-top:-50px}.restaurant-header-name{font-size:var(--font-size-2xl)}.restaurant-header-description{font-size:var(--font-size-base)}.restaurant-header-details{gap:var(--space-md)}.restaurant-header-detail{font-size:var(--font-size-sm)}}.menu-item{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:all var(--transition-base);position:relative}.menu-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.menu-item-unavailable{opacity:.6;cursor:not-allowed}.menu-item-unavailable:hover{transform:none;box-shadow:none;border-color:var(--color-border)}.menu-item-content{display:flex;gap:var(--space-md);align-items:flex-start}.menu-item-info{flex:1;display:flex;flex-direction:column;gap:var(--space-sm)}.menu-item-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0;line-height:var(--line-height-tight)}.menu-item-description{font-size:var(--font-size-sm);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-item-footer{display:flex;align-items:center;gap:var(--space-md);margin-top:auto}.menu-item-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.menu-item-customizable{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-sm);background-color:#06b6d41a;border-radius:var(--radius-sm)}.menu-item-image{width:120px;height:120px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-bg-light)}.menu-item-image img{width:100%;height:100%;object-fit:cover}.menu-item-unavailable-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#ffffffe6;border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);color:var(--color-error)}@media(max-width:768px){.menu-item{padding:var(--space-md)}.menu-item-image{width:100px;height:100px}.menu-item-name{font-size:var(--font-size-base)}.menu-item-description{font-size:var(--font-size-xs)}.menu-item-price{font-size:var(--font-size-base)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--space-md);animation:fadeIn .2s ease-out;overflow:hidden}.modal-content{background-color:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0}.modal-close-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-medium);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.modal-close-button:hover{background-color:var(--color-bg-light);color:var(--color-text-dark)}.modal-close-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-body{padding:var(--space-xl);overflow-y:auto;overflow-x:hidden;flex:1;scrollbar-width:none;-ms-overflow-style:none}.modal-body::-webkit-scrollbar{display:none}@media(max-width:768px){.modal-overlay{padding:0!important;align-items:stretch!important}.modal-content{height:100vh!important;max-height:100vh!important;width:100vw!important;max-width:100vw!important;border-radius:0!important;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-small,.modal-medium,.modal-large{max-width:100vw!important;width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important}.modal-header,.modal-body{padding:var(--space-lg)}.modal-title{font-size:var(--font-size-xl)}}.radio-wrapper{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.radio-wrapper:hover{background-color:var(--color-bg-light)}.radio-input{position:absolute;opacity:0;width:0;height:0}.radio-button{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;border:2px solid var(--color-border);border-radius:50%;background-color:var(--color-bg-white);transition:all var(--transition-base)}.radio-button:after{content:"";width:12px;height:12px;border-radius:50%;background-color:var(--color-accent);transform:scale(0);transition:transform var(--transition-fast)}.radio-wrapper:hover .radio-button{border-color:var(--color-accent)}.radio-input:focus-visible+.radio-button{outline:2px solid var(--color-accent);outline-offset:2px}.radio-input:checked+.radio-button{border-color:var(--color-accent)}.radio-input:checked+.radio-button:after{transform:scale(1)}.radio-label{margin-left:var(--space-md);font-size:var(--font-size-base);color:var(--color-text-dark);line-height:var(--line-height-normal)}.radio-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.radio-group{margin-bottom:var(--space-lg)}.radio-group-label{display:block;margin-bottom:var(--space-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.radio-options{display:flex;flex-direction:column;gap:var(--space-xs)}.radio-group-error{display:block;margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-error)}@media(max-width:768px){.radio-button{width:28px;height:28px;min-width:28px;min-height:28px}.radio-button:after{width:14px;height:14px}}.custom-checkbox-wrapper{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:var(--touch-target-min);padding:var(--space-sm) 0}.custom-checkbox-input{position:absolute;opacity:0;width:0;height:0}.custom-checkbox-box{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-white);transition:all var(--transition-base)}.custom-checkbox-checkmark{opacity:0;transform:scale(0);transition:all var(--transition-fast)}.custom-checkbox-wrapper:hover .custom-checkbox-box{border-color:var(--color-accent)}.custom-checkbox-input:focus-visible+.custom-checkbox-box{outline:2px solid var(--color-accent);outline-offset:2px}.custom-checkbox-input:checked+.custom-checkbox-box{background-color:var(--color-accent);border-color:var(--color-accent)}.custom-checkbox-input:checked+.custom-checkbox-box .custom-checkbox-checkmark{opacity:1;transform:scale(1)}.custom-checkbox-label{margin-left:var(--space-md);font-size:var(--font-size-base);color:var(--color-text-dark);line-height:var(--line-height-normal)}.custom-checkbox-wrapper:active .custom-checkbox-box{transform:scale(.95)}.custom-checkbox-input:disabled+.custom-checkbox-box{opacity:.5;cursor:not-allowed}.custom-checkbox-input:disabled~.custom-checkbox-label{opacity:.5;cursor:not-allowed}@media(max-width:768px){.custom-checkbox-wrapper{padding:var(--space-md) 0}.custom-checkbox-box{width:28px;height:28px;min-width:28px;min-height:28px}.custom-checkbox-checkmark{width:18px;height:18px}}.textarea-wrapper{width:100%;margin-bottom:var(--space-lg)}.textarea-container{position:relative;width:100%}.textarea-input{width:100%;min-height:100px;padding:var(--space-lg) var(--space-md) var(--space-sm) var(--space-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-dark);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none;resize:vertical}.textarea-input::placeholder{color:transparent}.textarea-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #06b6d41a}.textarea-container.focused .textarea-input{border-color:var(--color-accent)}.textarea-container.error .textarea-input{border-color:var(--color-error)}.textarea-container.error .textarea-input:focus{box-shadow:0 0 0 3px #ef44441a}.textarea-label{position:absolute;left:var(--space-md);top:var(--space-md);font-size:var(--font-size-base);color:var(--color-text-medium);background-color:var(--color-bg-white);padding:0 var(--space-xs);pointer-events:none;transition:all var(--transition-base);line-height:1}.textarea-label.floating{top:0;transform:translateY(-50%);font-size:var(--font-size-sm);color:var(--color-accent)}.textarea-container.focused .textarea-label{color:var(--color-accent)}.textarea-container.error .textarea-label{color:var(--color-error)}.textarea-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xs);min-height:20px}.textarea-error{font-size:var(--font-size-sm);color:var(--color-error);padding-left:var(--space-md)}.textarea-char-count{font-size:var(--font-size-sm);color:var(--color-text-medium);padding-right:var(--space-md)}@media(max-width:768px){.textarea-input{font-size:16px}}.item-customization{display:flex;flex-direction:column;gap:var(--space-xl)}.item-customization-image{width:100%;height:250px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-bg-light)}.item-customization-image img{width:100%;height:100%;object-fit:cover}.item-customization-description{font-size:var(--font-size-base);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin:0}.item-customization-base-price{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background-color:var(--color-bg-light);border-radius:var(--radius-md);font-size:var(--font-size-base)}.item-customization-base-price .price{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.item-customization-modifiers{display:flex;flex-direction:column;gap:var(--space-xl)}.modifier-group{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-lg)}.modifier-group:last-child{border-bottom:none;padding-bottom:0}.modifier-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.modifier-group-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0}.required-asterisk{color:var(--color-error)}.modifier-group-hint{font-size:var(--font-size-sm);color:var(--color-text-medium)}.modifier-group-error{color:var(--color-error);font-size:var(--font-size-sm);margin:0 0 var(--space-sm) 0}.modifier-options{display:flex;flex-direction:column;gap:var(--space-sm)}.modifier-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.modifier-option:hover{background-color:var(--color-bg-light);border-color:var(--color-accent)}.modifier-option-name{flex:1;font-size:var(--font-size-base);color:var(--color-text-dark)}.modifier-option-price{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.modifier-radio-label{display:flex;justify-content:space-between;align-items:center;width:100%}.item-customization-instructions{padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.item-customization-footer{display:flex;gap:var(--space-md);padding:var(--space-lg) 0 0;border-top:1px solid var(--color-border);background-color:var(--color-bg-white);margin-top:var(--space-lg)}.quantity-selector{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-white)}.quantity-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-light);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-dark);transition:all var(--transition-fast)}.quantity-button:hover:not(:disabled){background-color:var(--color-accent);color:var(--color-bg-white)}.quantity-button:disabled{opacity:.4;cursor:not-allowed}.quantity-value{min-width:40px;text-align:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}@media(max-width:768px){.item-customization-image{height:200px}.item-customization-footer{flex-direction:column;gap:var(--space-sm)}.quantity-selector{justify-content:center}}.restaurant-menu-page{min-height:calc(100vh - var(--header-height))}.restaurant-menu-loading{display:flex;justify-content:center;align-items:center;min-height:60vh}.category-nav-wrapper{position:sticky;top:var(--header-height);z-index:100;background-color:var(--color-bg-white);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.category-nav{display:flex;gap:var(--space-xl);overflow-x:auto;padding:var(--space-md) 0;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.category-nav::-webkit-scrollbar{display:none}.category-nav-item{flex-shrink:0;padding:var(--space-sm) var(--space-xs);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-medium);background-color:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;position:relative}.category-nav-item:hover{color:var(--color-accent)}.category-nav-item.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.restaurant-menu-content{padding:var(--space-2xl) 0}.menu-category-section{margin-bottom:var(--space-3xl)}.menu-category-section:last-child{margin-bottom:0}.menu-category-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-xl) 0;padding-bottom:var(--space-md);border-bottom:2px solid var(--color-border)}.menu-items-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:768px){.menu-items-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.category-nav{gap:var(--space-lg);padding:var(--space-sm) 0}.category-nav-item{padding:var(--space-xs) 0;font-size:var(--font-size-sm)}.restaurant-menu-content{padding:var(--space-xl) 0}.menu-category-title{font-size:var(--font-size-xl);margin-bottom:var(--space-lg)}.menu-items-grid{gap:var(--space-md)}}.cart-item{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-fast)}.cart-item:hover{box-shadow:var(--shadow-sm)}.cart-item-content{display:flex;gap:var(--space-xl);align-items:flex-start;justify-content:space-between}.cart-item-info{flex:1;display:flex;flex-direction:column;gap:var(--space-sm)}.cart-item-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0;line-height:var(--line-height-tight)}.cart-item-modifiers{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.cart-item-modifier{font-size:var(--font-size-sm);color:var(--color-text-medium);padding:var(--space-xs) var(--space-sm);background-color:var(--color-bg-light);border-radius:var(--radius-sm)}.cart-item-instructions{font-size:var(--font-size-sm);color:var(--color-text-medium);font-style:italic;margin:0;padding:var(--space-sm);background-color:#06b6d40d;border-left:3px solid var(--color-accent);border-radius:var(--radius-sm)}.cart-item-instructions strong{font-style:normal;color:var(--color-text-dark)}.cart-item-price-info{font-size:var(--font-size-sm);color:var(--color-text-medium)}.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-md)}.cart-item-quantity{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-white)}.quantity-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-light);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-dark);transition:all var(--transition-fast)}.quantity-button:hover{background-color:var(--color-accent);color:var(--color-bg-white)}.quantity-value{min-width:32px;text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.cart-item-total{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}@media(max-width:768px){.cart-item{padding:var(--space-md)}.cart-item-content{flex-direction:column;gap:var(--space-md)}.cart-item-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.cart-item-name{font-size:var(--font-size-base)}.cart-item-total{font-size:var(--font-size-lg)}}.cart-page{min-height:calc(100vh - var(--header-height));padding:var(--space-2xl) 0;background-color:var(--color-bg-light)}.cart-page-header{margin-bottom:var(--space-2xl)}.cart-page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-xs) 0}.cart-page-restaurant{font-size:var(--font-size-lg);color:var(--color-text-medium);margin:0}.cart-page-restaurant strong{color:var(--color-text-dark)}.cart-page-content{display:grid;grid-template-columns:1fr 400px;gap:var(--space-2xl);align-items:start}.cart-items-section{display:flex;flex-direction:column;gap:var(--space-xl)}.cart-items-header{display:flex;justify-content:space-between;align-items:center}.cart-items-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0}.cart-clear-button{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-error);background:none;border:none;cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.cart-clear-button:hover{background-color:#ef44441a}.cart-items-list{display:flex;flex-direction:column;gap:var(--space-md)}.cart-summary-section{position:sticky;top:calc(var(--header-height) + var(--space-lg));display:flex;flex-direction:column;gap:var(--space-lg)}.cart-summary{padding:var(--space-xl)}.cart-summary-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-lg) 0}.cart-summary-rows{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.cart-summary-row{display:flex;justify-content:space-between;align-items:center}.cart-summary-label{font-size:var(--font-size-base);color:var(--color-text-dark)}.cart-summary-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.cart-summary-note{padding:var(--space-sm);background-color:var(--color-bg-light);border-radius:var(--radius-sm)}.cart-summary-label-small{font-size:var(--font-size-sm);color:var(--color-text-medium);line-height:var(--line-height-relaxed)}.cart-summary-total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;border-top:2px solid var(--color-border);margin-bottom:var(--space-lg)}.cart-summary-total-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.cart-summary-total-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.cart-info-box{display:flex;gap:var(--space-md);padding:var(--space-lg);background-color:#06b6d41a;border:1px solid var(--color-accent);border-radius:var(--radius-md)}.cart-info-box svg{flex-shrink:0;color:var(--color-accent)}.cart-info-text{flex:1}.cart-info-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-xs) 0}.cart-info-description{font-size:var(--font-size-sm);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin:0}@media(max-width:1024px){.cart-page-content{grid-template-columns:1fr}.cart-summary-section{position:static}}@media(max-width:768px){.cart-page{padding:var(--space-xl) 0}.cart-page-title{font-size:var(--font-size-2xl)}.cart-page-restaurant{font-size:var(--font-size-base)}.cart-items-title{font-size:var(--font-size-lg)}.cart-summary{padding:var(--space-lg)}.cart-summary-title{font-size:var(--font-size-lg)}.cart-summary-total-value{font-size:var(--font-size-xl)}}.order-confirmation-page{min-height:calc(100vh - 200px);padding:var(--space-xl) 0;background-color:var(--color-bg-light)}.confirmation-content{max-width:600px;margin:0 auto}.confirmation-header{text-align:center;margin-bottom:var(--space-xl)}.success-icon{width:64px;height:64px;margin:0 auto var(--space-lg);background-color:#10b9811a;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{color:#10b981}.confirmation-title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin-bottom:var(--space-sm)}.confirmation-subtitle{font-size:var(--font-size-lg);color:var(--color-text-medium);margin-bottom:var(--space-lg)}.order-number{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-lg)}.order-number-label{font-size:var(--font-size-sm);color:var(--color-text-medium);font-weight:var(--font-weight-medium)}.order-number-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-accent);font-family:Courier New,monospace}.confirmation-section{margin-bottom:var(--space-lg)}.detail-rows{display:flex;flex-direction:column;gap:var(--space-md)}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.detail-label{font-size:var(--font-size-sm);color:var(--color-text-medium);font-weight:var(--font-weight-medium);flex-shrink:0}.detail-value{font-size:var(--font-size-base);color:var(--color-text-dark);text-align:right}.confirmation-items{display:flex;flex-direction:column;gap:var(--space-md)}.confirmation-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.confirmation-item:last-child{border-bottom:none;padding-bottom:0}.item-modifiers,.item-instructions{font-size:var(--font-size-sm);color:var(--color-text-medium);margin-bottom:var(--space-xs)}.summary-rows{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-border)}.summary-total{display:flex;justify-content:space-between;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-dark)}.confirmation-notice{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:#06b6d41a;border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.confirmation-notice svg{color:var(--color-accent);flex-shrink:0}.confirmation-notice p{font-size:var(--font-size-sm);color:var(--color-text-dark);margin:0}.confirmation-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.estimated-time{text-align:center;padding:var(--space-lg);background-color:var(--color-bg-white);border-radius:var(--radius-lg);border:2px solid var(--color-border)}.estimated-time-label{font-size:var(--font-size-sm);color:var(--color-text-medium);margin-bottom:var(--space-xs)}.estimated-time-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin-bottom:var(--space-sm)}.estimated-time-note{font-size:var(--font-size-sm);color:var(--color-text-medium);margin:0}@media(max-width:768px){.order-confirmation-page{padding:var(--space-lg) 0}.confirmation-title{font-size:var(--font-size-xl)}.confirmation-subtitle{font-size:var(--font-size-base)}}.status-timeline{display:flex;flex-direction:column;gap:0}.timeline-step{position:relative;display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg) 0}.step-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-base);position:relative;z-index:2}.step-icon svg{width:24px;height:24px}.step-icon.pending{background-color:var(--color-bg-light);border:2px solid var(--color-border);color:var(--color-text-light)}.step-icon.current{background-color:#06b6d41a;border:3px solid var(--color-accent);color:var(--color-accent);animation:pulse 2s ease-in-out infinite}.step-icon.completed{background-color:#10b981;border:3px solid #10b981;color:#fff}@keyframes pulse{0%,to{box-shadow:0 0 #06b6d466}50%{box-shadow:0 0 0 10px #06b6d400}}.step-content{flex:1;padding-top:8px}.step-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0}.step-label.pending{color:var(--color-text-light)}.step-label.current{color:var(--color-accent)}.step-label.completed{color:#10b981}.step-loading{display:flex;align-items:center;gap:var(--space-sm)}.loading-dots{display:flex;gap:4px}.loading-dots span{width:6px;height:6px;border-radius:50%;background-color:var(--color-accent);animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.step-connector{position:absolute;left:23px;top:68px;bottom:-20px;width:2px;background-color:var(--color-border);z-index:1;transition:all var(--transition-base)}.step-connector.completed{background-color:#10b981}.timeline-step:last-child .step-connector{display:none}@media(max-width:768px){.timeline-step{gap:var(--space-md)}.step-icon{width:40px;height:40px}.step-icon svg{width:20px;height:20px}.step-connector{left:19px}}.order-tracking-page{min-height:calc(100vh - 200px);padding:var(--space-xl) 0;background-color:var(--color-bg-light)}.tracking-content{max-width:600px;margin:0 auto}.tracking-header{text-align:center;margin-bottom:var(--space-xl)}.tracking-title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin-bottom:var(--space-md)}.order-number-badge{display:inline-block;padding:var(--space-sm) var(--space-lg);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);font-family:Courier New,monospace;margin-bottom:var(--space-md)}.estimated-time-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background-color:#06b6d41a;border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-accent);margin-bottom:var(--space-sm)}.estimated-time-badge svg{color:var(--color-accent)}.last-updated{font-size:var(--font-size-sm);color:var(--color-text-light);margin:0}.tracking-section{margin-bottom:var(--space-lg)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin-bottom:var(--space-md)}.address-info{display:flex;gap:var(--space-md)}.address-info svg{color:var(--color-accent);flex-shrink:0;margin-top:2px}.address-street{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);margin-bottom:var(--space-xs)}.address-city{font-size:var(--font-size-base);color:var(--color-text-medium);margin-bottom:var(--space-sm)}.address-instructions{font-size:var(--font-size-sm);color:var(--color-text-medium);margin:0;padding:var(--space-sm);background-color:#06b6d40d;border-radius:var(--radius-md)}.contact-info{display:flex;flex-direction:column;gap:var(--space-md)}.contact-item{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-base);color:var(--color-text-dark)}.contact-item svg{color:var(--color-accent);flex-shrink:0}.order-details-accordion{margin-bottom:var(--space-lg)}.accordion-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background-color:var(--color-bg-white);border-radius:var(--radius-lg);border:2px solid var(--color-border);cursor:pointer;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);list-style:none;transition:all var(--transition-fast)}.accordion-summary:hover{border-color:var(--color-accent)}.accordion-summary svg{transition:transform var(--transition-fast)}.order-details-accordion[open] .accordion-summary svg{transform:rotate(180deg)}.accordion-content{margin-top:var(--space-md)}.tracking-items{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:2px solid var(--color-border)}.tracking-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.item-info{display:flex;gap:var(--space-sm);flex:1}.item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);margin-bottom:var(--space-xs)}.item-modifiers{font-size:var(--font-size-sm);color:var(--color-text-medium);margin:0}.item-price{font-weight:var(--font-weight-semibold);color:var(--color-text-dark);flex-shrink:0}.tracking-summary{display:flex;flex-direction:column;gap:var(--space-sm)}.summary-row{display:flex;justify-content:space-between;font-size:var(--font-size-base);color:var(--color-text-dark)}.summary-total{display:flex;justify-content:space-between;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:2px solid var(--color-border)}.tracking-actions{display:flex;flex-direction:column;gap:var(--space-md)}.tracking-error{text-align:center}.tracking-error svg{color:var(--color-error);margin-bottom:var(--space-lg)}.tracking-error h2{font-size:var(--font-size-xl);color:var(--color-text-dark);margin-bottom:var(--space-lg)}@media(max-width:768px){.order-tracking-page{padding:var(--space-lg) 0}.tracking-title{font-size:var(--font-size-xl)}}.not-found-page{min-height:calc(100vh - var(--header-height) - 200px);display:flex;align-items:center;justify-content:center}.custom-input-wrapper{width:100%;margin-bottom:var(--space-lg)}.custom-input-container{position:relative;width:100%}.custom-input{width:100%;min-height:var(--touch-target-min);padding:var(--space-lg) var(--space-md) var(--space-sm) var(--space-md);font-size:var(--font-size-base);color:var(--color-text-dark);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none}.custom-input::placeholder{color:transparent}.custom-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #06b6d41a}.custom-input-container.focused .custom-input,.custom-input:focus{border-color:var(--color-accent)}.custom-input-container.error .custom-input{border-color:var(--color-error)}.custom-input-container.error .custom-input:focus{box-shadow:0 0 0 3px #ef44441a}.custom-input-label{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-medium);background-color:var(--color-bg-white);padding:0 var(--space-xs);pointer-events:none;transition:all var(--transition-base);line-height:1}.custom-input-label.floating{top:0;transform:translateY(-50%);font-size:var(--font-size-sm);color:var(--color-accent)}.custom-input-container.focused .custom-input-label{color:var(--color-accent)}.custom-input-container.error .custom-input-label{color:var(--color-error)}.required-asterisk{color:var(--color-error);margin-left:2px}.custom-input-error{display:block;margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-error);padding-left:var(--space-md)}@media(max-width:768px){.custom-input{font-size:16px}}.checkout-page{min-height:calc(100vh - var(--header-height));padding:var(--space-2xl) 0;background-color:var(--color-bg-light)}.checkout-page-content{display:grid;grid-template-columns:1fr 400px;gap:var(--space-2xl);align-items:start}.checkout-main{display:flex;flex-direction:column;gap:var(--space-xl)}.checkout-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0}.checkout-section{padding:var(--space-xl)}.checkout-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-lg) 0}.address-display{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background-color:var(--color-bg-light);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.address-display-content{display:flex;gap:var(--space-md);flex:1}.address-display-content svg{flex-shrink:0;color:var(--color-accent);margin-top:2px}.address-display-street{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-xs) 0}.address-display-city{font-size:var(--font-size-sm);color:var(--color-text-medium);margin:0}.delivery-details-fields{display:flex;flex-direction:column;gap:var(--space-lg);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.form-field{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.delivery-info{margin-top:var(--space-lg);padding:var(--space-md);background-color:#06b6d40d;border-radius:var(--radius-md)}.delivery-info-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-medium);padding:var(--space-xs) 0}.delivery-info-row span:last-child{font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.pickup-info{display:flex;gap:var(--space-md);padding:var(--space-lg);background-color:var(--color-bg-light);border-radius:var(--radius-md)}.pickup-info-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:#06b6d41a;border-radius:var(--radius-md);color:var(--color-accent)}.pickup-restaurant-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-xs) 0}.pickup-note{font-size:var(--font-size-sm);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin:0}.checkout-form{display:flex;flex-direction:column;gap:var(--space-lg)}.field-error{color:var(--color-error);font-size:var(--font-size-sm);margin:var(--space-xs) 0 0 0}.checkout-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-lg))}.checkout-summary{padding:var(--space-xl)}.checkout-summary-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-lg) 0}.checkout-summary-rows{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.checkout-summary-row{display:flex;justify-content:space-between;font-size:var(--font-size-base);color:var(--color-text-dark)}.checkout-summary-note{font-size:var(--font-size-sm);color:var(--color-text-medium)}.checkout-summary-total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;border-top:2px solid var(--color-border);margin-bottom:var(--space-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark)}@media(max-width:1024px){.checkout-page-content{grid-template-columns:1fr}.checkout-sidebar{position:static}}@media(max-width:768px){.checkout-page{padding:var(--space-xl) 0}.checkout-title{font-size:var(--font-size-2xl)}.checkout-section,.checkout-summary{padding:var(--space-lg)}}.checkout-section-description{color:var(--color-text-medium);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.checkout-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:768px){.checkout-form-row{grid-template-columns:1fr}}.payment-form{display:flex;flex-direction:column;gap:var(--space-xl)}.payment-form-field{display:flex;flex-direction:column;gap:var(--space-sm)}.payment-form-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin-bottom:var(--space-xs)}.card-element-wrapper{padding:16px;border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-white);transition:all var(--transition-fast);min-height:46px;display:flex;align-items:center}.card-element-wrapper:hover{border-color:#9ca3af}.card-element-wrapper:focus-within{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #06b6d41a}.card-element-wrapper.has-error{border-color:var(--color-error)}.payment-form-error{color:var(--color-error);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-md);background-color:#ef44441a;border-radius:var(--radius-md);border:1px solid var(--color-error)}.payment-security-badges{display:flex;gap:var(--space-xl);padding:var(--space-lg);background-color:#10b9810d;border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.2);margin-top:var(--space-md)}.security-badge{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#10b981}.security-badge svg{flex-shrink:0;width:20px;height:20px}@media(max-width:768px){.payment-security-badges{flex-direction:column;gap:var(--space-md)}}.payment-page{min-height:calc(100vh - var(--header-height));padding:var(--space-2xl) 0;background-color:var(--color-bg-light)}.payment-page-content{display:grid;grid-template-columns:1fr 400px;gap:var(--space-2xl);align-items:start}.payment-main{display:flex;flex-direction:column;gap:var(--space-xl)}.payment-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0}.payment-section{padding:var(--space-xl)}.payment-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-lg) 0}.order-details{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.order-detail-row{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start}.order-detail-row .label{font-size:var(--font-size-sm);color:var(--color-text-medium);font-weight:var(--font-weight-medium);flex-shrink:0}.order-detail-row .value{font-size:var(--font-size-base);color:var(--color-text-dark);text-align:right;word-break:break-word}.payment-items{display:flex;flex-direction:column;gap:var(--space-md)}.payment-item{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg-light);border-radius:var(--radius-md)}.payment-item-info{display:flex;gap:var(--space-md);flex:1}.payment-item-quantity{font-weight:var(--font-weight-semibold);color:var(--color-text-dark);flex-shrink:0}.payment-item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);margin:0 0 var(--space-xs) 0}.payment-item-modifiers{font-size:var(--font-size-sm);color:var(--color-text-medium);margin:0}.payment-item-instructions{font-size:var(--font-size-sm);color:var(--color-text-medium);font-style:italic;margin:var(--space-xs) 0 0 0}.payment-item-price{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);flex-shrink:0}.payment-method-mock{display:flex;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--color-bg-light);border-radius:var(--radius-md)}.payment-method-mock svg{flex-shrink:0;color:var(--color-accent)}.payment-method-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-xs) 0}.payment-method-description{font-size:var(--font-size-sm);color:var(--color-text-medium);margin:0}.payment-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background-color:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.payment-error svg{flex-shrink:0}.payment-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-lg))}.payment-summary{padding:var(--space-xl)}.payment-summary-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin:0 0 var(--space-lg) 0}.payment-summary-rows{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.payment-summary-row{display:flex;justify-content:space-between;font-size:var(--font-size-base);color:var(--color-text-dark)}.payment-summary-total{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;border-top:2px solid var(--color-border);margin-bottom:var(--space-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark)}.payment-terms{font-size:var(--font-size-xs);color:var(--color-text-medium);text-align:center;line-height:var(--line-height-relaxed);margin:var(--space-md) 0 0 0}@media(max-width:1024px){.payment-page-content{grid-template-columns:1fr}.payment-sidebar{position:static}}@media(max-width:768px){.payment-page{padding:var(--space-xl) 0}.payment-title{font-size:var(--font-size-2xl)}.payment-section,.payment-summary{padding:var(--space-lg)}}.stripe-badge{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) 0;margin-top:var(--space-md);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-light)}.stripe-badge svg{display:block}.driver-dashboard{min-height:calc(100vh - 200px);padding:var(--space-xl) 0;background-color:var(--color-bg-light)}.dashboard-header{margin-bottom:var(--space-xl)}.dashboard-header h1{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin-bottom:var(--space-lg)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.stat-card{background-color:var(--color-bg-white);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;border:2px solid var(--color-border)}.stat-value{display:block;font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin-bottom:var(--space-xs)}.stat-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-medium);text-transform:uppercase;letter-spacing:.5px}.dashboard-error{background-color:#fee;border:1px solid #fcc;border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;margin-bottom:var(--space-xl)}.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-lg)}.order-card{position:relative}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-border)}.order-number{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-dark);font-family:Courier New,monospace}.order-status-badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff;text-transform:uppercase;letter-spacing:.5px}.order-info{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.info-row{display:flex;justify-content:space-between;gap:var(--space-md)}.info-label{font-size:var(--font-size-sm);color:var(--color-text-medium);font-weight:var(--font-weight-medium);flex-shrink:0}.info-value{font-size:var(--font-size-sm);color:var(--color-text-dark);text-align:right}.info-value a{color:var(--color-accent);text-decoration:none}.info-value a:hover{text-decoration:underline}.order-items-details{margin-bottom:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.order-items-details summary{cursor:pointer;font-weight:var(--font-weight-semibold);color:var(--color-accent);-webkit-user-select:none;user-select:none}.order-items-details summary:hover{color:var(--color-accent-dark)}.order-items-list{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.order-item{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light)}.order-item:last-child{border-bottom:none}.item-quantity{font-weight:var(--font-weight-semibold);color:var(--color-text-medium);flex-shrink:0}.item-name{font-size:var(--font-size-sm);color:var(--color-text-dark);flex:1}.item-modifiers,.item-instructions{width:100%;font-size:var(--font-size-xs);color:var(--color-text-medium);padding-left:calc(var(--space-md) + 4px)}.order-actions{display:flex;gap:var(--space-sm)}.delivery-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.status-badge{padding:var(--space-md);border-radius:var(--radius-md);text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.status-badge.delivered{background-color:#22c55e1a;color:#22c55e}.status-badge.cancelled{background-color:#ef44441a;color:#ef4444}.empty-state{text-align:center;padding:var(--space-xxl)}.empty-state h2{font-size:var(--font-size-xl);color:var(--color-text-dark);margin-bottom:var(--space-sm)}.empty-state p{color:var(--color-text-medium)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content{background-color:var(--color-bg-white);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:500px;width:100%}.modal-content h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin-bottom:var(--space-sm)}.modal-content p{color:var(--color-text-medium);margin-bottom:var(--space-xl)}.photo-upload-section{margin-bottom:var(--space-xl)}.photo-upload-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xxl);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-light);cursor:pointer;transition:all var(--transition-fast);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.photo-upload-button:hover{border-color:var(--color-accent);background-color:#06b6d40d}.photo-upload-button svg{color:var(--color-accent)}.modal-actions{display:flex;gap:var(--space-md)}@media(max-width:768px){.orders-grid{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:repeat(3,1fr)}.stat-card{padding:var(--space-md)}.stat-value{font-size:var(--font-size-xl)}}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--color-bg-white);border-bottom:1px solid var(--color-border);z-index:1000;transition:all var(--transition-base)}.header.scrolled{box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2}.header-container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.header-logo{cursor:pointer;-webkit-user-select:none;user-select:none}.logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);transition:color var(--transition-fast)}.header-logo:hover .logo-text{color:var(--color-accent)}.header-nav{display:none;align-items:center;gap:var(--space-xl)}@media(min-width:768px){.header-nav{display:flex}}.nav-link{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);background:none;border:none;cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-link:hover{color:var(--color-accent);background-color:var(--color-bg-light)}.header-cta{display:none}@media(min-width:768px){.header-cta{display:block}}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:1002}@media(min-width:768px){.hamburger{display:none}}.hamburger-line{width:100%;height:3px;background-color:var(--color-primary);border-radius:2px;transition:all var(--transition-base)}.hamburger.open .hamburger-line:nth-child(1){transform:translateY(8.5px) rotate(45deg)}.hamburger.open .hamburger-line:nth-child(2){opacity:0}.hamburger.open .hamburger-line:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{position:fixed;top:var(--header-height);right:0;width:280px;max-width:85vw;height:calc(100vh - var(--header-height));background-color:var(--color-bg-white);box-shadow:var(--shadow-xl);z-index:1001;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-nav-link{width:100%;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-dark);background:none;border:none;cursor:pointer;padding:var(--space-md);text-align:left;border-radius:var(--radius-md);transition:all var(--transition-fast)}.mobile-nav-link:hover{background-color:var(--color-bg-light);color:var(--color-accent)}.mobile-menu-cta{margin-top:auto;padding-top:var(--space-lg);border-top:1px solid var(--color-border)}body.menu-open{overflow:hidden}.footer{background-color:var(--color-text-dark);color:var(--color-bg-white);padding:var(--space-2xl) 0 var(--space-xl) 0}.footer-container{display:grid;grid-template-columns:1fr;gap:var(--space-xl);text-align:center}@media(min-width:768px){.footer-container{grid-template-columns:2fr 1fr 1fr;text-align:left;gap:var(--space-2xl)}.footer-copyright{grid-column:1 / -1}}.footer-brand{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin:0}.footer-tagline{font-size:var(--font-size-base);color:var(--color-bg-light);opacity:.9;margin:0}.footer-section{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-bg-white);margin-bottom:var(--space-xs)}.footer-text{font-size:var(--font-size-base);color:var(--color-bg-light);margin:0}.footer-text-small{font-size:var(--font-size-sm);color:var(--color-bg-light);opacity:.8;margin:0}.footer-link{font-size:var(--font-size-base);color:var(--color-bg-light);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-accent)}.footer-copyright{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-copyright p{font-size:var(--font-size-sm);color:var(--color-bg-light);opacity:.7;margin:0}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-main{flex:1;margin-top:var(--header-height);width:100%}.hero{background:var(--gradient-hero);color:var(--color-bg-white);padding:var(--space-3xl) 0;text-align:center}@media(min-width:768px){.hero{padding:5rem 0}}.hero-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xl)}.hero-headline{font-size:2rem;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);max-width:800px;margin:0;color:var(--color-bg-white)}@media(min-width:768px){.hero-headline{font-size:2.5rem}}.hero-subheadline{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);max-width:700px;margin:0;opacity:.95;color:var(--color-bg-white)}@media(min-width:768px){.hero-subheadline{font-size:var(--font-size-xl)}}.hero-benefits{display:grid;grid-template-columns:1fr;gap:var(--space-xl);width:100%;max-width:1000px;margin-top:var(--space-lg)}@media(min-width:768px){.hero-benefits{grid-template-columns:repeat(3,1fr)}}.benefit-card{background-color:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base);border:1px solid rgba(255,255,255,.2)}.benefit-card:hover{background-color:#ffffff26;transform:translateY(-4px);box-shadow:var(--shadow-lg)}.benefit-icon{color:var(--color-accent);margin-bottom:var(--space-md);display:flex;justify-content:center}.benefit-icon svg{width:48px;height:48px}.benefit-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm);color:var(--color-bg-white)}.benefit-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);opacity:.9;margin:0}.hero-cta{margin-top:var(--space-lg)}.hero-cta button{font-size:var(--font-size-lg);padding:var(--space-lg) var(--space-2xl);box-shadow:var(--shadow-lg)}.hero-cta button:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.hero-service-areas{font-size:var(--font-size-base);opacity:.9;margin:var(--space-lg) 0 0 0}.hero-service-areas strong{color:var(--color-accent);font-weight:var(--font-weight-bold)}.service-areas-sub{display:block;font-size:var(--font-size-sm);margin-top:var(--space-xs);opacity:.8}@media(min-width:768px){.service-areas-sub{display:inline;margin-left:var(--space-sm)}.service-areas-sub:before{content:"• ";margin-right:var(--space-xs)}}.service-badge{position:absolute;top:var(--space-lg);right:var(--space-lg);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.service-badge-available{background-color:var(--color-success);color:var(--color-bg-white)}.service-badge-coming-soon{background-color:var(--color-accent);color:var(--color-bg-white)}.services{padding:var(--space-3xl) 0;background-color:var(--color-bg-white)}.service-card,.tablet-callout{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.service-card.fade-in,.tablet-callout.fade-in{opacity:1;transform:translateY(0)}.service-card:nth-of-type(2).fade-in{transition-delay:.1s}.service-card:nth-of-type(3).fade-in{transition-delay:.2s}.services-container{display:flex;flex-direction:column;gap:var(--space-2xl)}.services-header{text-align:center;margin-bottom:var(--space-xl)}.services-title{font-size:2rem;color:var(--color-text-dark);margin-bottom:var(--space-md)}@media(min-width:768px){.services-title{font-size:2.5rem}}.services-subtitle{font-size:var(--font-size-lg);color:var(--color-text-medium);margin:0}.service-card{background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative}.service-card.alternate{background-color:var(--color-bg-light)}.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.service-icon{color:var(--color-primary);margin-bottom:var(--space-lg)}.service-icon svg{width:64px;height:64px}.service-name{font-size:var(--font-size-2xl);color:var(--color-text-dark);margin-bottom:var(--space-md)}.service-description{font-size:var(--font-size-lg);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin-bottom:var(--space-xl)}.service-section{margin-top:var(--space-xl)}.service-section h4{font-size:var(--font-size-lg);color:var(--color-text-dark);margin-bottom:var(--space-md);font-weight:var(--font-weight-semibold)}.service-list{display:flex;flex-direction:column;gap:var(--space-sm)}.service-list li{font-size:var(--font-size-base);color:var(--color-text-medium);line-height:var(--line-height-relaxed);padding-left:var(--space-lg);position:relative}.service-list li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.service-list.pricing li strong{color:var(--color-primary);font-weight:var(--font-weight-bold)}.tablet-callout{background:linear-gradient(135deg,var(--color-primary) 0%,#2563EB 100%);border-radius:var(--radius-lg);padding:var(--space-2xl);color:var(--color-bg-white);margin-top:var(--space-xl)}.tablet-title{font-size:var(--font-size-2xl);color:var(--color-bg-white);margin-bottom:var(--space-md);text-align:center}@media(min-width:768px){.tablet-title{font-size:2rem}}.tablet-description{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);text-align:center;margin-bottom:var(--space-xl);opacity:.95}.tablet-features{display:grid;grid-template-columns:1fr;gap:var(--space-md);max-width:800px;margin:0 auto}@media(min-width:768px){.tablet-features{grid-template-columns:1fr 1fr}}.tablet-feature{display:flex;align-items:center;gap:var(--space-md);background-color:#ffffff1a;padding:var(--space-md);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-icon{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-accent);flex-shrink:0}.tablet-feature span:last-child{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.custom-dropdown-wrapper{position:relative;width:100%;margin-bottom:var(--space-lg)}.custom-dropdown-label{display:block;margin-bottom:var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.custom-dropdown-button{position:relative;width:100%;min-height:var(--touch-target-min);padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-base);color:var(--color-text-dark);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left}.custom-dropdown-button:hover{border-color:var(--color-accent)}.custom-dropdown-button.open{border-color:var(--color-accent);box-shadow:0 0 0 3px #06b6d41a}.custom-dropdown-button.error{border-color:var(--color-error)}.custom-dropdown-button.error:focus{box-shadow:0 0 0 3px #ef44441a}.custom-dropdown-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-dropdown-value.placeholder{color:var(--color-text-medium)}.custom-dropdown-arrow{flex-shrink:0;margin-left:var(--space-sm);color:var(--color-text-medium);transition:transform var(--transition-base)}.custom-dropdown-arrow.rotate{transform:rotate(180deg)}.custom-dropdown-options{position:absolute;top:calc(100% + var(--space-xs));left:0;right:0;max-height:240px;overflow-y:auto;background-color:var(--color-bg-white);border:2px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown-option{padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target-min);display:flex;align-items:center}.custom-dropdown-option:hover,.custom-dropdown-option.focused{background-color:var(--color-bg-light)}.custom-dropdown-option.selected{background-color:#06b6d41a;color:var(--color-accent);font-weight:var(--font-weight-medium)}.custom-dropdown-option.selected:after{content:"✓";margin-left:auto;font-weight:var(--font-weight-bold)}.custom-dropdown-error{display:block;margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-error)}.custom-dropdown-options::-webkit-scrollbar{width:8px}.custom-dropdown-options::-webkit-scrollbar-track{background:var(--color-bg-light);border-radius:var(--radius-md)}.custom-dropdown-options::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-md)}.custom-dropdown-options::-webkit-scrollbar-thumb:hover{background:var(--color-text-medium)}@media(max-width:768px){.custom-dropdown-button{font-size:16px}}.pricing-calculator{padding:var(--space-3xl) 0;background-color:var(--color-bg-light)}.pricing-container{display:flex;flex-direction:column;gap:var(--space-2xl)}.pricing-header{text-align:center;margin-bottom:var(--space-xl)}.pricing-title{font-size:2rem;color:var(--color-text-dark);margin-bottom:var(--space-md)}@media(min-width:768px){.pricing-title{font-size:2.5rem}}.pricing-subtitle{font-size:var(--font-size-lg);color:var(--color-text-medium);margin:0}.calculator-controls{max-width:400px;margin:0 auto}.order-size-selector{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.order-size-btn{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-height:var(--touch-target-min)}.order-size-btn:hover{border-color:var(--color-accent);background-color:#06b6d40d}.order-size-btn.active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-white)}.comparison-cards-container{display:grid;grid-template-columns:1fr;gap:var(--space-xl);margin-top:var(--space-xl)}@media(min-width:768px){.comparison-cards-container{grid-template-columns:1fr 1fr}}.comparison-card{background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-lg)}.competitor-card{border-color:var(--color-border)}.pascoeats-card{border-color:var(--color-accent);background-color:#06b6d405;position:relative}.card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-md);border-bottom:2px solid var(--color-border)}.card-title{font-size:var(--font-size-xl);color:var(--color-text-dark);margin:0}.pascoeats-card .card-title{color:var(--color-accent)}.markup-badge{background-color:#ef44441a;color:var(--color-error);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.checkmark{width:32px;height:32px;background-color:var(--color-success);color:var(--color-bg-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.order-items{background-color:var(--color-bg-light);padding:var(--space-lg);border-radius:var(--radius-md)}.items-heading{font-size:var(--font-size-base);color:var(--color-text-dark);margin-bottom:var(--space-md);font-weight:var(--font-weight-semibold)}.items-list{display:flex;flex-direction:column;gap:var(--space-sm)}.item{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-medium)}.item-name{flex:1}.item-price{font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.cost-breakdown{display:flex;flex-direction:column;gap:var(--space-sm)}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0}.breakdown-label{font-size:var(--font-size-base);color:var(--color-text-medium)}.breakdown-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.total-row{margin-top:var(--space-sm);padding-top:var(--space-md);border-top:2px solid var(--color-border)}.total-row .breakdown-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-dark)}.total-value{font-size:var(--font-size-xl);color:var(--color-primary)}.pascoeats-card .total-value{color:var(--color-accent)}.savings-badge{background:linear-gradient(135deg,var(--color-success) 0%,#059669 100%);color:var(--color-bg-white);padding:var(--space-lg);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-md)}.savings-badge.costs-more{background:linear-gradient(135deg,#f59e0b,#d97706)}.savings-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs)}.savings-percentage{font-size:var(--font-size-base);opacity:.95}.key-insight{background:linear-gradient(135deg,var(--color-primary) 0%,#2563EB 100%);color:var(--color-bg-white);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.key-insight h4{font-size:var(--font-size-lg);margin-bottom:var(--space-md);color:var(--color-bg-white)}.key-insight p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0}.key-insight strong{color:var(--color-accent);font-weight:var(--font-weight-bold)}.pricing-note{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-medium);font-style:italic;margin:0}@media(max-width:767px){.pricing-calculator{padding:var(--space-2xl) 0}.pricing-header{margin-bottom:var(--space-lg)}.pricing-title{font-size:1.75rem}.pricing-subtitle{font-size:var(--font-size-base)}.order-size-selector{gap:var(--space-sm)}.order-size-btn{flex:1;min-width:100px;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.comparison-cards-container{gap:var(--space-lg)}.comparison-card{padding:var(--space-lg)}.card-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.card-title{font-size:var(--font-size-lg)}.markup-badge,.checkmark{align-self:flex-start}.order-items{padding:var(--space-md)}.items-heading{font-size:var(--font-size-sm)}.item{font-size:var(--font-size-xs)}.breakdown-row{padding:var(--space-xs) 0}.breakdown-label,.breakdown-value{font-size:var(--font-size-sm)}.total-row .breakdown-label{font-size:var(--font-size-base)}.total-value{font-size:var(--font-size-lg)}.savings-badge{padding:var(--space-md)}.savings-amount{font-size:var(--font-size-xl)}.savings-percentage{font-size:var(--font-size-sm)}.key-insight{padding:var(--space-lg)}.key-insight h4{font-size:var(--font-size-base)}.key-insight p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.pricing-note{font-size:var(--font-size-xs);padding:0 var(--space-md)}}@media(min-width:768px)and (max-width:1023px){.comparison-card{padding:var(--space-lg)}.card-title{font-size:var(--font-size-lg)}.savings-amount{font-size:var(--font-size-xl)}}@media(hover:none)and (pointer:coarse){.order-size-btn{min-height:48px}.breakdown-row{min-height:var(--touch-target-min);padding:var(--space-sm) 0}}@media(max-width:374px){.order-size-btn{font-size:var(--font-size-xs);padding:var(--space-sm)}.card-title{font-size:var(--font-size-base)}.savings-amount{font-size:var(--font-size-lg)}}@media print{.pricing-calculator{background-color:#fff}.comparison-card{break-inside:avoid;box-shadow:none;border:1px solid #000}.order-size-selector{display:none}.key-insight{background:#fff;color:#000;border:2px solid var(--color-primary)}}.contact-form{padding:var(--space-3xl) 0;background-color:var(--color-bg-white)}.contact-container{max-width:800px}.contact-header{text-align:center;margin-bottom:var(--space-2xl)}.contact-title{font-size:2rem;color:var(--color-text-dark);margin-bottom:var(--space-md)}@media(min-width:768px){.contact-title{font-size:2.5rem}}.contact-subtitle{font-size:var(--font-size-lg);color:var(--color-text-medium);margin:0}.form-wrapper{background-color:var(--color-bg-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-md)}.form-grid{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:var(--space-xl)}@media(min-width:768px){.form-grid{grid-template-columns:1fr 1fr;gap:var(--space-md)}}.services-group{margin-bottom:var(--space-xl)}.services-label{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-dark);margin-bottom:var(--space-md)}.required-mark{color:var(--color-error);margin-left:2px}.checkboxes-wrapper{background-color:var(--color-bg-light);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.services-error{display:block;margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-error)}.submit-error{background-color:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);color:var(--color-error);font-size:var(--font-size-base);text-align:center}.form-note{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-medium);margin-top:var(--space-md);margin-bottom:0}.success-message{background-color:var(--color-bg-white);border:2px solid var(--color-success);border-radius:var(--radius-lg);padding:var(--space-3xl) var(--space-2xl);text-align:center;box-shadow:var(--shadow-md)}.success-icon{width:80px;height:80px;border-radius:50%;background-color:var(--color-success);color:var(--color-bg-white);font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl);font-weight:var(--font-weight-bold)}.success-title{font-size:var(--font-size-2xl);color:var(--color-text-dark);margin-bottom:var(--space-md)}@media(min-width:768px){.success-title{font-size:2rem}}.success-text{font-size:var(--font-size-lg);color:var(--color-text-medium);line-height:var(--line-height-relaxed);margin-bottom:var(--space-2xl)}.success-message button{margin:0 auto}.contact-form button[type=submit][disabled]{position:relative;color:transparent}.contact-form button[type=submit][disabled]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:contactFormSpin .6s linear infinite}@keyframes contactFormSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.app{min-height:100vh}:root{--color-primary: #1E40AF;--color-accent: #06B6D4;--color-bg-white: #FFFFFF;--color-bg-light: #F3F4F6;--color-text-dark: #111827;--color-text-medium: #6B7280;--color-success: #10B981;--color-border: #E5E7EB;--color-error: #EF4444;--gradient-hero: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--container-max-width: 1200px;--container-padding: var(--space-md);--header-height: 70px;--touch-target-min: 44px}@media(min-width:768px){:root{--container-padding: var(--space-xl)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-dark);background-color:var(--color-bg-white)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-dark)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin:0;line-height:var(--line-height-relaxed)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}ul,ol{list-style:none;margin:0;padding:0}img{max-width:100%;height:auto;display:block}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(min-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding);width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin .6s linear infinite}
