.shop-hero{background-color:var(--color-primary-dark);padding:var(--space-16) 0 var(--space-12);text-align:center}.shop-hero h1{color:var(--color-white);margin-bottom:var(--space-3)}.shop-hero p{color:var(--color-accent-light);max-width:540px;margin-inline:auto}.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;font-size:var(--text-sm);color:var(--color-gray-400)}.breadcrumbs a{color:var(--color-gray-500);transition:color var(--duration-fast) var(--ease-out)}.breadcrumbs a:hover{color:var(--color-primary)}.breadcrumbs__sep{color:var(--color-gray-300)}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) 0;border-bottom:var(--border-thin);margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.shop-toolbar__count{font-size:var(--text-sm);color:var(--color-gray-500)}.shop-toolbar__controls{display:flex;align-items:center;gap:var(--space-4)}.shop-toolbar__sort{padding:var(--space-2) var(--space-4);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer}.shop-toolbar__sort:focus{outline:none;border-color:var(--color-primary)}.shop-toolbar__view-toggle{display:flex;gap:var(--space-1)}.shop-toolbar__view-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-gray-400);transition:all var(--duration-fast) var(--ease-out)}.shop-toolbar__view-btn--active,.shop-toolbar__view-btn:hover{background-color:var(--color-gray-100);color:var(--color-primary)}.shop-toolbar__view-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}.shop-toolbar__filters{display:flex;gap:var(--space-2);flex-wrap:wrap}.shop-toolbar__right{display:flex;align-items:center;gap:var(--space-4)}.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--space-8)}.shop-layout--full{grid-template-columns:1fr}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background-color:#111110d9;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.search-overlay__inner{width:100%;max-width:600px;padding:0 var(--space-6)}.search-overlay__input{width:100%;padding:var(--space-5) var(--space-6);font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-white);background:transparent;border:none;border-bottom:2px solid var(--color-accent);outline:none}.search-overlay__input::placeholder{color:var(--color-gray-400)}.search-overlay__close{position:absolute;top:var(--space-6);right:var(--space-6);width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--color-white)}.search-overlay__close svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}.shop-sidebar{position:sticky;top:96px;align-self:start}.filter-group{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:var(--border-thin)}.filter-group:last-child{border-bottom:none}.filter-group__title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-700);margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:space-between;cursor:pointer}.filter-group__title svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;transition:transform var(--duration-fast) var(--ease-out)}.filter-group.is-closed .filter-group__title svg{transform:rotate(-90deg)}.filter-group.is-closed .filter-group__options{display:none}.filter-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-gray-600);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.filter-option:hover{color:var(--color-primary)}.filter-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.filter-option__count{margin-left:auto;font-size:var(--text-xs);color:var(--color-gray-400)}.active-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.active-filter{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background-color:var(--color-accent-light);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-primary-dark)}.active-filter__remove{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-primary);transition:background-color var(--duration-fast) var(--ease-out)}.active-filter__remove:hover{background-color:#2d6a4f26}.active-filter__remove svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none}@media (max-width: 1024px){.shop-layout{grid-template-columns:1fr}.shop-sidebar{position:static}.product-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.product-grid{grid-template-columns:1fr}.shop-toolbar{flex-direction:column;align-items:flex-start}.shop-toolbar__right{width:100%;justify-content:space-between}}.pdp{padding-top:var(--space-8)}.pdp__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.pdp__gallery{position:sticky;top:96px}.pdp__main-image{width:100%;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-gray-100);margin-bottom:var(--space-4)}.pdp__main-image img{width:100%;height:100%;object-fit:cover}.pdp__thumbnails{display:flex;gap:var(--space-3)}.pdp__thumb{width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);opacity:.6}.pdp__thumb--active,.pdp__thumb:hover{border-color:var(--color-primary);opacity:1}.pdp__thumb img{width:100%;height:100%;object-fit:cover}.pdp__info{padding-top:var(--space-4)}.pdp__category{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:var(--space-3)}.pdp__title{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.pdp__rating{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--text-sm);color:var(--color-gray-500)}.pdp__rating-stars{display:flex;gap:2px;color:var(--color-warning)}.pdp__rating-stars svg{width:16px;height:16px;fill:currentColor}.pdp__price-block{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:var(--border-thin)}.pdp__price{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-gray-800)}.pdp__price-old{font-size:var(--text-lg);color:var(--color-gray-400);text-decoration:line-through}.pdp__desc{font-size:var(--text-base);color:var(--color-gray-600);line-height:var(--leading-loose);margin-bottom:var(--space-6)}.pdp__fulfillment{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-gray-100);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--text-sm)}.pdp__fulfillment-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-light);border-radius:var(--radius-full);color:var(--color-primary-dark);flex-shrink:0}.pdp__fulfillment-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none}.pdp__fulfillment-label{font-weight:var(--weight-semibold);color:var(--color-gray-700)}.pdp__fulfillment-desc{font-size:var(--text-xs);color:var(--color-gray-500)}.pdp__variant-group{margin-bottom:var(--space-5)}.pdp__variant-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);margin-bottom:var(--space-3)}.pdp__variant-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pdp__variant-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);color:var(--color-gray-600);background-color:var(--color-white);transition:all var(--duration-fast) var(--ease-out)}.pdp__variant-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.pdp__variant-btn--active{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-white)}.pdp__actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);margin-bottom:var(--space-8)}.quantity-selector{display:flex;align-items:center;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden}.quantity-selector__btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);color:var(--color-gray-600);transition:background-color var(--duration-fast) var(--ease-out)}.quantity-selector__btn:hover{background-color:var(--color-gray-100)}.quantity-selector__value{width:48px;text-align:center;font-weight:var(--weight-semibold);font-size:var(--text-base);border:none;background:none}.quantity-selector__value:focus{outline:none}.pdp__tabs{border-top:var(--border-thin);margin-top:var(--space-8)}.pdp__tab-list{display:flex;border-bottom:var(--border-thin)}.pdp__tab{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-gray-500);border-bottom:2px solid transparent;transition:all var(--duration-fast) var(--ease-out)}.pdp__tab:hover{color:var(--color-gray-700)}.pdp__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pdp__tab-panel{padding:var(--space-8) 0;display:none}.pdp__tab-panel--active{display:block}.pdp__tab-panel p{line-height:var(--leading-loose);margin-bottom:var(--space-4)}.pdp__tab-panel ul{padding-left:var(--space-6);list-style:disc}.pdp__tab-panel ul li{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-600);line-height:var(--leading-normal)}.related-products{padding-top:var(--space-16);border-top:var(--border-thin)}@media (max-width: 768px){.pdp__layout{grid-template-columns:1fr;gap:var(--space-8)}.pdp__gallery{position:static}.pdp__actions{flex-direction:column}.pdp__actions .btn{width:100%}}
