.product-detail{min-height:100vh;background:transparent;padding-top:var(--page-offset-desktop);padding-bottom:3rem}.product-detail-loading-content{align-items:start}.product-detail-loading-action,.product-detail-loading-line,.product-detail-loading-media{background:var(--color-bg-card)}.product-detail-loading-media{aspect-ratio:1/1;width:100%}.product-detail-loading-details{display:flex;flex-direction:column;gap:1rem;padding-left:clamp(0rem,2vw,2rem);width:100%}.product-detail-loading-line{height:var(--font-size-body);width:100%}.product-detail-loading-line-short{width:30%}.product-detail-loading-line-title{height:var(--font-size-xl);width:70%}.product-detail-loading-line-body{width:85%}.product-detail-loading-action{height:3rem;margin-top:1rem;width:100%}.product-detail-loading-pulse{animation:product-detail-loading-pulse 1.2s ease-in-out infinite alternate}@keyframes product-detail-loading-pulse{0%{opacity:.6}to{opacity:1}}.product-detail-content{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-gap:clamp(1.5rem,4vw,4rem);gap:clamp(1.5rem,4vw,4rem);background:transparent;padding:clamp(1.5rem,3vw,2rem) 0 clamp(3rem,5vw,4rem);position:relative}.product-image-section{justify-content:flex-start;position:-webkit-sticky;position:sticky;top:var(--page-offset-desktop);align-self:flex-start;height:-moz-fit-content;height:fit-content;max-height:calc(100svh - var(--page-offset-desktop));overflow-y:auto}.product-image-gallery,.product-image-section{display:flex;align-items:flex-start;min-width:0}.product-image-gallery{gap:1rem;width:100%}.image-thumbnails{display:flex;flex-direction:column;gap:.75rem;flex:0 0 5rem}.thumbnail-btn{background:none;border:1px solid transparent;padding:0;cursor:pointer;transition:all .2s ease;width:100%;aspect-ratio:1/1;height:auto;overflow:hidden}.thumbnail-btn:hover{border-color:transparent}.thumbnail-btn.active{border-color:var(--color-border-light)}.thumbnail-btn img{width:100%;height:100%;object-fit:cover}.main-image-container{flex:1 1;display:flex;align-items:center;justify-content:center;min-width:0}.product-detail-image{width:100%;max-width:600px;aspect-ratio:1/1;object-fit:cover;display:block}.product-options-section{display:flex;flex-direction:column;gap:1.5rem;min-width:0;padding-left:clamp(0rem,2vw,2rem);background:transparent;position:relative;z-index:1}.product-category-tag{display:inline-block;background:transparent;padding:0;margin-bottom:.5rem}.product-title{margin:0}.product-availability-notice{background:var(--color-bg-card);border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem}.product-availability-copy,.product-availability-eyebrow{margin:0}.section-title{margin:0 0 1rem}.quantity-section{margin:1.5rem 0}.quantity-selector{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.quantity-controls{display:flex;align-items:center;gap:0}.quantity-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:1px solid var(--color-text-main)}.quantity-btn-decrease{background:var(--color-text-inverse);color:var(--color-text-main);border-right:none}.quantity-btn-decrease:hover{background:var(--color-black);color:var(--color-text-inverse)}.quantity-display{width:50px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-text-main);border-right:none}.quantity-btn-increase,.quantity-display{background:var(--color-text-inverse);border-left:none}.quantity-btn-increase{color:var(--color-text-main)}.quantity-btn-increase:hover{background:var(--color-black);color:var(--color-text-inverse)}.quantity-btn:disabled{background:var(--color-bg-card);border-color:var(--color-border-light);color:var(--color-text-secondary);cursor:not-allowed}.order-summary{background:var(--color-bg-summary);padding:2rem}.summary-details{margin:1rem 0 2rem}.summary-details p{margin:.5rem 0}.box-breakdown{margin:1rem 0}.box-quantity-item{margin:.25rem 0!important;padding-left:1rem}.add-to-cart-section{margin-top:2rem}.add-to-cart-btn{width:100%;gap:.5rem}.box-configuration-step{display:flex;align-items:center;justify-content:space-between;gap:1rem}.box-configuration-back{border:0;background:transparent;cursor:pointer;padding:0}.save-box-btn{align-self:flex-start}.box-review{background:var(--color-bg-summary);border:1px solid var(--color-border-light);padding:clamp(1.25rem,3vw,2rem)}.box-review-card-header,.box-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.box-review-card-header h3,.box-review-heading h2{margin:0}.box-review-eyebrow{display:block;margin-bottom:.35rem}.box-review-cart-link,.box-review-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;flex:0 0 auto;padding:0;text-decoration:underline;text-underline-offset:.2em}.box-review-intro{margin:.85rem 0 1.5rem}.box-review-list{display:grid;grid-gap:.75rem;gap:.75rem}.box-review-card{background:var(--color-text-inverse);border:1px solid var(--color-border-light);padding:1.1rem}.box-review-selections{display:grid;grid-gap:.75rem;gap:.75rem;margin:1.1rem 0 0}.box-review-selections>div{display:grid;grid-gap:.15rem;gap:.15rem}.box-review-selections dd,.box-review-selections dt{margin:0}.additions-options,.flavors-options,.note-section{display:flex;flex-direction:column;gap:1rem}.addition-item,.flavor-item{display:flex;flex-direction:column;gap:.5rem}.flavor-item-unavailable{opacity:.58}.flavor-input:disabled{cursor:not-allowed;background:var(--color-bg-card)}.flavor-unavailable{font-style:italic}.addition-option{display:flex;align-items:flex-start;gap:.5rem}.shape-quantity-selector{display:inline-flex;align-items:center;gap:.5rem}.flavor-input,.note-input,.shape-quantity-btn,.shape-quantity-input{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-text-inverse)}.shape-quantity-btn{min-width:2.25rem;min-height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.flavor-input,.shape-quantity-input{width:5rem;padding:.625rem .75rem}.shape-label{display:block}.note-input{min-height:7rem;padding:.875rem 1rem;resize:vertical}.error-text,.success-text{margin-top:.75rem}.validation-errors{margin:1rem 0;padding:1rem;background:var(--color-bg-error)}.validation-warnings{margin:1rem 0;padding:1rem;background:var(--color-bg-warning)}.error-text{color:var(--color-error);margin:.25rem 0}.warning-text{color:var(--color-warning);margin:.25rem 0}.success-text{color:var(--color-success);margin:.5rem 0;text-align:center}@media (max-width:1023px){.product-detail-content{grid-template-columns:1fr;gap:2rem}.product-image-section{position:static;max-height:none;overflow:visible}.product-options-section{padding-left:0}}.product-info-accordion{margin-top:2rem;display:flex;flex-direction:column;gap:0;border-top:1px dashed var(--color-border-dashed)}.accordion-item,.product-info-accordion{border-bottom:1px dashed var(--color-border-dashed)}.accordion-item:last-child{border-bottom:none}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;background:none;border:none;cursor:pointer;text-align:left;transition:color .2s ease}.accordion-icon{color:var(--color-text-secondary);transition:transform .3s ease,color .2s ease;flex-shrink:0;margin-left:1rem}.accordion-content{padding:0 0 1.25rem;animation:slideDown .3s ease-out;overflow:hidden}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.accordion-content p{margin:0}@media (max-width:480px){.product-detail{padding-top:var(--page-offset-mobile);padding-bottom:2rem}.product-detail-content{gap:1.5rem;padding-top:1rem;padding-bottom:2.5rem}.product-detail-loading-details{padding-left:0}.product-image-gallery{flex-direction:column-reverse;gap:.75rem}.image-thumbnails{flex-direction:row;flex-wrap:wrap;flex:0 0 auto;gap:.5rem}.thumbnail-btn{width:64px}.product-options-section{gap:1.25rem}.product-category-tag{margin-bottom:.25rem}.quantity-section{margin:1rem 0}.quantity-selector{align-items:flex-start;gap:.75rem}.add-to-cart-section{margin-top:1.25rem}.accordion-header{padding:1rem 0}.order-summary{padding:1.25rem}.box-review-card-header,.box-review-heading{align-items:flex-start}}