.product-page{padding:calc(var(--header-height) + var(--space-8)) 0 var(--space-20);background:var(--white);min-height:100vh}.breadcrumb{align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);text-transform:uppercase;display:flex}.breadcrumb a{color:var(--gray-500);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}.breadcrumb a:hover{color:var(--pine-green)}.breadcrumb .separator{color:var(--gray-300)}.breadcrumb .current{color:var(--dark);font-weight:var(--fw-medium)}.product-layout{gap:var(--space-16);margin-bottom:var(--space-16);grid-template-columns:1.2fr 1fr;display:grid}.product-gallery{gap:var(--space-4);height:min-content;top:calc(var(--header-height) + var(--space-8));display:flex;position:sticky}.product-gallery-thumbnails{gap:var(--space-3);flex-direction:column;flex-shrink:0;width:80px;display:flex}.thumbnail-btn{aspect-ratio:3/4;border-radius:var(--radius-sm);cursor:pointer;background:var(--cream);width:100%;transition:all var(--duration-fast) var(--ease-out);border:1.5px solid #0000;padding:0;position:relative;overflow:hidden}.thumbnail-btn img{opacity:.6;transition:opacity var(--duration-fast) var(--ease-out)}.thumbnail-btn:hover img{opacity:.9}.thumbnail-btn.active{border-color:var(--pine-green)}.thumbnail-btn.active img{opacity:1}.product-gallery-main{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--cream);flex:1;position:relative;overflow:hidden}.product-badge{top:var(--space-4);left:var(--space-4);z-index:2;position:absolute}.product-info{flex-direction:column;display:flex}.product-category-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--gray-400);margin-bottom:var(--space-2)}.product-title{font-family:var(--font-primary);font-size:var(--fs-4xl);font-weight:var(--fw-light);color:var(--dark);margin-bottom:var(--space-4);line-height:1.1}.product-price-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--pine-green-10);display:flex}.product-price-row .price-current{font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--pine-green)}.product-price-row .price-compare{font-size:var(--fs-lg);color:var(--gray-400);text-decoration:line-through}.product-short-desc{font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--gray-600);margin-bottom:var(--space-8)}.product-options{gap:var(--space-6);margin-bottom:var(--space-8);flex-direction:column;display:flex}.option-group{gap:var(--space-3);flex-direction:column;display:flex}.option-header{justify-content:space-between;align-items:center;display:flex}.option-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--dark)}.option-selected{font-size:var(--fs-sm);color:var(--gray-500)}.size-guide-btn{font-size:var(--fs-xs);color:var(--pine-green);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.color-options{gap:var(--space-3);flex-wrap:wrap;display:flex}.color-btn{border-radius:var(--radius-full);border:2px solid var(--white);width:32px;height:32px;box-shadow:0 0 0 1px var(--gray-300);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.color-btn.active{box-shadow:0 0 0 2px var(--pine-green)}.size-options{gap:var(--space-3);flex-wrap:wrap;display:flex}.size-btn{border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);min-width:44px;height:44px;color:var(--dark);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:flex}.size-btn:hover:not(.disabled){border-color:var(--pine-green)}.size-btn.active{background:var(--pine-green);border-color:var(--pine-green);color:var(--white)}.size-btn.disabled{opacity:.4;cursor:not-allowed;background:var(--gray-100);text-decoration:line-through}.qty-selector{border:1px solid var(--gray-300);border-radius:var(--radius-full);align-items:center;width:max-content;display:flex;overflow:hidden}.qty-selector button{width:40px;height:40px;font-size:var(--fs-lg);color:var(--pine-green);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.qty-selector button:hover{background:var(--pine-green-10)}.qty-selector span{text-align:center;width:40px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--dark)}.product-actions{margin-bottom:var(--space-8)}.product-add-btn{height:54px;font-size:var(--fs-sm);letter-spacing:var(--ls-widest)}.product-accordion{border-top:1px solid var(--pine-green-10)}.accordion-item{border-bottom:1px solid var(--pine-green-10)}.accordion-header{padding:var(--space-5) 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--dark);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.accordion-header::-webkit-details-marker{display:none}.accordion-header svg{width:20px;height:20px;transition:transform var(--duration-base) var(--ease-out);color:var(--pine-green)}details[open] .accordion-header svg{transform:rotate(180deg)}.accordion-content{padding-bottom:var(--space-5);font-size:var(--fs-sm);color:var(--gray-600);line-height:var(--lh-relaxed)}.accordion-content p{margin-bottom:var(--space-3)}.accordion-content ul{padding-left:var(--space-5);margin-bottom:var(--space-3)}.accordion-content li{margin-bottom:var(--space-1)}.product-benefits{gap:var(--space-4);padding:var(--space-8);background:var(--off-white);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);display:grid}.benefit-item{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.benefit-icon{font-size:var(--fs-2xl)}.benefit-text{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--pine-green);text-transform:uppercase;letter-spacing:var(--ls-wide)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--duration-fast) var(--ease-out);background:#1a1a1a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:600px;box-shadow:var(--shadow-xl);animation:slideUp var(--duration-base) var(--ease-out);overflow:hidden}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--pine-green-10);background:var(--off-white);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--pine-green)}.modal-close{color:var(--gray-400);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;font-size:28px}.modal-close:hover{color:var(--dark)}.modal-body{padding:var(--space-6)}.size-table{border-collapse:collapse;width:100%;margin-bottom:var(--space-6)}.size-table th,.size-table td{padding:var(--space-3);text-align:center;border-bottom:1px solid var(--pine-green-10);font-size:var(--fs-sm)}.size-table th{background:var(--off-white);font-weight:var(--fw-semibold);color:var(--pine-green)}.size-table tbody tr:hover{background:#0e665905}.size-note{font-size:var(--fs-sm);color:var(--gray-600);text-align:center;padding:var(--space-4);border-radius:var(--radius-sm);background:#ffedb14d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.product-layout{gap:var(--space-8);grid-template-columns:1fr 1fr}}@media (max-width:768px){.product-layout{gap:var(--space-8);grid-template-columns:1fr}.product-gallery{flex-direction:column-reverse;position:static}.product-gallery-thumbnails{width:100%;padding-bottom:var(--space-2);flex-direction:row;overflow-x:auto}.thumbnail-btn{width:60px;height:80px}.product-title{font-size:var(--fs-3xl)}.product-benefits{gap:var(--space-6);grid-template-columns:repeat(2,1fr)}}
