.booking-list-page,.booking-product-page{min-height:100vh}.booking-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:rgba(255,255,255,.85);margin-bottom:1.5rem}.booking-list-header{text-align:center}.booking-list-title{font-family:var(--font-japanese);font-size:3rem;font-weight:300;color:var(--color-white);margin:0 0 var(--space-xs) 0;letter-spacing:.1em;line-height:1.2}.selected-date{display:flex;flex-direction:column;align-items:center;gap:.5rem}.date-label{font-size:1.2rem;color:rgba(255,255,255,.8);margin:0 0 var(--space-lg) 0;font-weight:300;letter-spacing:.05em}.date-value{font-size:1.1rem;color:var(--color-white);font-weight:500}.no-products-elegant{text-align:center;padding:4rem 2rem;background:#ffffff;border-radius:16px;margin:3rem auto;max-width:500px;box-shadow:0 4px 20px rgba(0,0,0,.04)}.no-products-icon{font-size:3rem;color:var(--color-secondary);margin-bottom:1.5rem;font-family:Noto Sans JP,sans-serif}.no-products-title{font-family:Noto Sans JP,sans-serif;font-size:1.5rem;color:#2c3e50;margin:0 0 1rem;font-weight:400}.no-products-message{color:var(--color-text-secondary);margin:0 0 2rem;line-height:1.6}.choose-date-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:white;text-decoration:none;padding:1rem 2rem;border-radius:50px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 16px rgba(31,60,136,.3)}.choose-date-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(31,60,136,.45)}.btn-arrow{transition:transform .3s ease}.choose-date-btn:hover .btn-arrow{transform:translateX(4px)}.booking-products-section{padding:3rem 0}.products-count{text-align:center;margin-bottom:3rem}.count-number{font-size:2.5rem;font-weight:300;color:var(--color-primary);margin-right:.5rem}.count-text{font-size:1.1rem;color:var(--color-text-secondary);font-weight:300}.available-sizes{margin-bottom:1.5rem}.sizes-label{display:block;font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.8rem;text-align:center;font-weight:300}.size-badges-elegant{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.size-badge-elegant{background:linear-gradient(135deg,var(--color-surface-warm) 0,var(--color-background) 100%);color:var(--color-primary);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid rgba(31,60,136,.25)}.booking-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;opacity:.7;transition:opacity .3s ease}.booking-product-card-elegant:hover .booking-cta{opacity:1}.booking-cta-text{font-size:.9rem;color:var(--color-primary);font-weight:500}.booking-cta-arrow{color:var(--color-primary);transition:transform .3s ease}.booking-product-card-elegant:hover .booking-cta-arrow{transform:translateX(4px)}.booking-product-content{padding:3rem 0}.booking-product-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:start}.booking-image-section{position:-webkit-sticky;position:sticky;top:2rem}.booking-image-container{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.06);background:#ffffff}.booking-product-image{width:100%;height:auto;display:block;transition:transform .6s ease}.booking-product-image:hover{transform:scale(1.02)}.booking-info-section{background:#ffffff;border-radius:16px;padding:3rem;box-shadow:0 4px 20px rgba(0,0,0,.04)}.booking-header-elegant{text-align:center;border-bottom:1px solid rgba(84,64,48,.35);padding-bottom:2rem;margin-bottom:2rem}.booking-product-title{font-size:2rem;font-weight:400;color:#2c3e50;margin:0 0 1rem;line-height:1.3}.pickup-date-elegant{display:flex;flex-direction:column;gap:.5rem}.pickup-label{font-family:Noto Sans JP,sans-serif;font-size:.9rem;color:var(--color-text-secondary);font-weight:300}.pickup-date-value{font-size:1.1rem;color:var(--color-primary);font-weight:500}.booking-description{margin:2rem 0;text-align:center;color:#2c3e50;line-height:1.8}.size-selection-section{margin:2.5rem 0}.section-title{font-family:Noto Sans JP,sans-serif;font-size:1.2rem;color:#2c3e50;margin:0 0 1.5rem;text-align:center;font-weight:400}.booking-navigation{display:flex;gap:1rem;margin-top:3rem;justify-content:center}.continue-shopping-btn{background:transparent;color:var(--color-text-secondary);text-decoration:none;padding:1rem 2rem;border:1px solid rgba(84,64,48,.45);border-radius:50px;transition:all .3s ease}.continue-shopping-btn:hover{background:rgba(109,60,24,.12);color:#2c3e50}.view-cart-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:white;text-decoration:none;padding:1rem 2rem;border-radius:50px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 16px rgba(31,60,136,.3)}.view-cart-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(31,60,136,.45)}.cart-arrow{transition:transform .3s ease}.view-cart-btn:hover .cart-arrow{transform:translateX(4px)}.cart-success-message{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--color-success-light) 0,#dfe9df 100%);border:1px solid rgba(21,74,25,.3);border-radius:12px;padding:1.5rem;margin:2rem 0;box-shadow:0 4px 16px rgba(21,74,25,.12)}.success-icon{background:var(--color-success);color:white;width:40px;height:40px;border-radius:50%;justify-content:center;font-weight:700;flex-shrink:0}.success-content,.success-icon{display:flex;align-items:center}.success-content{gap:1rem;flex-grow:1}.success-text{color:var(--color-success);font-weight:500}.cart-view-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color .3s ease}.cart-view-link:hover{color:#2c3e50}@media (max-width:768px){.booking-list-title{font-size:2rem}.booking-products-grid{grid-template-columns:1fr;gap:2rem;padding:0 .5rem}.booking-product-card-elegant{border-radius:12px}.booking-product-info{padding:1.5rem 1rem}.booking-product-name{font-size:1.1rem}.count-number{font-size:2rem}.count-text{font-size:1rem}.no-products-elegant{margin:2rem auto;padding:3rem 1.5rem}.no-products-title{font-size:1.3rem}.booking-product-layout{grid-template-columns:1fr;gap:2rem}.booking-image-section{position:static}.booking-info-section{padding:2rem 1.5rem}.booking-product-title{font-size:1.6rem}.booking-navigation{flex-direction:column;gap:1rem}.continue-shopping-btn,.view-cart-btn{text-align:center;justify-content:center}.cart-success-message{flex-direction:column;text-align:center;gap:1rem}.success-content{flex-direction:column;gap:.5rem}}.booking-products-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:1rem 0;padding:0 .2rem}.product-card{max-width:40%;min-width:380px;flex:1 1 40%;margin-bottom:1.5rem}.product-card-elegant{background:#ffffff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:all .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 20px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.02);position:relative}.product-card-elegant:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04)}.product-card-elegant:focus-visible{outline:3px solid var(--primary-color);outline-offset:4px;box-shadow:0 0 0 4px rgba(192,160,98,.35),0 12px 32px rgba(0,0,0,.08)}.product-card-elegant:focus-visible .product-image-overlay{opacity:1}.product-card{background-color:#fffef5;width:100%;max-width:490px;padding:15px;box-sizing:border-box;text-align:center;position:relative;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.05);border-radius:4px}.product-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.08)}.card-inner-frame{border:1px solid #c5a065;padding:30px 20px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-radius:2px;box-sizing:border-box}.card-image img{max-width:100%;height:auto;display:block;margin-bottom:20px;mix-blend-mode:multiply}.card-title{margin:0 0 10px;color:#2c2c2c;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;line-height:1.2}.script-font{font-family:Playfair Display,cursive;font-weight:800;font-size:1.8rem;margin-right:5px}.asian-font{font-family:Noto Sans JP,sans-serif;font-weight:400;font-size:1.2rem}.card-desc{font-family:Montserrat,sans-serif;font-size:1rem;margin:0 0 25px;line-height:1.5;font-weight:300}.view-detail-btn{display:inline-block;text-decoration:none;color:#2c2c2c;font-family:Playfair Display,serif;font-size:.85rem;letter-spacing:.05em;padding:8px 24px;border:1px solid #c5a065;border-radius:50px;transition:all .3s ease;background-color:transparent}.view-detail-btn:hover{background-color:#c5a065;color:#ffffff;border-color:#c5a065}.empty-cart{text-align:center;padding:3rem 1rem}.cart-content{display:grid;grid-template-columns:2fr 1fr;grid-gap:2rem;gap:2rem;margin-top:2rem;align-items:flex-start;width:100%;box-sizing:border-box}@media (max-width:900px){.cart-content{grid-template-columns:1fr;gap:2rem}.cart-summary{margin-top:2rem;width:100%}}.cart-items{display:flex;flex-direction:column;gap:1rem}.cart-item{background:var(--border-color);padding:1.5rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.cart-item-details h3{margin:0 0 .5rem}.cart-item-info{display:flex;gap:1rem;font-size:.9rem;opacity:.8}.cart-item-controls{display:flex;align-items:center;gap:1rem}.cart-item-total{font-weight:700;min-width:80px;text-align:right}.remove-btn{background:#cc4444;color:white;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.cart-summary{background:var(--border-color);padding:1.5rem;border-radius:8px;height:-moz-fit-content;height:fit-content}.cart-total{text-align:center;margin-bottom:1.5rem}.cart-actions{display:flex;flex-direction:column;gap:1rem}.cart-actions .btn-primary,.cart-actions .btn-secondary{text-decoration:none;text-align:center}.cart-actions .btn-secondary{background:var(--secondary-color);border:none;padding:1rem 2rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:opacity .2s;width:100%}.cart-item-quantity{width:140px}.cart-item-quantity .quantity-btn{margin-right:.5rem;margin-left:.5rem}