.back-navigation-bar{background-color:#f4ede6;border-bottom:1px solid #2c181014;width:100%}.back-navigation-content{align-items:center;max-width:1300px;margin:0 auto;padding:.75rem 1.5rem;display:flex}.back-navigation-button{color:var(--color-text-title,#2c1810);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1rem;font-weight:600;transition:background-color .3s,color .3s,transform .3s;display:inline-flex}.back-navigation-button:focus{outline-offset:2px;outline:2px solid #004b264d}.back-navigation-button:hover{color:#004b26;background-color:#004b261a;transform:translate(-2px)}.back-navigation-icon{font-size:1.2rem;line-height:1}@media (max-width:768px){.back-navigation-content{padding:.75rem 1rem}.back-navigation-button{font-size:.95rem}}
.image-carousel{flex-direction:column;gap:1.5rem;display:flex}.image-carousel__frame{aspect-ratio:4/3;isolation:isolate;background:linear-gradient(135deg,#0c7e522e,#ffffff80);border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 45px #1b3b2a2e}.image-carousel__frame:focus{outline:none}.image-carousel__frame:focus-visible{outline-offset:4px;outline:3px solid #0c7e52a6}.image-carousel__main-image{object-fit:cover;transform-origin:50%;width:100%;height:100%;transition:transform .6s}.image-carousel__frame:hover .image-carousel__main-image{transform:scale(1.03)}.image-carousel__placeholder{background:repeating-linear-gradient(45deg,#fff6,#fff6 10px,#ececec99 10px 20px);width:100%;height:100%}.image-carousel__control{color:#0c7e52;cursor:pointer;z-index:2;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.9rem;line-height:1;transition:transform .3s,box-shadow .3s,background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 25px #0d3e2c33}.image-carousel__control:hover{transform:translateY(-50%)scale(1.05);box-shadow:0 12px 28px #0d3e2c40}.image-carousel__control:focus-visible{outline-offset:3px;outline:3px solid #0c7e52a6}.image-carousel__control--previous{left:1.25rem}.image-carousel__control--next{right:1.25rem}.image-carousel__thumbnails{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.image-carousel__thumbnail{cursor:pointer;background:#ffffffd9;border:none;border-radius:12px;padding:.25rem;transition:transform .3s,box-shadow .3s,background .3s;box-shadow:0 8px 20px #1b3b2a1f}.image-carousel__thumbnail img{object-fit:cover;border-radius:10px;width:70px;height:70px;display:block}.image-carousel__thumbnail:hover,.image-carousel__thumbnail:focus-visible{background:#0c7e521a;transform:translateY(-4px)}.image-carousel__thumbnail.is-active{background:#0c7e5226;box-shadow:0 14px 30px #0c7e5233}@media (max-width:768px){.image-carousel__frame{border-radius:14px}.image-carousel__control{width:38px;height:38px;font-size:1.5rem}.image-carousel__thumbnail img{width:62px;height:62px}}@media (max-width:576px){.image-carousel{gap:1rem}.image-carousel__thumbnails{justify-content:flex-start;padding-bottom:.5rem;overflow-x:auto}.image-carousel__thumbnail{flex:none}}
.product-detail{max-width:1300px;font-family:var(--font-body);background-color:#fdfdfd;flex-direction:column;gap:2rem;margin:0 auto;padding:2rem 1rem;display:flex}.product-detail-hero{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%}.image-gallery{flex-direction:column;gap:1rem;display:flex}.main-image{aspect-ratio:4/3;border-radius:16px;width:100%;overflow:hidden;box-shadow:0 8px 20px #00000014}.main-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.thumbnail-list{flex-wrap:wrap;justify-content:center;gap:.75rem;padding:.5rem 0;display:flex}.thumbnail-image{object-fit:cover;cursor:pointer;border-radius:12px;width:72px;height:72px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 12px #0000000d}.thumbnail-image:hover{transform:scale(1.05);box-shadow:0 6px 15px #0000001a}.product-info{background:#fff;border-radius:16px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 2px 12px #0000000f}.product-info .product-info__title{font-family:var(--font-title);color:var(--color-text-title,#2c1810);letter-spacing:1px;margin:0;font-size:2rem}.price{color:var(--color-primary,#004b26);font-size:1.6rem;font-weight:600}.customization-section{background-color:#fafafa;border:1px solid #004b261a;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.customization-section h3{color:var(--color-primary,#004b26);font-family:var(--font-title);letter-spacing:.5px;margin-bottom:.5rem;font-size:1.4rem}.form-label{color:var(--color-text-title,#2c1810);margin-bottom:.5rem;font-weight:600}.form-select,.form-control{background-color:#fff;border:1px solid #004b2633;border-radius:10px;padding:.75rem .9rem}.form-select:focus,.form-control:focus{border-color:var(--color-primary,#004b26);box-shadow:0 0 0 .2rem #004b2640}.tier-part-group.is-disabled{opacity:.5}.tier-part-group .form-select:disabled{cursor:not-allowed;background-color:#f5f5f5}.form-text{color:#666;margin-top:.25rem;font-size:.85rem}.flavor-select-group{flex-direction:column;gap:.5rem;display:flex}.flavor-select-row{align-items:center;gap:.5rem;display:flex}.flavor-select-row .form-select{flex:1}.flavor-add-button{align-self:flex-start;margin-top:.25rem}.flavor-remove-button{flex-shrink:0}.flavor-quantity-group{flex-direction:column;gap:.5rem;display:flex}.flavor-quantity-row{align-items:center;gap:.75rem;display:flex}.flavor-name{flex:1;font-size:.95rem}.flavor-quantity-row .form-control{text-align:center;flex-shrink:0;width:80px;padding:.4rem .6rem}.flavor-total{color:#555;margin-top:.25rem;font-size:.9rem}.availability-alert{border-radius:10px}.availability-alert--unavailable{background-color:#fff3cd;border-color:#ffc107}.quantity-selector{justify-content:center;align-items:center;gap:1rem;margin:1rem 0;display:flex}.quantity-selector button{border:1px solid var(--color-primary,#004b26);width:40px;height:40px;color:var(--color-primary,#004b26);cursor:pointer;background:0 0;border-radius:50%;font-size:1.1rem;transition:background-color .3s,color .3s}.quantity-selector button:hover{background-color:var(--color-primary,#004b26);color:#fff}.quantity-selector span{text-align:center;min-width:30px;font-size:1.1rem;font-weight:500}.add-to-cart{background-color:var(--color-primary,#004b26);color:#fff;border:none;border-radius:10px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:transform .3s,box-shadow .3s,background-color .3s}.add-to-cart:hover:not(:disabled){background-color:#026a3e;transform:translateY(-1px);box-shadow:0 6px 18px #004b2633}.add-to-cart:disabled{opacity:.6;cursor:not-allowed}.add-to-cart-hint{color:#6b5d4f;text-align:center;margin:.6rem 0 0;font-size:.9rem}.product-details{flex-direction:column;gap:2rem;display:flex}.detail-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 18px #0000000d}.detail-section h3{font-family:var(--font-title);color:var(--color-primary,#004b26);letter-spacing:1px;margin-bottom:.75rem;font-size:1.3rem}.detail-section p,.detail-section ul li{color:#4a4a4a;line-height:1.7}.detail-section ul{padding-left:0;list-style:inside}.photo-credit{color:#888;margin-top:.75rem;font-size:.85rem;font-style:italic}.tier-section{background:#f8fdf9;border:1px solid #004b261f;border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.tier-section h4{color:var(--color-primary,#004b26);margin-bottom:.75rem;font-size:1rem;font-weight:600}.stage-flavor-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.stage-flavor-row label{color:#444;min-width:80px;font-size:.9rem;font-weight:500}@media (max-width:992px){.product-info{padding:1.5rem}.product-info .product-info__title{font-size:1.8rem}}@media (max-width:768px){.main-image{aspect-ratio:3/2}.product-info .product-info__title{font-size:1.6rem}.detail-section{padding:1.25rem}}@media (max-width:576px){.product-detail{padding:1.5rem .75rem}.thumbnail-image{width:60px;height:60px}.add-to-cart{font-size:.95rem}.detail-section{padding:1rem}}@media (prefers-reduced-motion:reduce){.thumbnail-image,.add-to-cart,.quantity-selector button{transition:none}}.flavor-total--top{color:#1f3b2c;background:#004b260f;border-radius:8px;padding:.5rem .75rem}.flavor-total__hint{color:#6b5d4f}.flavor-chips{flex-wrap:wrap;gap:.5rem;display:flex}.flavor-chip{background:#fff;border:1px solid #004b2640;border-radius:999px;align-items:center;transition:border-color .2s,background-color .2s;display:inline-flex;overflow:hidden}.flavor-chip--active{border-color:var(--color-primary,#004b26);background:#004b260f}.flavor-chip__btn{width:40px;height:40px;color:var(--color-primary,#004b26);cursor:pointer;background:0 0;border:none;font-size:1.2rem;line-height:1}.flavor-chip__btn:disabled{color:#b9c4bd;cursor:not-allowed}.flavor-chip__label{white-space:nowrap;align-items:center;gap:.4rem;padding:0 .25rem;font-size:.92rem;display:inline-flex}.flavor-chip__count{background:var(--color-primary,#004b26);color:#fff;text-align:center;border-radius:999px;min-width:1.5rem;padding:0 .4rem;font-size:.8rem;font-weight:600}.related-products{margin-top:3rem}.related-products__title{font-family:var(--font-title);color:var(--color-text-title,#2c1810);margin-bottom:1rem;font-size:1.4rem}.related-product-card{color:inherit;background:#fff;border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:0 2px 12px #0000000f}.related-product-card:hover{color:inherit;transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.related-product-card__image{background:#f3efe9;height:160px;position:relative}.related-product-card__body{justify-content:space-between;align-items:baseline;gap:.5rem;padding:.75rem .9rem;display:flex}.related-product-card__name{font-weight:500}.related-product-card__price{color:var(--color-primary,#004b26);white-space:nowrap;font-weight:600}@media (max-width:768px){.add-to-cart-zone{z-index:5;padding:.75rem 1.5rem calc(.75rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff5;margin:0 -1.5rem;position:sticky;bottom:0;box-shadow:0 -6px 16px #0000000f}}
