.footer-elegant{background:linear-gradient(135deg,#2c3e50,#34495e);color:var(--color-white);margin-top:var(--space-xxl);position:relative;overflow:hidden}.footer-elegant:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,197,185,.3),transparent)}.footer-content{display:grid;grid-template-columns:1fr 2fr 1fr;grid-gap:var(--space-xl);gap:var(--space-xl);padding:var(--space-xxl) 0 var(--space-xl) 0;align-items:start}.footer-brand{display:flex;flex-direction:column;gap:var(--space-md)}.footer-logo-link{text-decoration:none;color:inherit;display:block}.footer-logo-container{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.footer-logo-image{border-radius:var(--radius-sm);object-fit:contain;filter:brightness(1.1)}.footer-logo-text{display:flex;flex-direction:column;gap:2px}.footer-logo-japanese{font-family:var(--font-japanese);font-size:1rem;font-weight:400;color:var(--color-white);line-height:1.2}.footer-logo-english{font-size:.7rem;font-weight:300;color:rgba(255,255,255,.8);letter-spacing:.5px;text-transform:uppercase}.footer-description{font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.8);margin:0}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-xl);gap:var(--space-xl)}.footer-nav-section{display:flex;flex-direction:column;gap:var(--space-md)}.footer-nav-title{margin:0 0 var(--space-sm) 0;display:flex;flex-direction:column;gap:2px}.footer-title-japanese{font-family:var(--font-japanese);font-size:1.1rem;font-weight:500;color:var(--color-white)}.footer-title-english{font-size:.75rem;font-weight:300;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:1px}.footer-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.footer-nav-link{color:rgba(255,255,255,.8);text-decoration:none;font-size:.85rem;line-height:1.5;transition:var(--transition-smooth);padding:2px 0;border-radius:2px}.footer-nav-link:hover{color:var(--color-white);background:rgba(255,255,255,.05);padding-left:var(--space-xs)}.footer-social{display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start}.footer-social-title{margin:0 0 var(--space-sm) 0;display:flex;flex-direction:column;gap:2px}.social-links{display:flex;flex-direction:column;gap:var(--space-sm)}.social-link{display:flex;align-items:center;gap:var(--space-xs);color:rgba(255,255,255,.8);text-decoration:none;font-size:.85rem;transition:var(--transition-smooth);padding:var(--space-xs);border-radius:var(--radius-sm)}.social-link:hover{color:var(--color-white);background:rgba(255,255,255,.1);transform:translateX(4px)}.social-icon{font-size:1.2rem;filter:grayscale(.3);transition:filter .3s ease}.social-link:hover .social-icon{filter:grayscale(0)}.social-text{font-weight:300}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-lg) 0}.footer-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);margin:0 auto var(--space-lg) auto}.footer-bottom-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center}.copyright{margin:0}.copyright-text{font-size:.8rem;color:rgba(255,255,255,.6);margin:0;font-weight:300}.footer-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:rgba(255,255,255,.5);flex-wrap:wrap;justify-content:center}.meta-item{font-weight:300}.meta-separator{color:rgba(255,255,255,.3)}@media (max-width:1024px){.footer-content{grid-template-columns:1fr 1fr;gap:var(--space-lg)}.footer-nav{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.footer-social{grid-column:1/-1;align-items:center;text-align:center}.social-links{flex-direction:row;gap:var(--space-md)}}@media (max-width:768px){.footer-content{padding:var(--space-xl) 0 var(--space-lg) 0;text-align:center}.footer-content,.footer-nav{grid-template-columns:1fr;gap:var(--space-lg)}.footer-brand,.footer-nav-section{align-items:center}.footer-logo-container{justify-content:center}.footer-description{text-align:center;max-width:300px}.social-links{justify-content:center}.footer-meta{flex-direction:column;gap:4px}.meta-separator{display:none}}@media (max-width:480px){.footer-content{padding:var(--space-lg) 0}.footer-logo-japanese{font-size:.9rem}.footer-logo-english{font-size:.65rem}.footer-title-japanese{font-size:1rem}.footer-title-english{font-size:.7rem}.footer-nav-link{font-size:.8rem}.social-links{gap:var(--space-sm)}.social-link{font-size:.8rem}}.footer-logo-link:focus,.footer-nav-link:focus,.social-link:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px;border-radius:var(--radius-sm)}.footer-brand,.footer-nav-section,.footer-social{animation:fadeInUp .6s ease-out}.footer-nav-section:nth-child(2){animation-delay:.1s}.footer-nav-section:nth-child(3){animation-delay:.2s}.footer-social{animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media print{.footer-elegant{background:none;color:black;border-top:2px solid #ccc}.copyright-text,.footer-logo-japanese,.footer-nav-link,.footer-title-japanese{color:black}.social-links{display:none}}.header-elegant{position:-webkit-sticky;position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(212,197,185,.2);box-shadow:0 2px 20px rgba(0,0,0,.02);transition:var(--transition-smooth)}.header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;min-height:40px}.header-left{flex-shrink:0}.header-right{display:flex;align-items:center}.logo-link{text-decoration:none;color:inherit;display:block}.logo-container{display:flex;align-items:center;gap:var(--space-sm)}.logo-image{border-radius:var(--radius-sm);object-fit:contain}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-japanese{font-family:var(--font-japanese);font-size:.75rem;font-weight:500;color:#2c3e50;line-height:1.2;text-shadow:0 1px 2px rgba(255,255,255,.2)}.logo-english{font-size:1.15rem;font-weight:400;color:#2c3e50;letter-spacing:.4px;text-transform:uppercase}.desktop-nav,.nav-list{display:flex}.nav-list{align-items:center;gap:var(--space-xl);list-style:none;margin:0;padding:0}.nav-item,.nav-link{position:relative}.nav-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;padding:0;border-radius:var(--radius-sm);transition:var(--transition-smooth)}.nav-english{font-size:.9rem;font-weight:500;color:var(--color-text-primary);letter-spacing:1px;text-transform:uppercase}.nav-japanese{font-family:var(--font-japanese);font-size:.8rem;color:var(--color-text-secondary);font-weight:300}.nav-link:hover .nav-english,.nav-link:hover .nav-japanese{color:var(--color-primary)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));transition:width .3s ease}.nav-link:hover:after{width:80%}.cart-link{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background-color:#4c73c6;color:var(--color-white);transition:var(--transition-smooth);box-shadow:0 4px 16px rgba(31,60,136,.25);position:relative;overflow:hidden}.cart-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.cart-link:hover:before{left:100%}.cart-link:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(31,60,136,.35)}.cart-icon{position:relative;display:flex;align-items:center;justify-content:center}.cart-symbol{font-size:1.2rem;filter:grayscale(0)}.cart-count{position:absolute;top:-8px;right:-8px;background:#7f1d1d;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px rgba(127,29,29,.4)}.cart-count,.cart-text{color:var(--color-white);display:flex}.cart-text{flex-direction:column;gap:1px}.cart-english{font-size:.85rem;font-weight:500;letter-spacing:1px;padding:10px;text-transform:uppercase;line-height:1}.cart-japanese{font-family:var(--font-japanese);font-size:.7rem;font-weight:300;opacity:.9;line-height:1}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition-smooth)}.mobile-menu-toggle:hover{background:rgba(245,245,220,.3)}.menu-icon{font-size:1.5rem;color:var(--color-text-primary);display:block}.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid rgba(212,197,185,.2);box-shadow:0 8px 32px rgba(0,0,0,.06);opacity:0;transform:translateY(-10px);transition:all .3s cubic-bezier(.25,.46,.45,.94);pointer-events:none}.mobile-nav-open{display:block;opacity:1;transform:translateY(0);pointer-events:auto}.mobile-nav-list{list-style:none;margin:0;padding:var(--space-md) 0;display:flex;flex-direction:column}.mobile-nav-item{border-bottom:1px solid rgba(212,197,185,.1)}.mobile-nav-item:last-child{border-bottom:none}.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:var(--space-md) var(--space-lg);transition:var(--transition-smooth)}.mobile-nav-link:hover{background:rgba(245,245,220,.3)}.mobile-nav-english{font-size:1rem;font-weight:500;color:var(--color-text-primary);letter-spacing:1px;text-transform:uppercase}.mobile-nav-japanese{font-family:var(--font-japanese);font-size:.9rem;color:var(--color-text-secondary);font-weight:300}.mobile-nav-link:hover .mobile-nav-english,.mobile-nav-link:hover .mobile-nav-japanese{color:var(--color-primary)}.mobile-cart-item{border-bottom:none!important;margin-top:var(--space-sm);padding:var(--space-sm) 0}.mobile-cart-link{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--color-cart-from) 0,var(--color-cart-to) 100%);border-radius:var(--radius-md);margin:0 var(--space-lg);transition:var(--transition-smooth);box-shadow:0 4px 16px rgba(31,60,136,.25)}.mobile-cart-link:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(31,60,136,.35)}.mobile-cart-content{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-white)}.mobile-cart-icon{position:relative;display:flex;align-items:center;justify-content:center}.mobile-cart-symbol{font-size:1.3rem;filter:grayscale(0)}.mobile-cart-count{position:absolute;top:-8px;right:-8px;background:#7f1d1d;color:var(--color-white);font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px rgba(127,29,29,.4)}.mobile-cart-text{display:flex;flex-direction:column;gap:2px}.mobile-cart-text .mobile-nav-english{color:var(--color-white);font-size:1rem}.mobile-cart-text .mobile-nav-japanese{color:rgba(255,255,255,.9);font-size:.85rem}@media (max-width:768px){.header-content{padding:var(--space-xs) 0;min-height:70px}.header-right{gap:var(--space-md)}.logo-japanese{font-size:.7rem}.logo-english{font-size:1rem}.cart-link,.desktop-nav{display:none}.mobile-menu-toggle{display:block}.nav-list{gap:var(--space-lg)}}@media (max-width:480px){.header-content{min-height:65px}.header-right{gap:var(--space-sm)}.logo-container{gap:var(--space-xs)}.logo-image{width:32px;height:32px}.logo-japanese{font-size:.9rem}.logo-english{font-size:.65rem}}@media (min-width:1200px){.nav-list{gap:.5rem}.nav-link{padding:var(--space-md) var(--space-lg)}.nav-english{font-size:1rem}.nav-japanese{font-size:.85rem}}.cart-link:focus-visible,.logo-link:focus-visible,.mobile-menu-toggle:focus-visible,.mobile-nav-link:focus-visible,.nav-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.mobile-nav-link:focus-visible{background:rgba(245,245,220,.4)}.mobile-menu-toggle:focus-visible{box-shadow:0 0 0 3px rgba(192,160,98,.35)}html{scroll-behavior:smooth}.header-elegant.scrolled{background:rgba(255,255,255,.98);box-shadow:0 4px 25px rgba(0,0,0,.05)}:root{--font-serif:"Playfair Display",serif;--font-sans:"Montserrat",sans-serif;--primary-color:#826325;--secondary-color:#f5f5f5;--accent-color:#eaeaea;--text-color:#333333;--text-light:#777777;--bg-color:#ffffff;--surface-color:#f9f9f9;--border-color:#dddddd;--shadow-color:rgba(0,0,0,0.05);--color-banner-from:#1f2e5a;--color-banner-to:#0f1f3c;--color-surface-warm:#f3e8d9;--color-surface-warm-light:#f9f2e9;--font-japanese:"Noto Sans JP",sans-serif;--font-system:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{font-size:18px;line-height:32px;background:var(--bg-color);-webkit-font-smoothing:antialiased}#app,body,html{height:100%}body{font-family:system-ui;font-size:18px;line-height:32px;margin:0;color:var(--text-color);background:var(--bg-color);@media (max-width:1024px){font-size:15px;line-height:24px}}img{max-width:100%;height:auto;display:block}h1{margin:40px 0;font-size:64px;line-height:70px;font-weight:700;@media (max-width:1024px){margin-left:0;margin-bottom:24px;margin-right:0;margin-top:24px;font-size:42px;line-height:42px}@media (max-width:768px){font-size:38px;line-height:38px}@media (max-width:400px){font-size:32px;line-height:32px}}p{margin:24px 0;@media (max-width:1024px){margin:calc(var(--base) * .75) 0}}a{color:currentColor}a:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}a:focus:not(:focus-visible){outline:none}a:active{opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}svg{vertical-align:middle}.home{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;padding:45px;max-width:1024px;margin:0 auto;overflow:hidden;@media (max-width:400px){padding-left:24px;padding-bottom:24px;padding-right:24px;padding-top:24px}.content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;h1{text-align:center}}.links{display:flex;align-items:center;gap:12px;a{text-decoration:none;padding:.25rem .5rem;border-radius:4px}.admin{color:white;background:var(--primary-color);border:1px solid var(--primary-color)}.docs{color:var(--text-color);background:var(--surface-color);border:1px solid var(--border-color)}}.footer{display:flex;align-items:center;gap:8px;@media (max-width:1024px){flex-direction:column;gap:6px}p{margin:0}.codeLink{text-decoration:none;padding:0 .5rem;background:var(--secondary-color);color:var(--text-color);border-radius:4px}}}.no-decoration{text-decoration:none}.container{margin:0 auto;padding:.5rem}.page-title{margin-bottom:2rem;text-align:center}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.product-card-content{height:300px;text-decoration:none}.product-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-decoration:none;color:var(--text-color);transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px var(--shadow-color);height:100%}.product-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px var(--shadow-color)}.product-card h3{margin:0 0 1rem;font-size:1.25rem}.product-card p{margin:.5rem 0;opacity:.8}@media (max-width:768px){.container{padding:1rem .5rem}.product-grid{grid-template-columns:1fr;gap:1rem}.product-card{padding:1rem}}.front.hero-section{background-image:url(/heroheader.jpeg);background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;height:80vh;width:100%}.front .hero-card{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem;border-radius:20px;max-width:600px;width:90%;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.15)}.front .hero-card h1{font-family:Playfair Display,serif;font-size:2.5rem;color:#2c2c2c;margin-bottom:1rem;line-height:1.2}.front .hero-card p{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#555;margin-bottom:2rem}.front .button-group{display:flex;justify-content:center;gap:15px}.front .btn{text-decoration:none;padding:12px 28px;border-radius:50px;font-family:Montserrat,sans-serif;font-weight:500;transition:all .3s ease}.btn-primary{background-color:#4a90e2;border:2px solid #4a90e2}.btn-primary:hover{background-color:#357abd;border-color:#357abd}.btn-secondary{background-color:transparent;color:#333;border:2px solid #333}.btn-secondary:hover{background-color:#333;color:white}@media (max-width:768px){.front .hero-card{padding:2rem}.front .hero-card h1{font-size:2rem}.front .button-group{flex-direction:column}}.hero{height:70vh;position:relative}.hero,.hero-image .hero-overlay{display:flex;align-items:center;justify-content:center}.hero-image .hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle,rgba(255,255,255,.5) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);flex-direction:column}.hero-image .hero-overlay .hero-button{position:relative;margin:0 auto;background:transparent;color:var(--text-color);padding:12px 24px;border-radius:8px;text-decoration:none;font-size:1.5rem;font-family:var(--font-serif);font-weight:700;text-align:center;transition:background-color .3s ease,transform .2s ease;box-shadow:none;display:inline-block}.mini-article-grid{padding-left:var(--space-sm);padding-right:var(--space-sm);display:flex;gap:.3rem;margin-bottom:.3rem;flex-direction:row}.mini-article-grid .article-card{height:80px;width:120px;display:flex;flex-direction:column;justify-content:center;padding:1px;line-height:20px;background-color:var(--border-color);color:var(--text-color);border:0;border-radius:14px;text-decoration:none;text-align:center}.mini-article-grid .article-card .article-title{font-size:.9rem;font-family:var(--system-ui)}.mini-article-grid .article-background{position:relative;font-size:150px;right:200px;background:var(--surface-color);opacity:.8}.article-grid{padding-left:var(--space-md);padding-right:var(--space-md)}.article-grid .article-card{background:var(--surface-color);border:0 solid var(--border-color);border-radius:4px;padding:2px;text-decoration:none;color:var(--text-color);transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px var(--shadow-color)}.article-grid .article-card:focus-visible{box-shadow:0 0 0 4px rgba(192,160,98,.35);outline:none}.article-grid .article-card .article-image-container{height:40vh;background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center}.article-grid .article-card .article-image-overlay{background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:3px solid rgba(255,255,255,1);padding:2rem 3rem;border-radius:10px;max-width:600px;width:90%;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.15)}.article-grid .article-card .article-title{font-family:Playfair Display,serif;font-size:2rem;color:var(--color-white);margin-bottom:1rem}.product-detail{max-width:800px;margin:0 auto;padding:2rem 0}.product-detail h1{margin-bottom:1rem;color:var(--primary-color)}.product-description{margin:1.5rem 0;font-size:1.1rem;line-height:1.6}.product-price-section{margin:2rem 0;padding:1rem 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.product-price-section .product-price{font-size:1.5rem;font-weight:700}.product-article{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.product-article h2{margin-bottom:1rem;color:var(--text-color)}.article-content{line-height:1.6}@media (max-width:768px){.product-detail{padding:1rem 0}}.booking-form-container{max-width:600px;margin:0 auto}.booking-form{background:var(--border-color);padding:2rem;border-radius:8px}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background:var(--bg-color);border:1px solid #333;border-radius:4px;color:var(--text-color);font-size:1rem}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{border-color:var(--primary-color)}.form-group input:focus:not(:focus-visible),.form-group select:focus:not(:focus-visible),.form-group textarea:focus:not(:focus-visible){outline:none}.form-group textarea{resize:vertical;font-family:inherit}.btn-primary{background:var(--primary-color);color:white;border:none;padding:1rem 2rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:opacity .2s;width:100%}.btn-primary:hover{opacity:.9}.btn-primary:focus-visible{box-shadow:0 0 0 4px rgba(192,160,98,.35)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.booking-success{text-align:center;padding:3rem 1rem;background:var(--border-color);border-radius:8px;max-width:500px;margin:2rem auto}.booking-success h1{color:var(--primary-color);margin-bottom:1rem}.booking-success p{margin-bottom:2rem;opacity:.9}@media (max-width:768px){.booking-form{padding:1rem}.form-row{grid-template-columns:1fr}.booking-success{padding:2rem 1rem;margin:1rem}}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.blog-card{background:var(--border-color);border-radius:8px;padding:1.5rem;text-decoration:none;color:var(--text-color);transition:transform .2s}.blog-card:hover{transform:translateY(-4px)}.blog-card h3{margin:0 0 1rem;font-size:1.25rem;line-height:1.4}.blog-meta{margin-top:1rem}.blog-date{font-size:.9rem;opacity:.7;color:var(--text-color)}.blog-post{max-width:800px;margin:0 auto;padding:2rem 0}.blog-header{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.blog-header h1{margin-bottom:1rem;font-size:2.5rem;line-height:1.2;color:var(--primary-color)}.blog-header .blog-meta{display:flex;gap:1rem;flex-wrap:wrap}.blog-content{line-height:1.8;font-size:1.1rem}.blog-content p{margin-bottom:1.5rem}.blog-content h2{margin:2rem 0 1rem;color:var(--text-color)}.blog-content h3{margin:1.5rem 0 1rem;color:var(--text-color)}@media (max-width:768px){.blog-grid{grid-template-columns:1fr;gap:1rem}.blog-card{padding:1rem}.blog-post{padding:1rem 0}.blog-header h1{font-size:2rem}.blog-content{font-size:1rem}.blog-header .blog-meta{flex-direction:column;gap:.5rem}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem}.spinner{width:40px;height:40px;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background:#fce1e1;border:1px solid #7f1d1d;border-radius:8px;padding:2rem;text-align:center;margin:2rem auto;max-width:500px}.error-message h2{color:#7f1d1d;margin-bottom:1rem}.error-message p{opacity:.9;margin:0}.card{background:var(--border-color);border-radius:8px;padding:1.5rem;text-decoration:none;color:var(--text-color);transition:transform .2s;display:block}.card:hover{transform:translateY(-2px)}.card h3{margin:0 0 1rem;font-size:1.25rem}.card p{margin:.5rem 0;opacity:.8}.calendar{max-width:400px;margin:0 auto;background:var(--border-color);border-radius:8px;padding:1rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-nav{background:none;border:1px solid var(--text-color);color:var(--text-color);padding:.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.calendar-nav:focus-visible,.calendar-nav:hover{background:var(--primary-color);color:#ffffff}.calendar-nav:focus-visible{box-shadow:0 0 0 3px rgba(192,160,98,.45);outline:none}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:.5rem}.calendar-weekday{text-align:center;font-size:.8rem;padding:.5rem;opacity:.7}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.calendar-day{aspect-ratio:1;border:none;background:var(--bg-color);color:var(--text-color);cursor:pointer;border-radius:4px;font-size:.9rem;transition:background-color .2s}.calendar-day.selected,.calendar-day:hover:not(.disabled){background:var(--primary-color);color:#ffffff}.calendar-day.disabled{opacity:.3;cursor:not-allowed}.calendar-day:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(192,160,98,.45)}.calendar-day.empty{cursor:default;background:transparent}.booking-calendar-container{display:flex;justify-content:center;margin:2rem 0}.booking-subtitle{text-align:center;opacity:.8;margin-bottom:2rem}.size-selector{background:var(--border-color);padding:1.5rem;border-radius:8px;margin:2rem 0}.size-selector h3{margin:0 0 1rem}.size-options{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.size-option{background:var(--bg-color);border:2px solid var(--border-color);color:var(--text-color);padding:1rem;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:border-color .2s;min-width:100px}.size-option.selected,.size-option:hover{border-color:var(--primary-color)}.size-option.selected{background:rgba(0,112,243,.1)}.size-name{font-weight:500}.size-price{color:var(--primary-color);font-weight:700}.size-details{display:flex;flex-direction:column;gap:1rem}.quantity-selector{display:flex;align-items:center;gap:1rem}.quantity-controls{display:flex;align-items:center;gap:.5rem}.quantity-controls button{background:var(--primary-color);color:white;border:none;width:30px;height:30px;border-radius:4px;cursor:pointer;font-size:1rem}.quantity-controls button:disabled{opacity:.5;cursor:not-allowed}.quantity-display{padding:.5rem 1rem;background:var(--bg-color);border-radius:4px;min-width:40px;text-align:center}.total-price{font-size:1.1rem;font-weight:700;color:var(--primary-color)}.add-to-cart-btn{background:var(--primary-color);color:white;border:none;padding:1rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:opacity .2s}.add-to-cart-btn:hover{opacity:.9}.add-to-cart-btn:disabled{opacity:.5;cursor:not-allowed}.no-sizes{text-align:center;opacity:.8;padding:2rem}.booking-header{margin-bottom:2rem}.back-link{color:var(--primary-color);text-decoration:none;margin-bottom:1rem;display:inline-block}.booking-date{margin:.5rem 0;opacity:.8}.booking-product-card{position:relative}.product-sizes{margin-top:1rem;font-size:.9rem}.size-badges{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.size-badge{background:var(--primary-color);color:white;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.no-products{text-align:center;padding:3rem 1rem}.added-message{background:#2d5a2d;color:#90ee90;padding:1rem;border-radius:4px;text-align:center;margin-bottom:2rem}.cart-link{color:var(--primary-color);margin-left:1rem}.product-booking-detail{max-width:600px;margin:0 auto}.booking-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.btn-outline{background:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:1rem 2rem;border-radius:4px;text-decoration:none;display:inline-block;text-align:center;transition:background-color .2s}.btn-outline:hover{background:var(--border-color)}.btn-outline:focus-visible{box-shadow:0 0 0 4px rgba(192,160,98,.35)}.sms-verification{max-width:400px;margin:0 auto;text-align:center}.verification-header{margin-bottom:2rem}.dev-notice{background:#333;color:#ffd166;padding:.5rem;border-radius:4px;font-size:.9rem;margin-top:1rem}.code-input-container{margin:1rem 0}.code-input{width:200px;padding:1rem;font-size:1.5rem;text-align:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:4px;color:var(--text-color);letter-spacing:.5em}.code-input:focus-visible{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(192,160,98,.35);outline:none}.code-input:focus:not(:focus-visible){outline:none}.verify-btn{background:var(--primary-color);color:white;border:none;padding:1rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;margin:1rem 0;width:100%}.verify-btn:focus-visible{box-shadow:0 0 0 4px rgba(192,160,98,.35)}.verify-btn:disabled{opacity:.5;cursor:not-allowed}.resend-section{margin-top:1rem}.resend-btn{background:none;color:var(--primary-color);border:none;cursor:pointer;text-decoration:underline}.resend-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.checkout-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;margin-top:5px}.checkout-form{background:var(--border-color);padding:2rem;border-radius:8px}.form-section{margin-bottom:2rem}.form-section h3{margin:0 0 1rem}.checkout-btn{background:var(--primary-color)}.checkout-btn,.clearcart-btn{color:white;border:none;padding:1rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;width:100%}.clearcart-btn{background:#cc4444}.order-summary{background:var(--border-color);padding:2rem;border-radius:8px;height:-moz-fit-content;height:fit-content}.summary-items{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.summary-item{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid var(--bg-color)}.item-pricing{text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:1.1rem;margin:1rem 0;padding-top:1rem;border-top:2px solid var(--bg-color)}.pickup-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--bg-color)}.pickup-info h4{margin:0 0 1rem}.success-page{text-align:center;max-width:600px;margin:2rem auto;padding:2rem}.success-icon{font-size:4rem;color:#154a19;margin-bottom:1rem}.success-message{font-size:1.1rem;margin:1rem 0 2rem;opacity:.9}.next-steps{background:var(--border-color);padding:1.5rem;border-radius:8px;margin:2rem 0;text-align:left}.next-steps h3{margin:0 0 1rem;text-align:center}.next-steps ul{margin:0;padding-left:1.5rem}.next-steps li{margin:.5rem 0}.success-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}@media (max-width:768px){.cart-content,.checkout-content{grid-template-columns:1fr}.cart-item{flex-direction:column;align-items:flex-start;gap:1rem}.cart-item-controls{width:100%;justify-content:space-between}.size-options{justify-content:center}.booking-actions,.success-actions{flex-direction:column}.item-pricing{text-align:left}.summary-item{flex-direction:column;gap:.5rem}}.signin-page{max-width:500px;margin:0 auto;text-align:center}.signin-subtitle{opacity:.8;margin-bottom:2rem}.signin-form-container{background:var(--border-color);padding:2rem;border-radius:8px;margin-bottom:2rem}.signin-form{text-align:left}.signin-btn{background:var(--primary-color);color:white;border:none;padding:1rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;width:100%}.signin-btn:disabled{opacity:.5;cursor:not-allowed}.signin-btn:focus-visible{box-shadow:0 0 0 4px rgba(192,160,98,.35)}.signin-info{background:var(--border-color);padding:1.5rem;border-radius:8px;text-align:left}.signin-info h3{margin:0 0 1rem}.signin-info ul{margin:0;padding-left:1.5rem}.signin-info li{margin:.5rem 0}.signin-verify-page{max-width:500px;margin:0 auto}.orders-header{justify-content:space-between;margin-bottom:2rem}.customer-info,.orders-header{display:flex;align-items:center}.customer-info{gap:1rem;font-size:.9rem}.sign-out-btn{background:#7f1d1d;color:white;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.sign-out-btn:focus-visible{box-shadow:0 0 0 4px rgba(127,29,29,.4)}.no-orders{text-align:center;padding:3rem 1rem}.orders-list{display:flex;flex-direction:column;gap:1rem}.order-card{background:var(--border-color);padding:1.5rem;border-radius:8px;text-decoration:none;color:var(--text-color);transition:transform .2s;display:block}.order-card:hover{transform:translateY(-2px)}.order-card:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(192,160,98,.35);outline:none}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.order-id{font-weight:700;font-size:1.1rem}.order-status{font-weight:500;padding:.25rem .5rem;border-radius:4px;border:1px solid;background:transparent}.order-details{display:flex;gap:2rem;font-size:.9rem;opacity:.8;margin-bottom:.5rem}.tracking-number{font-size:.8rem;opacity:.7;margin-top:.5rem}.order-detail-header{margin-bottom:2rem}.order-detail-content{display:flex;flex-direction:column;gap:2rem}.order-status-section{background:var(--border-color);padding:1.5rem;border-radius:8px;text-align:center}.status-indicator h3{margin:0 0 .5rem;color:var(--primary-color)}.tracking-info{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bg-color)}.order-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem}.order-summary,.pickup-info{background:var(--border-color);padding:.5rem;border-radius:8px}.order-summary h3,.pickup-info h3{margin:0 0 1rem}.pickup-note{color:var(--primary-color);font-style:italic;margin-top:1rem}.order-items-section{background:var(--border-color);padding:1.5rem;border-radius:8px}.order-items-section h3{margin:0 0 1rem}.order-items-list{display:flex;flex-direction:column;gap:1rem}.order-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-color);border-radius:4px}.order-item h4{margin:0 0 .25rem}.item-specs{font-size:.9rem;opacity:.8}.item-price{font-weight:700;color:var(--primary-color)}.pickup-time{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.pickup-time label{display:inline-block;background:var(--surface-color);color:var(--text-color);padding:1rem;border:2px solid var(--border-color);border-radius:8px;text-align:center;font-size:1rem;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s;flex:1 1;max-width:120px;min-width:100px;box-sizing:border-box}@media (max-width:600px){.pickup-time label{flex:1 1 100%;max-width:100%;min-width:0;margin-bottom:.5rem}}.pickup-time label:hover{background:var(--accent-color);border-color:var(--primary-color);transform:translateY(-2px)}.pickup-time input[type=radio]:checked+label{background:var(--primary-color);color:white;border-color:var(--primary-color);font-weight:700;transform:translateY(-4px)}@media (max-width:768px){.orders-header{flex-direction:column;align-items:flex-start;gap:1rem}.customer-info{align-self:stretch;justify-content:space-between}.order-details{flex-direction:column;gap:.5rem}.order-info-grid{grid-template-columns:1fr}.order-item{flex-direction:column;align-items:flex-start;gap:.5rem}.item-price{align-self:flex-end}}