:root{--os-black:#1a1a1a;--os-text:#2d2d2d;--os-text-secondary:#5c5c5c;--os-text-muted:#8a8a8a;--os-bg:#fafafa;--os-bg-pure:#fff;--os-bg-subtle:#f5f5f5;--os-border:#e0e0e0;--os-border-light:#ebebeb;--os-accent:#ff6e0d;--os-accent-hover:#e86200;--os-accent-subtle:#fff4ed;--os-font-display:"Host Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;--os-font-mono:var(--font-family-mono);--os-text-xs:0.64rem;--os-text-sm:0.8rem;--os-text-base:1rem;--os-text-lg:1.25rem;--os-text-xl:1.563rem;--os-text-2xl:1.953rem;--os-text-3xl:2.441rem;--os-space-1:0.25rem;--os-space-2:0.5rem;--os-space-3:0.75rem;--os-space-4:1rem;--os-space-5:1.5rem;--os-space-6:2rem;--os-space-8:3rem;--os-space-10:4rem;--os-space-12:6rem;--os-ease:cubic-bezier(0.4,0,0.2,1);--os-duration-fast:150ms;--os-duration-normal:250ms;--os-duration-slow:400ms;--os-shadow-sm:0 1px 2px rgba(0,0,0,.04);--os-shadow-md:0 4px 12px rgba(0,0,0,.06);--os-shadow-lg:0 8px 24px rgba(0,0,0,.08)}.os-product{background:var(--os-bg);min-height:100vh;padding-top:64px}.os-product__container{margin:0 auto;max-width:1280px;padding:0 var(--os-space-5)}.os-breadcrumb{align-items:center;display:flex;font-family:var(--os-font-mono);font-size:var(--os-text-xs);gap:var(--os-space-2);letter-spacing:.05em;padding:var(--os-space-2) 0;text-transform:uppercase}.os-breadcrumb__link{color:var(--os-text-muted);text-decoration:none;transition:color var(--os-duration-fast) var(--os-ease)}.os-breadcrumb__link:hover{color:var(--os-accent)}.os-breadcrumb__separator{color:var(--os-border)}.os-breadcrumb__current{color:var(--os-text-secondary)}.os-hero{display:grid;gap:var(--os-space-4);grid-template-columns:1fr 1fr;padding:var(--os-space-2) 0 var(--os-space-4)}.os-hero__gallery{position:relative}.os-hero__image-container{aspect-ratio:1;background:var(--os-bg-pure);border-radius:8px;box-shadow:var(--os-shadow-md);overflow:hidden;position:relative}.os-hero__image{height:100%;object-fit:contain;padding:var(--os-space-4);width:100%}.os-hero__thumbnails{display:flex;gap:var(--os-space-2);margin-top:var(--os-space-3)}.os-hero__thumbnail{background:var(--os-bg-pure);border:2px solid transparent;border-radius:6px;cursor:pointer;height:64px;overflow:hidden;padding:0;transition:all var(--os-duration-fast) var(--os-ease);width:64px}.os-hero__thumbnail.active,.os-hero__thumbnail:hover{border-color:var(--os-accent)}.os-hero__thumbnail img{height:100%;object-fit:contain;padding:var(--os-space-1);width:100%}.os-hero__info{display:flex;flex-direction:column;justify-content:center}.os-hero__vendor{color:var(--os-accent);font-family:var(--os-font-mono);font-size:var(--os-text-xs);font-weight:600;letter-spacing:.15em;margin-bottom:var(--os-space-2);text-transform:uppercase}.os-hero__title{color:var(--os-black);font-family:var(--os-font-display);font-size:var(--os-text-3xl);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--os-space-2) 0;text-transform:uppercase}.os-hero__divider{background:var(--os-border);height:1px;margin:var(--os-space-2) 0;width:100%}.os-hero__sku{color:var(--os-text-muted);font-family:var(--os-font-mono);font-size:var(--os-text-sm);letter-spacing:.05em;text-transform:uppercase}.os-hero__price-row{align-items:center;display:flex;gap:var(--os-space-4);margin:var(--os-space-2) 0}.os-hero__price{color:var(--os-black);font-family:var(--os-font-mono);font-size:var(--os-text-2xl);font-weight:700}.os-hero__details-link{align-items:center;color:var(--os-accent);display:inline-flex;font-family:var(--os-font-mono);font-size:var(--os-text-sm);font-weight:600;gap:.3rem;text-decoration:none;transition:color var(--os-duration-fast) var(--os-ease)}.os-hero__details-link:hover{color:var(--os-accent-hover);text-decoration:underline}.os-hero__details-link i{font-size:.7rem}.os-hero__price-compare{color:var(--os-text-muted);font-size:var(--os-text-base);font-weight:400;margin-right:var(--os-space-2);text-decoration:line-through}.os-variants{margin:var(--os-space-3) 0}.os-variants__label{color:var(--os-text-muted);display:block;font-family:var(--os-font-mono);font-size:var(--os-text-xs);font-weight:600;letter-spacing:.1em;margin-bottom:var(--os-space-3);text-transform:uppercase}.os-variants__options{display:flex;flex-wrap:wrap;gap:var(--os-space-2)}.os-variants__option{background:var(--os-bg-pure);border:1px solid var(--os-border);border-radius:6px;color:var(--os-text);cursor:pointer;font-family:var(--os-font-mono);font-size:var(--os-text-sm);font-weight:500;padding:var(--os-space-2) var(--os-space-4);transition:all var(--os-duration-fast) var(--os-ease)}.os-variants__option:hover{border-color:var(--os-text-muted)}.os-variants__option.active{background:var(--os-accent);border-color:var(--os-accent);color:#fff}.os-variants__option.unavailable{cursor:not-allowed;opacity:.4;text-decoration:line-through}.os-hero__actions{flex-direction:column;margin-top:var(--os-space-3)}.os-hero__actions,.os-quantity{display:flex;gap:var(--os-space-3)}.os-quantity{align-items:center}.os-quantity__label{color:var(--os-text-muted);font-family:var(--os-font-mono);font-size:var(--os-text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.os-quantity__controls{align-items:center;border:1px solid var(--os-border);border-radius:6px;display:flex;overflow:hidden}.os-quantity__btn{align-items:center;background:var(--os-bg-pure);border:none;color:var(--os-text-secondary);cursor:pointer;display:flex;font-family:var(--os-font-mono);font-size:var(--os-text-lg);height:40px;justify-content:center;transition:all var(--os-duration-fast) var(--os-ease);width:40px}.os-quantity__btn:hover{background:var(--os-bg-subtle);color:var(--os-text)}.os-quantity__input{-moz-appearance:textfield;background:var(--os-bg-pure);border:none;border-left:1px solid var(--os-border);border-right:1px solid var(--os-border);color:var(--os-text);font-family:var(--os-font-mono);font-size:var(--os-text-base);font-weight:600;height:40px;text-align:center;width:50px}.os-quantity__input::-webkit-inner-spin-button,.os-quantity__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.os-quantity__input:focus{outline:none}.os-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-family:var(--os-font-mono);font-size:var(--os-text-sm);font-weight:600;gap:var(--os-space-2);justify-content:center;letter-spacing:.1em;padding:var(--os-space-4) var(--os-space-6);text-decoration:none;text-transform:uppercase;transition:all var(--os-duration-fast) var(--os-ease)}.os-btn--primary{background:var(--os-accent);color:#fff}.os-btn--primary:hover{background:var(--os-accent-hover);transform:translateY(-1px)}.os-btn--primary:active{transform:translateY(0)}.os-btn--secondary{background:transparent;border:1px solid var(--os-border);color:var(--os-text)}.os-btn--secondary:hover{border-color:var(--os-text-muted)}.os-promo{background:var(--os-black);justify-content:space-between;margin:var(--os-space-3) 0;padding:var(--os-space-5) var(--os-space-6)}.os-promo,.os-promo__content{align-items:center;display:flex}.os-promo__content{gap:var(--os-space-4)}.os-promo__icon{align-items:center;background:hsla(0,0%,100%,.1);border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.os-promo__icon svg{color:var(--os-accent);height:24px;width:24px}.os-promo__text{color:#fff;font-family:var(--os-font-display);font-size:var(--os-text-lg);font-weight:500}.os-promo__cta{background:transparent;border:1px solid var(--os-accent);border-radius:6px;color:var(--os-accent);font-family:var(--os-font-mono);font-size:var(--os-text-xs);font-weight:600;letter-spacing:.1em;padding:var(--os-space-3) var(--os-space-5);text-decoration:none;text-transform:uppercase;transition:all var(--os-duration-fast) var(--os-ease)}.os-promo__cta:hover{background:var(--os-accent);color:#fff}.os-sheet{margin:var(--os-space-3) 0}.os-sheet__header{align-items:center;border-bottom:1px solid var(--os-border);display:flex;justify-content:space-between;padding:var(--os-space-4) 0}.os-sheet__title{color:var(--os-text);font-size:var(--os-text-sm);font-weight:700;letter-spacing:.15em;margin:0}.os-sheet__title,.os-sheet__toggle{font-family:var(--os-font-mono);text-transform:uppercase}.os-sheet__toggle{align-items:center;background:none;border:none;border-radius:4px;color:var(--os-text-muted);cursor:pointer;display:flex;font-size:var(--os-text-xs);gap:var(--os-space-2);letter-spacing:.05em;padding:var(--os-space-2) var(--os-space-3);transition:all var(--os-duration-fast) var(--os-ease)}.os-sheet__toggle:hover{background:var(--os-bg-subtle);color:var(--os-text)}.os-sheet__toggle-icon{height:16px;transition:transform var(--os-duration-normal) var(--os-ease);width:16px}.os-sheet.collapsed .os-sheet__toggle-icon{transform:rotate(-180deg)}.os-sheet__content{max-height:2000px;opacity:1;overflow:hidden;transition:max-height var(--os-duration-slow) var(--os-ease),opacity var(--os-duration-normal) var(--os-ease)}.os-sheet.collapsed .os-sheet__content{max-height:0;opacity:0}.os-table{border-collapse:collapse;margin-top:var(--os-space-4);width:100%}.os-table__head{background:var(--os-bg-subtle)}.os-table__head th{border-bottom:1px solid var(--os-border);color:var(--os-text-muted);font-family:var(--os-font-mono);font-size:var(--os-text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.os-table td,.os-table th,.os-table__head th{padding:var(--os-space-4);text-align:left}.os-table__row{border-bottom:1px dashed var(--os-border-light);transition:all var(--os-duration-fast) var(--os-ease)}.os-table__row:hover{background:var(--os-accent-subtle)}.os-table__row td:first-child{position:relative}.os-table__row td:first-child:before{background:var(--os-accent);bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--os-duration-fast) var(--os-ease);width:3px}.os-table__row:hover td:first-child:before{transform:scaleX(1)}.os-table__row td{color:var(--os-text);font-family:var(--os-font-mono);font-size:var(--os-text-sm);vertical-align:middle}.os-table__sku{color:var(--os-accent)}.os-table__price,.os-table__sku{font-weight:600}.os-table__row td:last-child{text-align:center}.os-table__actions{align-items:center;display:flex;gap:var(--os-space-3);justify-content:center}.os-row-qty{align-items:center;background:var(--os-bg-pure);border:1px solid var(--os-border);border-radius:6px;display:inline-flex;overflow:hidden}.os-row-qty__btn{align-items:center;background:transparent;border:none;color:var(--os-text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--os-font-mono);font-size:var(--os-text-base);height:36px;justify-content:center;transition:all var(--os-duration-fast) var(--os-ease);width:36px}.os-row-qty__btn:hover{background:var(--os-bg-subtle);color:var(--os-text)}.os-row-qty__input{-moz-appearance:textfield;background:transparent;border:none;border-left:1px solid var(--os-border);border-right:1px solid var(--os-border);color:var(--os-text);font-family:var(--os-font-mono);font-size:var(--os-text-sm);font-weight:600;height:36px;text-align:center;width:48px}.os-row-qty__input::-webkit-inner-spin-button,.os-row-qty__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.os-row-qty__input:focus{outline:none}.os-row-add{align-items:center;background:transparent;border:1px solid var(--os-border);border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all var(--os-duration-fast) var(--os-ease);width:36px}.os-row-add.in-cart,.os-row-add:hover{background:var(--os-accent);border-color:var(--os-accent);color:#fff}.os-row-add svg{height:16px;width:16px}.os-sheet__footer{align-items:center;border-top:1px solid var(--os-border);display:flex;gap:var(--os-space-6);justify-content:flex-end;margin-top:var(--os-space-4);padding:var(--os-space-5) 0}.os-sheet__summary{align-items:center;display:flex;font-family:var(--os-font-mono);font-size:var(--os-text-sm);gap:var(--os-space-4)}.os-sheet__count{color:var(--os-text-muted)}.os-sheet__total{color:var(--os-text);font-size:var(--os-text-lg);font-weight:700}.os-sheet__bulk-add{align-items:center;display:flex;gap:var(--os-space-2)}.os-tabs{margin:var(--os-space-3) 0}.os-tabs__nav{border-bottom:1px solid var(--os-border);display:flex;gap:var(--os-space-1)}.os-tabs__btn{background:none;border:none;color:var(--os-text-muted);cursor:pointer;font-family:var(--os-font-mono);font-size:var(--os-text-xs);font-weight:500;letter-spacing:.1em;padding:var(--os-space-4) var(--os-space-5);position:relative;text-transform:uppercase;transition:color var(--os-duration-fast) var(--os-ease)}.os-tabs__btn:after{background:var(--os-accent);bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform var(--os-duration-normal) var(--os-ease)}.os-tabs__btn:hover{color:var(--os-text)}.os-tabs__btn.active{color:var(--os-accent)}.os-tabs__btn.active:after{transform:scaleX(1)}.os-tabs__content{padding:var(--os-space-6) 0}.os-tabs__panel{display:none}.os-tabs__panel.active{animation:fadeIn var(--os-duration-normal) var(--os-ease);display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.os-description{color:var(--os-text-secondary);font-family:var(--os-font-display);font-size:var(--os-text-base);line-height:1.7;max-width:100%}.os-description p{margin:0 0 1rem}.os-description ol,.os-description ul{margin:0 0 1rem 1.5rem}.os-description li{margin-bottom:.5rem}.os-specs{display:grid;gap:var(--os-space-4);grid-template-columns:repeat(2,1fr);max-width:600px}.os-specs__item{border-bottom:1px dashed var(--os-border-light);display:flex;justify-content:space-between;padding:var(--os-space-3) 0}.os-specs__label{color:var(--os-text-muted);letter-spacing:.05em;text-transform:uppercase}.os-specs__label,.os-specs__value{font-family:var(--os-font-mono);font-size:var(--os-text-sm)}.os-specs__value{color:var(--os-text);font-weight:600}@media (max-width:1024px){.os-hero{gap:var(--os-space-6)}.os-hero__title{font-size:var(--os-text-2xl)}}@media (max-width:768px){.os-product{padding-top:52px}.os-product__container{padding:0 var(--os-space-3)}.os-hero{gap:var(--os-space-3);grid-template-columns:1fr;padding:var(--os-space-2) 0}.os-hero__image-container{max-height:400px}.os-hero__title{font-size:var(--os-text-xl)}.os-hero__thumbnails{justify-content:center}.os-promo{gap:var(--os-space-4);padding:var(--os-space-5) var(--os-space-4);text-align:center}.os-promo,.os-promo__content{flex-direction:column}.os-promo__text{font-size:var(--os-text-base)}.os-table{display:none}.os-sheet__cards{display:flex;flex-direction:column;gap:var(--os-space-3);padding-top:var(--os-space-4)}.os-card{background:var(--os-bg-pure);border:1px solid var(--os-border);border-radius:8px;padding:var(--os-space-4)}.os-card__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--os-space-3)}.os-card__sku{color:var(--os-accent);font-size:var(--os-text-sm);font-weight:600}.os-card__price,.os-card__sku{font-family:var(--os-font-mono)}.os-card__price{color:var(--os-text);font-size:var(--os-text-lg);font-weight:700}.os-card__options{display:flex;flex-wrap:wrap;gap:var(--os-space-2);margin-bottom:var(--os-space-4)}.os-card__option{background:var(--os-bg-subtle);border-radius:4px;color:var(--os-text-secondary);font-family:var(--os-font-mono);font-size:var(--os-text-xs);padding:var(--os-space-1) var(--os-space-2)}.os-card__actions{align-items:center;display:flex;justify-content:space-between}.os-sheet.collapsed .os-sheet__cards{display:none}.os-tabs__nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.os-tabs__nav::-webkit-scrollbar{display:none}.os-tabs__btn{flex-shrink:0;padding:var(--os-space-3) var(--os-space-4)}.os-specs{grid-template-columns:1fr}}@media (min-width:769px){.os-sheet__cards{display:none}}.os-btn.loading{opacity:.7;pointer-events:none}.os-btn.loading:after{animation:spin .6s linear infinite;border:2px solid transparent;border-radius:50%;border-top-color:currentcolor;content:"";height:16px;margin-left:var(--os-space-2);width:16px}@keyframes spin{to{transform:rotate(1turn)}}.os-row-add.success{animation:successPulse .4s var(--os-ease)}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.os-row-qty__input.changed{animation:numChange .2s var(--os-ease)}@keyframes numChange{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}