.layout{min-height:100vh;display:flex;flex-direction:column;position:relative}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-primary-500);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);z-index:var(--z-tooltip);text-decoration:none;font-weight:var(--font-weight-semibold);border-radius:0 0 var(--radius-md) 0}.header{background-color:var(--color-surface);color:var(--color-text-primary);padding:var(--space-2) 0;box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--color-neutral-200)}.header-container{max-width:1280px;margin:0 auto;padding:0 var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.logo{text-decoration:none;color:inherit;display:flex;align-items:center;transition:opacity var(--transition-fast)}.logo:hover{opacity:.9}.logo:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:var(--space-1);border-radius:var(--radius-sm)}.logo-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.logo-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.logo-tagline{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);opacity:.8;color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}@media (min-width: 640px){.header-container{padding:0 var(--space-3)}.logo-text{font-size:var(--font-size-lg)}.nav{gap:var(--space-3)}.nav a{font-size:var(--font-size-sm)}}@media (max-width: 640px){.logo-tagline{display:none}}.nav{display:flex;gap:var(--space-3);align-items:center}.nav a{color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.nav a:hover{background-color:var(--color-neutral-100);text-decoration:none}.nav a:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.cart-link{position:relative;display:flex;align-items:center;font-size:var(--font-size-base);padding:6px;border-radius:var(--radius-sm);min-width:36px;min-height:36px;justify-content:center}.cart-badge{position:absolute;top:-2px;right:-2px;background-color:var(--color-primary-500);color:var(--color-text-inverse);border-radius:var(--radius-full);width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-semibold);line-height:1;border:2px solid var(--color-surface)}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--color-text-primary);font-size:var(--font-size-lg);cursor:pointer;padding:6px;min-width:36px;min-height:36px;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);align-items:center;justify-content:center}.mobile-menu-toggle:hover{background-color:var(--color-neutral-100)}.mobile-menu-toggle:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.mobile-menu-toggle:active{transform:scale(.95)}.main-content{flex:1;width:100%;min-height:calc(100vh - 200px)}.footer{background-color:var(--color-surface-elevated);color:var(--color-text-primary);padding:var(--space-4) 0 var(--space-3) 0;margin-top:auto;border-top:1px solid var(--color-border)}.footer-container{max-width:900px;margin:0 auto;padding:0 var(--space-3)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-3)}.footer-section h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.footer-section h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text-primary)}.footer-section p{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin:0}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:4px}.footer-section ul li a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-xs);transition:color var(--transition-fast)}.footer-section ul li a:hover{color:var(--color-primary-700);text-decoration:underline}.footer-bottom{padding-top:var(--space-3);border-top:1px solid var(--color-border);text-align:center}.footer-bottom p{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}@media (max-width: 768px){.footer{padding:var(--space-4) 0 var(--space-3) 0}.footer-content{grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}}@media (max-width: 768px){.header-container{padding:0 var(--space-3)}.logo h1{font-size:var(--font-size-xl)}.mobile-menu-toggle{display:flex}.nav{position:fixed;top:72px;left:0;right:0;background-color:var(--color-surface);flex-direction:column;padding:var(--space-4);gap:var(--space-2);box-shadow:var(--shadow-lg);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-dropdown);border-bottom:1px solid var(--color-border);max-height:calc(100vh - 72px);overflow-y:auto}.nav-open{transform:translateY(0);opacity:1;visibility:visible}.nav a{width:100%;padding:var(--space-3);text-align:left;font-size:var(--font-size-lg);min-height:44px;display:flex;align-items:center}}@media (max-width: 640px){.header-container{padding:0 var(--space-2)}.logo h1{font-size:var(--font-size-lg)}}.product-image-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background-color:var(--color-neutral-100)}.image-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--color-neutral-100) 0%,var(--color-neutral-50) 50%,var(--color-neutral-100) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:1}.skeleton-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.5s ease-in-out infinite}.skeleton-icon{position:relative;z-index:1;font-size:2rem;color:var(--color-neutral-300);opacity:.5}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.image-error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-neutral-100);color:var(--color-text-tertiary);z-index:3}.error-icon{font-size:2rem;margin-bottom:var(--space-2);opacity:.5}.error-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.product-image-display{width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;transition:opacity .3s ease-in-out;max-width:100%;max-height:100%;position:relative}.product-image-display.loaded{opacity:1!important}.product-image-container{position:relative;width:100%;aspect-ratio:1}.product-image-container>*{position:absolute;top:0;left:0;width:100%;height:100%}.home{width:100%}.loyalty-banner{background-color:var(--color-primary-50);color:var(--color-text-primary);padding:10px var(--space-3);text-align:center;border-bottom:1px solid var(--color-border)}.loyalty-banner:before{display:none}.loyalty-banner-content{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.loyalty-banner-icon{font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--color-primary-600)}.loyalty-banner-text{flex:1;min-width:180px}.loyalty-banner-text h2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary)}.loyalty-banner-text p{font-size:var(--font-size-xs);margin:0;display:flex;align-items:center;gap:6px;justify-content:center;color:var(--color-text-secondary)}.loyalty-banner-text p svg{display:inline-block;vertical-align:middle}.loyalty-banner-cta{display:inline-flex;align-items:center;gap:6px;background-color:var(--color-primary-500);color:var(--color-text-primary);padding:6px 12px;border-radius:var(--radius-sm);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);transition:all var(--transition-fast);white-space:nowrap}.loyalty-banner-cta:hover{background-color:var(--color-primary-600);text-decoration:none}.hero{background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-surface) 100%);color:var(--color-text-primary);padding:var(--space-4) var(--space-3);text-align:center;position:relative}.hero-background,.hero-overlay{display:none}.hero-content{max-width:600px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:4px;background-color:var(--color-primary-100);color:var(--color-primary-800);padding:4px var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);border:1px solid var(--color-primary-200)}.hero h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);line-height:var(--line-height-tight);color:var(--color-text-primary)}.hero-subtitle{font-size:var(--font-size-sm);margin-bottom:var(--space-3);line-height:var(--line-height-normal);color:var(--color-text-secondary);max-width:480px;margin-left:auto;margin-right:auto}.hero-cta-group{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-fast);min-height:36px}.cta-button.primary{background-color:var(--color-primary-500);color:var(--color-text-primary)}.cta-button.primary:hover{background-color:var(--color-primary-600);text-decoration:none}.cta-button.secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.cta-button.secondary:hover{background-color:var(--color-neutral-100);text-decoration:none}.cta-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.loyalty-info{padding:var(--space-4) var(--space-3);background-color:var(--color-surface-elevated)}.loyalty-info-container{max-width:700px;margin:0 auto}.loyalty-info-content{text-align:center;background-color:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border)}.loyalty-icon-large{font-size:1.5rem;color:var(--color-primary-500);margin-bottom:var(--space-2)}.loyalty-info-content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.loyalty-description{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.loyalty-description strong{color:var(--color-primary-600);font-weight:var(--font-weight-medium)}.loyalty-how-it-works{background-color:var(--color-surface-elevated);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.loyalty-how-it-works h3{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1);color:var(--color-text-primary)}.loyalty-how-it-works p{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin:0}.loyalty-how-it-works strong{color:var(--color-primary-600);font-weight:var(--font-weight-medium)}.loyalty-cta-button{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-primary-500);color:var(--color-text-inverse);padding:8px 20px;border-radius:var(--radius-sm);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-fast);min-height:36px}.loyalty-cta-button:hover{background-color:var(--color-primary-600);text-decoration:none}.featured-products{padding:var(--space-4) var(--space-3);background-color:var(--color-surface)}.featured-products-container{max-width:1100px;margin:0 auto}.section-header{text-align:center;margin-bottom:var(--space-3)}.section-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:4px;color:var(--color-text-primary)}.section-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:400px;margin:0 auto;line-height:var(--line-height-normal)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.sale-badge{position:absolute;top:6px;right:6px;background-color:var(--color-error-500);color:var(--color-text-inverse);padding:2px 6px;border-radius:3px;font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase}.view-all-container{text-align:center;margin-top:var(--space-3)}.view-all-button{display:inline-flex;align-items:center;gap:6px;background-color:var(--color-primary-500);color:var(--color-text-primary);padding:8px 16px;border-radius:var(--radius-sm);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-fast);min-height:36px}.view-all-button:hover{background-color:var(--color-primary-600);text-decoration:none}.products-loading{text-align:center;padding:var(--space-8);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.products-error{background-color:var(--color-error-50);border:1px solid var(--color-error-200);border-radius:var(--radius-lg);padding:var(--space-6);margin:var(--space-4) 0;text-align:center}.products-error p{color:var(--color-error-700);margin-bottom:var(--space-3);line-height:var(--line-height-relaxed)}.products-error p strong{font-weight:var(--font-weight-semibold)}.products-error .error-hint{color:var(--color-error-600);font-size:var(--font-size-sm);margin-top:var(--space-4);margin-bottom:var(--space-3)}.products-error ul{text-align:left;max-width:500px;margin:var(--space-4) auto;color:var(--color-error-700);line-height:var(--line-height-relaxed)}.products-error ul li{margin-bottom:var(--space-2)}.error-link-button{display:inline-flex;align-items:center;gap:var(--space-2);background-color:var(--color-error-600);color:var(--color-text-inverse);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);margin-top:var(--space-4)}.error-link-button:hover{background-color:var(--color-error-700);transform:translateY(-2px);text-decoration:none}.no-products-message{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.no-products-message p{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.mission-section{padding:var(--space-4) var(--space-3);background-color:var(--color-surface-elevated)}.mission-container{max-width:600px;margin:0 auto}.mission-content{text-align:center}.mission-content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.mission-content p{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.mission-content p:last-child{margin-bottom:0}.mission-content strong{color:var(--color-primary-600);font-weight:var(--font-weight-medium)}.features{padding:var(--space-4) var(--space-3);background-color:var(--color-surface);border-top:1px solid var(--color-border)}.features-container{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.feature{text-align:center;padding:var(--space-2)}.feature-icon{font-size:1.25rem;color:var(--color-primary-500);margin-bottom:var(--space-1);display:flex;align-items:center;justify-content:center}.feature h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:4px;color:var(--color-text-primary)}.feature p{color:var(--color-text-secondary);line-height:var(--line-height-normal);font-size:var(--font-size-xs);margin:0}@media (max-width: 640px){.loyalty-banner-content{flex-direction:column;text-align:center}.loyalty-banner-text{width:100%}.hero-cta-group{flex-direction:column;width:100%}.cta-button{width:100%}.products-grid{grid-template-columns:repeat(2,1fr)}.features-container{grid-template-columns:1fr;gap:var(--space-3)}}.products-page{padding:var(--space-3) var(--space-3);min-height:50vh}.products-container{max-width:1100px;margin:0 auto}.products-container h1{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);text-align:center;color:var(--color-text-primary)}.loading,.error{text-align:center;padding:var(--space-4);color:var(--color-text-secondary)}.loading{font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.error{color:var(--color-error-600);background-color:var(--color-error-50);border-radius:var(--radius-sm);border:1px solid var(--color-error-200);padding:var(--space-3);font-size:var(--font-size-sm)}.error-hint{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.no-products{text-align:center;padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.products-pagination{margin-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.products-pagination-error{width:100%;max-width:520px;text-align:center;color:var(--color-error-700);background-color:var(--color-error-50);border:1px solid var(--color-error-200);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.load-more-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:10px 16px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.load-more-button:hover:not(:disabled){border-color:var(--color-primary-300);box-shadow:0 2px 8px #0000000f}.load-more-button:disabled{opacity:.6;cursor:not-allowed}.load-more-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.products-pagination-end{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.product-card{background-color:var(--color-surface);border-radius:var(--radius-sm);overflow:hidden;transition:all var(--transition-fast);text-decoration:none;color:inherit;display:flex;flex-direction:column;border:1px solid var(--color-border)}.product-card:hover{border-color:var(--color-primary-300);box-shadow:0 2px 8px #0000000f}.product-card:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.product-image,.product-image-wrapper{width:100%;aspect-ratio:1;overflow:hidden;background-color:var(--color-neutral-100);position:relative}.product-image-wrapper{width:100%;height:100%}.product-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform var(--transition-fast);max-width:100%;max-height:100%}.product-card:hover .product-image img,.product-card:hover .product-image-wrapper img{transform:scale(1.02)}.no-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-neutral-100);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.product-info{padding:10px;flex:1;display:flex;flex-direction:column;gap:4px}.product-info h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0;color:var(--color-text-primary);line-height:var(--line-height-snug)}.product-price{margin-top:auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.sale-price{color:var(--color-error-600);font-weight:var(--font-weight-semibold)}.regular-price{text-decoration:line-through;opacity:.6;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary)}@media (min-width: 640px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (min-width: 768px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}}@media (min-width: 1024px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.product-detail-page{padding:var(--space-4) var(--space-3);min-height:60vh;max-width:1280px;margin:0 auto;width:100%}.product-detail-container{max-width:1200px;margin:0 auto}.back-button{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);background:transparent;border:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);min-height:36px;font-weight:var(--font-weight-medium)}.back-button:hover{background-color:var(--color-neutral-50);color:var(--color-text-primary);transform:translate(-2px)}.back-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.back-button:active{transform:translate(0)}.product-detail{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:start}.product-images{width:100%}.product-images img,.product-detail-image-container{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:0 2px 12px #00000014;aspect-ratio:1;object-fit:contain;object-position:center;max-width:100%;max-height:600px;background-color:var(--color-neutral-50)}.product-detail-image-container .product-image-container{aspect-ratio:1;max-height:600px;border-radius:var(--radius-lg);box-shadow:0 2px 12px #00000014}.no-image{width:100%;aspect-ratio:1;background-color:var(--color-neutral-100);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--color-text-tertiary);font-size:var(--font-size-base);border:1px solid var(--color-border)}.product-details h1{font-size:clamp(var(--font-size-xl),3vw,var(--font-size-3xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-3);color:var(--color-text-primary);line-height:var(--line-height-tight)}.product-price{font-size:clamp(var(--font-size-xl),2vw,var(--font-size-2xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);color:var(--color-text-primary);display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.sale-price{color:var(--color-error-600);font-weight:var(--font-weight-bold)}.regular-price{text-decoration:line-through;opacity:.6;font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary)}.product-description,.product-full-description{margin-bottom:var(--space-4);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.product-description h3,.product-full-description h3{color:var(--color-text-primary);margin-bottom:var(--space-3);font-size:var(--font-size-xl)}.product-description ul,.product-full-description ul{margin-left:var(--space-5);margin-top:var(--space-2)}.product-description li,.product-full-description li{margin-bottom:var(--space-2)}.product-full-description{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-200)}.product-actions{display:flex;gap:var(--space-3);align-items:flex-end;margin-top:var(--space-4);flex-wrap:wrap}.quantity-selector{display:flex;flex-direction:column;gap:var(--space-2)}.quantity-selector label{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.quantity-selector select{width:100px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background-color:var(--color-background);color:var(--color-text-primary);min-height:44px;transition:all var(--transition-fast);cursor:pointer}.quantity-selector select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #d4af371a}.add-to-cart-button{flex:1;min-width:200px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-primary-500);color:var(--color-text-primary);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);min-height:44px;box-shadow:0 2px 8px #d4af3740}.add-to-cart-button:hover:not(:disabled){background-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.add-to-cart-button:active:not(:disabled){transform:translateY(0)}.add-to-cart-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}.add-to-cart-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading,.error{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.loading{font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.error{color:var(--color-error-600);background-color:var(--color-error-50);border-radius:var(--radius-lg);border:1px solid var(--color-error-200);padding:var(--space-6)}.error p{margin-bottom:var(--space-4);font-size:var(--font-size-lg)}@media (min-width: 640px){.product-detail-page{padding:var(--space-5) var(--space-4)}.back-button{margin-bottom:var(--space-5);font-size:var(--font-size-base);padding:var(--space-2) var(--space-3);min-height:44px}.product-detail{gap:var(--space-5)}.product-details h1{font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl))}.product-price{font-size:clamp(var(--font-size-xl),2vw,var(--font-size-2xl))}.product-description,.product-full-description{font-size:var(--font-size-base)}}@media (min-width: 768px){.product-detail-page{padding:var(--space-6) var(--space-4)}.product-detail{grid-template-columns:1fr 1fr;gap:var(--space-6)}.product-images{position:sticky;top:calc(72px + var(--space-4))}.product-details h1{font-size:clamp(var(--font-size-3xl),3vw,var(--font-size-4xl))}.product-price{font-size:clamp(var(--font-size-2xl),2vw,var(--font-size-3xl))}.add-to-cart-button{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg);min-height:48px}}@media (min-width: 1024px){.product-detail{gap:var(--space-8)}.add-to-cart-button{padding:var(--space-4) var(--space-6);min-height:56px}}@media (max-width: 640px){.product-actions{flex-direction:column;align-items:stretch}.quantity-selector,.quantity-selector input{width:100%}.add-to-cart-button{width:100%;min-width:auto}}.loyalty-progress-container{background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-primary-100) 100%);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-5) 0;box-shadow:var(--shadow-sm);border:1px solid var(--color-primary-200)}.loyalty-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.loyalty-icon{font-size:var(--font-size-2xl);color:var(--color-primary-600);flex-shrink:0}.loyalty-header h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.loyalty-description{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.loyalty-progress-item{margin-bottom:var(--space-5)}.loyalty-progress-item:last-child{margin-bottom:0}.loyalty-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);flex-wrap:wrap;gap:var(--space-2)}.loyalty-size{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide)}.loyalty-badge{background:var(--color-success-500);color:var(--color-text-inverse);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);display:inline-flex;align-items:center;gap:var(--space-1)}.loyalty-badge svg{flex-shrink:0}.loyalty-progress-bar-container{width:100%;height:24px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2);position:relative}.loyalty-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow);position:relative}.loyalty-progress-bar.eligible{background:linear-gradient(90deg,var(--color-success-500) 0%,var(--color-success-600) 100%)}.loyalty-progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.loyalty-success{color:var(--color-success-600);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:var(--space-2)}.loyalty-success svg{flex-shrink:0}@media (max-width: 768px){.loyalty-progress-container{padding:var(--space-4)}.loyalty-header h3{font-size:var(--font-size-lg)}.loyalty-progress-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.cart-page{padding:var(--space-4) var(--space-3);min-height:60vh;max-width:1280px;margin:0 auto;width:100%}.cart-container{max-width:1200px;margin:0 auto}.cart-container h1{font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);color:var(--color-text-primary);line-height:var(--line-height-tight)}.empty-cart{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-secondary)}.empty-cart svg{margin-bottom:var(--space-4);opacity:.5;color:var(--color-text-tertiary)}.empty-cart p{font-size:var(--font-size-xl);margin-bottom:var(--space-6);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.shop-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-primary-500);color:var(--color-text-inverse);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);transition:all var(--transition-base);min-height:56px;box-shadow:var(--shadow-md)}.shop-button:hover{background-color:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-lg);text-decoration:none}.shop-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}.cart-content{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:start}.cart-items{display:flex;flex-direction:column;gap:var(--space-4)}.cart-item{display:grid;grid-template-columns:80px 1fr;gap:var(--space-3);align-items:start;padding:var(--space-3);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:none;border:none;border-bottom:1px solid var(--color-neutral-200);transition:all var(--transition-fast);position:relative}.cart-item:hover{background-color:var(--color-neutral-50)}.cart-item-image{width:80px;height:80px;overflow:hidden;border-radius:var(--radius-md);background-color:var(--color-neutral-100);flex-shrink:0}.cart-item-image img{width:100%;height:100%;object-fit:contain;object-position:center}.cart-item-details{flex:1;min-width:0}.cart-item-details h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1) 0;color:var(--color-text-primary);line-height:var(--line-height-snug)}.cart-item-price{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cart-item-quantity{display:flex;align-items:center;gap:var(--space-2)}.quantity-button{background-color:var(--color-neutral-100);border:1px solid var(--color-border);width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary);font-size:var(--font-size-lg)}.quantity-button:hover:not(:disabled){background-color:var(--color-neutral-200);border-color:var(--color-border-strong)}.quantity-button:active:not(:disabled){transform:scale(.95)}.quantity-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.quantity-button:disabled{opacity:.5;cursor:not-allowed}.quantity-value{min-width:32px;text-align:center;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);color:var(--color-text-primary)}.cart-item-total{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary);text-align:right}.remove-button{background:none;border:none;color:var(--color-error-600);cursor:pointer;padding:var(--space-2);font-size:var(--font-size-xl);transition:all var(--transition-fast);border-radius:var(--radius-md);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.remove-button:hover{background-color:var(--color-error-50);color:var(--color-error-700)}.remove-button:focus-visible{outline:2px solid var(--color-error-500);outline-offset:2px}.cart-summary{background-color:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;border:none;height:fit-content;position:static;order:-1}.cart-summary h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-text-primary)}.summary-row{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.summary-row.total{border-bottom:none;border-top:2px solid var(--color-border-strong);margin-top:var(--space-2);padding-top:var(--space-4);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.free-shipping-badge{background-color:var(--color-success-500);color:var(--color-text-inverse);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin-left:var(--space-2);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.free-shipping-message{background-color:var(--color-success-50);color:var(--color-success-700);padding:var(--space-3);border-radius:var(--radius-md);margin-top:var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-sm);text-align:center;border:1px solid var(--color-success-200);line-height:var(--line-height-relaxed)}.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;background-color:var(--color-primary-500);color:var(--color-text-primary);padding:var(--space-3);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);margin-top:var(--space-3);transition:all var(--transition-base);min-height:44px;box-shadow:0 2px 8px #d4af3740}.checkout-button:hover{background-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d;text-decoration:none}.checkout-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}.continue-shopping{display:block;width:100%;text-align:center;margin-top:var(--space-3);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);font-size:var(--font-size-base);padding:var(--space-2)}.continue-shopping:hover{color:var(--color-text-primary);text-decoration:underline}.continue-shopping:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}@media (min-width: 640px){.cart-page{padding:var(--space-5) var(--space-4)}.cart-item{grid-template-columns:100px 1fr auto auto auto;gap:var(--space-4);padding:var(--space-4)}.cart-item-image{width:100px;height:100px}.cart-item-details h3,.cart-item-total{font-size:var(--font-size-lg)}.cart-summary{padding:var(--space-5)}.checkout-button{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg);min-height:48px}}@media (min-width: 768px){.cart-page{padding:var(--space-6) var(--space-4)}.cart-content{grid-template-columns:1fr 400px;gap:var(--space-6)}.cart-summary{position:sticky;top:calc(72px + var(--space-4));order:0}.cart-item{padding:var(--space-5)}.cart-summary h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-5)}.checkout-button{padding:var(--space-4);min-height:56px}}@media (max-width: 640px){.cart-item-quantity,.cart-item-total,.remove-button{grid-column:2}.cart-item-quantity{justify-self:start;margin-top:var(--space-2)}.cart-item-total{justify-self:end;margin-top:var(--space-2)}.remove-button{position:absolute;top:var(--space-2);right:var(--space-2)}}.shipping-skeleton{padding:var(--space-4)}.skeleton-header{margin-bottom:var(--space-4)}.skeleton-title{height:24px;width:200px;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-rates{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-rate{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.skeleton-radio{width:20px;height:20px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-carrier{height:18px;width:120px;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-details{display:flex;flex-direction:column;gap:var(--space-1)}.skeleton-line{height:14px;width:100%;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-line.short{width:60%}.skeleton-price{height:20px;width:80px;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm);align-self:flex-end}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.shipping-skeleton{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shipping-options{background-color:var(--color-surface);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);border:1px solid var(--color-border)}.shipping-options h3{margin:0 0 var(--space-4) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.shipping-loading{padding:var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.shipping-rates-list{display:flex;flex-direction:column;gap:var(--space-3)}.shipping-rate-option{border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;background-color:var(--color-background);transition:all var(--transition-normal);transform:scale(1);will-change:transform,border-color,background-color}.shipping-rate-option:hover{transform:translateY(-1px)}.shipping-rate-option.selected{border-color:var(--color-primary-500);background-color:var(--color-primary-50);box-shadow:var(--shadow-sm);transform:scale(1.02)}.shipping-rate-option.free{border-color:var(--color-success-500);background-color:var(--color-success-50)}.shipping-rate-header{display:flex;align-items:center;gap:var(--space-4)}.shipping-rate-radio{cursor:pointer;width:20px;height:20px;accent-color:var(--color-primary-500);flex-shrink:0}.shipping-rate-info{flex:1;min-width:0}.shipping-carrier{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-snug)}.shipping-service{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-1);line-height:var(--line-height-normal)}.shipping-duration{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:var(--space-1);line-height:var(--line-height-normal)}.shipping-rate-price{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text-primary);text-align:right;flex-shrink:0}.free-shipping-text{color:var(--color-success-600);font-weight:var(--font-weight-semibold)}.free-shipping-badge{display:block;background-color:var(--color-success-500);color:var(--color-text-inverse);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin-top:var(--space-1);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.free-shipping-notice{margin-top:var(--space-4);padding:var(--space-3);background-color:var(--color-success-50);color:var(--color-success-700);border-radius:var(--radius-md);text-align:center;font-weight:var(--font-weight-semibold);border:1px solid var(--color-success-200);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.free-shipping-notice svg{flex-shrink:0}@media (max-width: 768px){.shipping-options{padding:var(--space-4)}.shipping-rate-header{flex-wrap:wrap;gap:var(--space-3)}.shipping-rate-price{width:100%;text-align:left;margin-top:var(--space-2)}}.checkout-page{padding:var(--space-4) var(--space-3);min-height:80vh;background-color:var(--color-background)}.checkout-container{max-width:1100px;margin:0 auto}.checkout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4)}.checkout-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.checkout-progress{display:flex;justify-content:space-between;margin-bottom:var(--space-8);max-width:600px;margin-left:auto;margin-right:auto}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;position:relative;cursor:pointer}.progress-step:not(:last-child):after{content:"";position:absolute;top:16px;left:50%;width:100%;height:2px;background-color:var(--color-border);z-index:0}.progress-step.completed:not(:last-child):after{background-color:var(--color-success-500)}.progress-step-number{width:32px;height:32px;border-radius:var(--radius-full);background-color:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);position:relative;z-index:1;transition:all var(--transition-base)}.progress-step.active .progress-step-number{border-color:var(--color-primary-500);color:var(--color-primary-600);box-shadow:0 0 0 4px #d4af371a}.progress-step.completed .progress-step-number{background-color:var(--color-success-500);border-color:var(--color-success-500);color:#fff}.progress-step-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.progress-step.active .progress-step-label{color:var(--color-text-primary)}.checkout-layout{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media (min-width: 1024px){.checkout-layout{grid-template-columns:1fr 380px}}.form-section{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:0 1px 3px #0000000d;border:1px solid var(--color-border)}.form-section h2{font-size:var(--font-size-xl);margin-bottom:var(--space-6);color:var(--color-text-primary)}.animate-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:var(--space-1)}.form-group input,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all var(--transition-fast);background-color:var(--color-background)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #d4af371a}.form-group input.error{border-color:var(--color-error-500);background-color:var(--color-error-50)}.field-error{color:var(--color-error-600);font-size:var(--font-size-xs);margin-top:4px;display:block}.form-actions{display:flex;justify-content:space-between;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.btn-next,.btn-submit{background-color:var(--color-primary-500);color:var(--color-text-primary);padding:14px 28px;border-radius:var(--radius-md);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);cursor:pointer;border:none;transition:all var(--transition-base);margin-left:auto}.btn-next:hover,.btn-submit:hover{background-color:var(--color-primary-600);transform:translateY(-1px)}.btn-back{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);padding:14px 0;cursor:pointer;background:none;border:none}.btn-back:hover{color:var(--color-text-primary)}.order-summary-sidebar{position:sticky;top:100px}.summary-sticky{background-color:var(--color-surface-elevated);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--color-border)}.summary-sticky h2{font-size:var(--font-size-lg);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.summary-items-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.summary-product{display:grid;grid-template-columns:64px 1fr auto;gap:var(--space-3);align-items:center}.product-img-mini{width:64px;height:64px;background-color:#fff;border-radius:var(--radius-md);border:1px solid var(--color-border);position:relative}.product-img-mini img{width:100%;height:100%;object-fit:contain;padding:4px}.product-qty{position:absolute;top:-8px;right:-8px;background-color:var(--color-neutral-600);color:#fff;width:20px;height:20px;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}.product-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.product-price{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.summary-totals{display:flex;flex-direction:column;gap:var(--space-2)}.summary-line{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.summary-line.discount{color:var(--color-success-600);font-weight:var(--font-weight-medium)}.summary-line.total{margin-top:var(--space-4);padding-top:var(--space-4);border-top:2px solid var(--color-border);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.express-checkout-container{margin-bottom:var(--space-6);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center}.small-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.small-label:before,.small-label:after{content:"";height:1px;background-color:var(--color-border);flex:1}.express-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.express-btn{height:44px;border-radius:var(--radius-md);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.express-btn.woopay{background-color:#7c3aed;color:#fff}.express-btn.apple-pay{background-color:#000;color:#fff}.express-btn.google-pay{background-color:#3c4043;color:#fff}.express-btn:hover{transform:translateY(-1px);filter:brightness(1.1)}.woopay-logo{font-style:italic;letter-spacing:-.02em}.payment-divider{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.payment-divider:before,.payment-divider:after{content:"";height:1px;background-color:var(--color-border);flex:1}.payment-divider span{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.payment-methods-list{display:flex;flex-direction:column;gap:var(--space-3)}.payment-option{display:flex;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:flex-start}.payment-option:hover{border-color:var(--color-primary-300);background-color:var(--color-neutral-50)}.payment-option.selected{border-color:var(--color-primary-500);background-color:var(--color-primary-50)}.payment-info{flex:1}.payment-name{font-weight:var(--font-weight-bold);display:block}.payment-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.stripe-element-container{margin-top:var(--space-4);padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#fff;width:100%;min-width:280px}.stripe-element-container:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #d4af371a}.review-summary{display:flex;flex-direction:column;gap:var(--space-4)}.review-block{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.review-header h3{font-size:var(--font-size-sm);text-transform:uppercase;color:var(--color-text-tertiary);margin:0}.review-header button{font-size:var(--font-size-xs);color:var(--color-primary-600);background:none;border:none;cursor:pointer;text-decoration:underline}.review-block p{margin:0;font-size:var(--font-size-sm)}.mobile-summary-toggle{display:none}@media (max-width: 1023px){.mobile-summary-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-3) var(--space-4);background-color:var(--color-neutral-100);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.summary-total-mini{font-weight:var(--font-weight-bold)}.order-summary-sidebar{display:none}.checkout-layout.show-summary .order-summary-sidebar{display:block;margin-bottom:var(--space-6)}.form-row{grid-template-columns:1fr}}.checkout-success-page{padding:var(--space-6) var(--space-3);min-height:60vh;display:flex;align-items:center;justify-content:center}.checkout-success-container{max-width:600px;text-align:center;background-color:var(--color-surface);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;border:none}.success-icon{font-size:4rem;color:var(--color-success-500);margin-bottom:var(--space-4);animation:scaleIn var(--transition-base)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.checkout-success-container h1{font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);color:var(--color-text-primary);line-height:var(--line-height-tight)}.order-info{margin-bottom:var(--space-4);padding:var(--space-3);background-color:var(--color-primary-50);border-radius:var(--radius-md);border:1px solid var(--color-primary-200)}.order-number{margin:0;font-size:var(--font-size-base);color:var(--color-text-primary)}.order-number strong{color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.success-message{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);text-align:left}.success-message-item{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);background-color:var(--color-surface-elevated);border-radius:var(--radius-md)}.success-icon-small{font-size:var(--font-size-xl);color:var(--color-primary-500);flex-shrink:0;margin-top:var(--space-1)}.success-message-item p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.success-message-item p strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.success-message-item p small{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.success-actions{margin-top:var(--space-6);display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.view-loyalty-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-surface);color:var(--color-text-primary);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);min-height:44px;border:1px solid var(--color-border)}.view-loyalty-button:hover{background-color:var(--color-neutral-100);border-color:var(--color-border-strong);text-decoration:none}.continue-shopping-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-primary-500);color:var(--color-text-primary);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);min-height:44px;box-shadow:0 2px 8px #d4af3740}.continue-shopping-button:hover{background-color:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-lg);text-decoration:none}.continue-shopping-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}@media (min-width: 640px){.checkout-success-page{padding:var(--space-8) var(--space-4)}.checkout-success-container{padding:var(--space-6)}.continue-shopping-button,.view-loyalty-button{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg);min-height:48px}}@media (min-width: 768px){.checkout-success-container{padding:var(--space-8)}.continue-shopping-button,.view-loyalty-button{padding:var(--space-4) var(--space-8);min-height:56px}}@media (max-width: 640px){.success-actions{flex-direction:column}.continue-shopping-button,.view-loyalty-button{width:100%}}.bitters-circle-page{width:100%}.bitters-circle-container{max-width:1200px;margin:0 auto;padding:0 var(--space-3)}.bitters-circle-hero{padding:var(--space-6) var(--space-3);text-align:center;background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-surface-elevated) 100%);border-radius:var(--radius-lg);margin:var(--space-4) 0}.hero-content{max-width:800px;margin:0 auto}.hero-icon{font-size:3rem;color:var(--color-primary-500);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:center}.bitters-circle-hero h1{font-size:clamp(var(--font-size-2xl),4vw,var(--font-size-4xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-3);color:var(--color-text-primary);line-height:var(--line-height-tight)}.hero-subtitle{font-size:clamp(var(--font-size-base),1.5vw,var(--font-size-lg));line-height:var(--line-height-relaxed);color:var(--color-text-primary);max-width:800px;margin:0 auto var(--space-4);font-weight:var(--font-weight-medium)}.hero-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-width:800px;margin:0 auto var(--space-6)}.hero-cta{margin-top:var(--space-4)}.hero-signup{margin-top:var(--space-6);max-width:500px;margin-left:auto;margin-right:auto}.signup-form{width:100%}.signup-form-group{display:flex;flex-direction:column;gap:var(--space-2)}.signup-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-2)}.signup-input-wrapper{position:relative;display:flex;align-items:center}.signup-icon{position:absolute;left:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-base);pointer-events:none}.signup-input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) calc(var(--space-3) * 2 + 1rem);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast)}.signup-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.signup-input.error{border-color:var(--color-error-500)}.signup-input:disabled{opacity:.6;cursor:not-allowed}.signup-error{color:var(--color-error-600);font-size:var(--font-size-xs);text-align:center;margin-top:calc(var(--space-1) * -1)}.signup-success{color:var(--color-success-600, #059669);font-size:var(--font-size-sm);text-align:center;margin-top:calc(var(--space-1) * -1);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.signup-button{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);background-color:var(--color-primary-600);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-2)}.signup-button:hover:not(:disabled){background-color:var(--color-primary-700);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.signup-button:active:not(:disabled){transform:translateY(0)}.signup-button:disabled{opacity:.6;cursor:not-allowed}.signup-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.signup-note{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-3);line-height:var(--line-height-relaxed)}.hero-cta-divider{display:flex;align-items:center;margin:var(--space-4) 0;text-align:center}.hero-cta-divider:before,.hero-cta-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.hero-cta-divider span{padding:0 var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.program-overview{margin:var(--space-6) 0}.overview-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:start}.overview-main{background-color:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.steps-list{display:flex;flex-direction:column;gap:var(--space-4)}.step-item{display:flex;gap:var(--space-4);align-items:center}.step-number{width:32px;height:32px;background-color:var(--color-primary-500);color:var(--color-text-inverse);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);flex-shrink:0}.step-icon-small{font-size:1.5rem;color:var(--color-primary-500);display:flex;align-items:center;justify-content:center}.step-text h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.step-text p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.overview-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-card{background-color:var(--color-primary-50);padding:var(--space-5);border-radius:var(--radius-lg)}.sidebar-card h3{font-size:var(--font-size-lg);margin-bottom:var(--space-3);color:var(--color-primary-800)}.rules-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.rules-list li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-primary-900)}.rules-list svg{color:var(--color-success-600);flex-shrink:0}.benefits-section{margin:var(--space-6) 0}.benefits-list{display:flex;flex-direction:column;gap:var(--space-4);max-width:800px;margin:0 auto var(--space-6)}.benefit-item{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all var(--transition-fast)}.benefit-item:hover{border-color:var(--color-primary-300);box-shadow:0 2px 8px #0000000d}.benefit-check{font-size:1.5rem;color:var(--color-primary-500);flex-shrink:0;margin-top:var(--space-1)}.benefit-content{flex:1}.benefit-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0;color:var(--color-text-primary)}.benefit-content p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}.benefit-content strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.benefits-tagline{text-align:center;padding:var(--space-5);background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-surface-elevated) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-primary-200)}.benefits-tagline p{font-size:var(--font-size-lg);font-style:italic;color:var(--color-text-primary);margin:0;line-height:var(--line-height-relaxed)}.faq-accordion{margin:var(--space-6) 0}.accordion{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-2)}.accordion-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-surface)}.accordion-header{width:100%;padding:var(--space-4);display:flex;justify-content:space-between;align-items:center;background:none;border:none;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:left;color:var(--color-text-primary);transition:background-color var(--transition-fast)}.accordion-header:hover{background-color:var(--color-neutral-50)}.accordion-body{padding:0 var(--space-4) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}@media (min-width: 768px){.overview-grid{grid-template-columns:2fr 1fr}}.cta-section{padding:var(--space-6) var(--space-3);text-align:center;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);border-radius:var(--radius-lg);margin:var(--space-4) 0;color:var(--color-text-inverse)}.cta-content{max-width:700px;margin:0 auto}.cta-section h2{font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-3);color:var(--color-text-inverse)}.cta-section p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--space-8);opacity:.95}.cta-buttons{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);min-height:44px;box-shadow:0 2px 8px #fff3}.cta-button.primary{background-color:var(--color-text-inverse);color:var(--color-primary-600)}.cta-button.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);text-decoration:none}.cta-button.secondary{background-color:transparent;color:var(--color-text-inverse);border:2px solid var(--color-text-inverse)}.cta-button.secondary:hover{background-color:#ffffff1a;text-decoration:none}.cta-button:focus-visible{outline:2px solid var(--color-text-inverse);outline-offset:4px}@media (min-width: 640px){.bitters-circle-container{padding:0 var(--space-4)}.bitters-circle-hero{padding:var(--space-8) var(--space-4)}.hero-icon{font-size:3.5rem}.section-content{padding:var(--space-6) 0}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5)}.step{padding:var(--space-5)}.step-icon{font-size:2.5rem}.step h3{font-size:var(--font-size-xl)}.details-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.detail-card{padding:var(--space-5)}.detail-card h3{font-size:var(--font-size-lg)}.cta-section{padding:var(--space-8) var(--space-4)}.cta-button{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg);min-height:48px}}@media (min-width: 768px){.bitters-circle-hero{padding:var(--space-10) var(--space-4)}.section-content{padding:var(--space-8) 0}.section-content h2{margin-bottom:var(--space-6)}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6)}.step{padding:var(--space-6)}.step-icon{font-size:3rem}.step h3{font-size:var(--font-size-2xl)}.details-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}.cta-section{padding:var(--space-10) var(--space-4)}.cta-button{padding:var(--space-4) var(--space-8);min-height:56px}}@media (min-width: 1024px){.bitters-circle-hero{padding:var(--space-12) var(--space-4)}.hero-icon{font-size:4rem}.section-content{padding:var(--space-10) 0}.section-content h2{margin-bottom:var(--space-8)}}@media (max-width: 640px){.bitters-circle-container{padding:0 var(--space-2)}.benefit-item{flex-direction:column;text-align:center}.benefit-icon{align-self:center}.cta-buttons{flex-direction:column}.cta-button{width:100%}}.legal-page{padding:var(--space-10) var(--space-4);background-color:var(--color-background);min-height:100vh}.container{max-width:800px;margin:0 auto}.legal-header{text-align:center;margin-bottom:var(--space-10)}.legal-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.last-updated{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.legal-content{background-color:var(--color-surface);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.legal-section{margin-bottom:var(--space-8)}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);border-bottom:2px solid var(--color-primary-500);display:inline-block}.legal-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:var(--space-4) 0 var(--space-2)}.legal-section p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}.legal-section ul{list-style-type:disc;margin-left:var(--space-6);margin-bottom:var(--space-4);color:var(--color-text-secondary)}.legal-section li{margin-bottom:var(--space-2);line-height:var(--line-height-relaxed)}.legal-section strong{color:var(--color-text-primary)}@media (max-width: 640px){.legal-page{padding:var(--space-6) var(--space-3)}.legal-content{padding:var(--space-4)}.legal-header h1{font-size:var(--font-size-2xl)}}.contact-page{padding:var(--space-10) var(--space-4);background-color:var(--color-background);min-height:100vh}.container{max-width:1000px;margin:0 auto}.contact-header{text-align:center;margin-bottom:var(--space-10)}.contact-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.contact-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.contact-content{display:grid;grid-template-columns:1fr 350px;gap:var(--space-8)}.contact-form-section{background-color:var(--color-surface);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.contact-form-section h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}.form-intro{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-1)}.form-group input,.form-group textarea{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background-color:var(--color-background)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #d4af371a}.btn-submit{background-color:var(--color-primary-500);color:var(--color-text-primary);padding:var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);border:none;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.btn-submit:hover{background-color:var(--color-primary-600);transform:translateY(-1px)}.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}.info-card{background-color:var(--color-surface-elevated);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.info-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary-600)}.info-card p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.email-link{color:var(--color-primary-600);text-decoration:none;font-weight:var(--font-weight-medium)}.email-link:hover{text-decoration:underline}@media (max-width: 850px){.contact-content{grid-template-columns:1fr}.contact-sidebar{order:-1}}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.contact-form-section{padding:var(--space-4)}}.not-found-page{padding:var(--space-8) var(--space-4);min-height:60vh;display:flex;align-items:center;justify-content:center}.not-found-container{max-width:600px;text-align:center}.not-found-content{background-color:var(--color-surface);padding:var(--space-10);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.not-found-title{font-size:8rem;font-weight:var(--font-weight-bold);color:var(--color-primary-500);margin:0;line-height:1;letter-spacing:var(--letter-spacing-tight)}.not-found-heading{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:var(--space-4) 0 var(--space-3) 0;color:var(--color-text-primary)}.not-found-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8);line-height:var(--line-height-relaxed)}.not-found-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.not-found-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);min-height:48px;border:none;cursor:pointer;font-family:inherit}.not-found-button.primary{background-color:var(--color-primary-500);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.not-found-button.primary:hover{background-color:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-lg);text-decoration:none}.not-found-button.secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.not-found-button.secondary:hover{background-color:var(--color-neutral-100);border-color:var(--color-border-strong)}.not-found-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:4px}@media (max-width: 768px){.not-found-content{padding:var(--space-8)}.not-found-title{font-size:6rem}.not-found-heading{font-size:var(--font-size-2xl)}.not-found-actions{flex-direction:column}.not-found-button{width:100%}}@media (max-width: 640px){.not-found-title{font-size:4rem}}:root{--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-10: 5rem;--space-12: 6rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--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-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--color-primary-50: #fefbf3;--color-primary-100: #fef7e6;--color-primary-200: #fcefc2;--color-primary-300: #f9df94;--color-primary-400: #f5c965;--color-primary-500: #d4af37;--color-primary-600: #c4a027;--color-primary-700: #a0851f;--color-primary-800: #7c6518;--color-primary-900: #584712;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-success-50: #ecfdf5;--color-success-100: #d1fae5;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-background: #ffffff;--color-surface: #ffffff;--color-surface-elevated: #fafafa;--color-border: #e5e5e5;--color-border-strong: #d4d4d4;--color-text-primary: #171717;--color-text-secondary: #525252;--color-text-tertiary: #737373;--color-text-inverse: #ffffff;--color-text-disabled: #a3a3a3;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}@media (prefers-color-scheme: dark){:root{--color-background: #0a0a0a;--color-surface: #171717;--color-surface-elevated: #262626;--color-border: #404040;--color-border-strong: #525252;--color-text-primary: #fafafa;--color-text-secondary: #d4d4d4;--color-text-tertiary: #a3a3a3;--color-text-inverse: #171717;--color-text-disabled: #737373;--color-neutral-50: #171717;--color-neutral-100: #262626;--color-neutral-200: #404040;--color-neutral-300: #525252;--color-neutral-400: #737373;--color-neutral-500: #a3a3a3;--color-neutral-600: #d4d4d4;--color-neutral-700: #e5e5e5;--color-neutral-800: #f5f5f5;--color-neutral-900: #fafafa}}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-family-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary);transition:background-color var(--transition-base),color var(--transition-base)}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug)}h5,h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}p{line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.6}@media (max-width: 768px){h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-base)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-primary-500);color:var(--color-text-inverse);padding:var(--space-2);z-index:var(--z-tooltip);text-decoration:none}.skip-to-main:focus{top:0}
