.firmware-hero{padding:var(--space-6) 0 var(--space-8);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6)}.firmware-hero__title{font-size:var(--text-h1);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight);margin:0 0 var(--space-3) 0;letter-spacing:var(--tracking-tight)}.firmware-hero__version-info{font-size:.9375rem;font-weight:500;color:var(--color-text-muted);margin:0 0 var(--space-2) 0;line-height:var(--leading-normal)}.firmware-hero__subtitle{font-size:var(--text-body);font-weight:400;color:var(--color-text-muted);margin:0 0 var(--space-2) 0;line-height:var(--leading-normal)}.firmware-hero__variation{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-2) 0 0 0;padding:var(--space-2) var(--space-4);background:var(--color-bg-soft);border-radius:var(--radius);display:inline-block}.firmware-hero__variation-name{font-family:SF Mono,Monaco,monospace;font-size:var(--text-sm);color:var(--color-text);font-weight:var(--font-medium);background:var(--color-bg);padding:var(--space-1) var(--space-2);border-radius:4px;border:1px solid var(--color-border)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--text-muted-size);color:var(--color-text-muted);margin-bottom:var(--space-4)}.breadcrumbs__separator{color:var(--color-text-muted);user-select:none}.breadcrumbs__item a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-motion, .22s ease),transform var(--transition-motion, .22s ease);display:inline-block}.breadcrumbs__item a:hover{text-decoration:none;transform:translateY(-2px) scale(1.02)}.breadcrumbs__item--current{color:var(--color-text);font-weight:var(--font-medium)}.firmware-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-8);padding:var(--main-padding-block-start) 0 var(--main-padding-block-end);align-items:start}.firmware-content{display:flex;flex-direction:column;gap:var(--space-6)}.firmware-desc{font-size:var(--text-body);color:var(--color-text-muted);line-height:var(--leading-relaxed);padding:var(--space-6);background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border)}.firmware-section-title{font-size:var(--text-body);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.firmware-section-title:before{content:"";width:4px;height:20px;background:var(--color-accent);border-radius:2px}.firmware-specs{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:none}.firmware-specs-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.firmware-specs-list dt{font-size:var(--text-muted-size);color:var(--color-text-muted);margin-bottom:var(--space-1)}.firmware-specs-list dd{font-size:var(--text-base);color:var(--color-text);font-weight:var(--font-semibold);padding:var(--space-3);background:var(--color-bg-soft);border-radius:var(--radius);margin-bottom:var(--space-2)}.firmware-features{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:none}.firmware-features-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);list-style:none}.firmware-features-list li{position:relative;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-8);font-size:var(--text-muted-size);color:var(--color-text);background:var(--color-bg-soft);border-radius:var(--radius);border:1px solid var(--color-border);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.firmware-features-list li:hover{border-color:var(--color-accent);background:var(--color-bg-soft)}.firmware-features-list li:before{content:"✓";position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-size:11px;font-weight:var(--font-bold);border-radius:50%}.firmware-description{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:none}.firmware-description-content{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-relaxed)}.firmware-description-content p{margin:0}.firmware-description-content p+p{margin-top:.5em}.firmware-description-content p:last-child{margin-bottom:0}.firmware-description-content ul,.firmware-description-content ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.firmware-description-content li{margin-bottom:var(--space-2)}.firmware-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-4));height:fit-content}.firmware-sidebar-card{background:var(--color-bg);border:.85px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:none}.firmware-versions__title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin:0 0 var(--space-4) 0}.firmware-custom-order{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.firmware-custom-order__text{font-size:var(--text-muted-size);color:var(--color-text-muted)}.firmware-custom-order__btn{padding:var(--space-2) var(--space-4);font-size:var(--text-muted-size);font-weight:var(--font-medium);color:var(--color-accent);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.firmware-custom-order__btn:hover{border-color:var(--color-accent);background:var(--color-bg-soft)}.firmware-versions__price-wrap{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-bg-soft);border:.85px solid var(--color-border);border-radius:var(--radius);min-height:6rem}.firmware-versions__price-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:var(--space-2)}.firmware-versions__price-for{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-accent);margin-bottom:var(--space-2);min-height:1.25rem}.firmware-versions__price{display:flex;align-items:baseline;gap:var(--space-2);font-weight:var(--font-bold);color:var(--color-text);min-height:2rem;font-size:var(--text-2xl)}.firmware-versions__price-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.firmware-versions__price-currency{font-size:var(--text-lg);color:var(--color-text-muted)}.firmware-versions__price-value--old{text-decoration:line-through;font-size:var(--text-lg);color:var(--color-text-muted);margin-right:var(--space-2)}.firmware-versions__promo-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.firmware-versions__promo-input{flex:1;min-width:120px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-sm)}.firmware-versions__promo-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer}.firmware-versions__promo-btn:hover:not(:disabled){background:var(--color-border)}.firmware-versions__promo-discount{font-size:var(--text-sm);color:var(--color-success, #0a0);margin-top:var(--space-1)}.firmware-versions__promo-msg{font-size:var(--text-sm);width:100%}.firmware-versions__price-text{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-muted)}.firmware-versions__price-badge{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);background:transparent;border-radius:var(--radius)}.firmware-versions__empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-bg-soft);border-radius:var(--radius)}.firmware-versions__list{display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-4)}.firmware-version-item{display:flex;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast)}.firmware-version-item:first-child{border-top:1px solid var(--color-border)}.firmware-version-item:hover{background:var(--color-bg-soft)}.firmware-version-item--active{background:#e53e3e14;border-left:4px solid var(--color-accent);padding-left:calc(var(--space-4) - 4px)}.firmware-version-item--active .firmware-version-item__name{font-weight:var(--font-bold)}.firmware-version-item__selected{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-accent);margin-left:var(--space-2)}.firmware-version-item__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-left:auto;border:2px solid var(--color-border);background:transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.firmware-version-item__dot--active{background:var(--color-accent);border-color:var(--color-accent)}.firmware-version-item__name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text);word-break:break-word;min-width:0}.firmware-versions__buy-btn{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);margin-bottom:var(--space-2)}.firmware-versions__buy-btn:hover:not(:disabled){background:var(--c-accent-hover)}.firmware-versions__buy-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--color-text-muted)}.firmware-versions__buy-btn--download{background:#1a1a1a}.firmware-versions__buy-btn--download:hover:not(:disabled){background:#333}.firmware-versions__buy-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-2) 0 0 0;text-align:center;line-height:var(--leading-normal);opacity:.7}.firmware-version-item__buy{padding:var(--space-2) var(--space-5);font-size:var(--text-muted-size);font-weight:var(--font-semibold);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.firmware-version-item__buy:hover{background:var(--c-accent-hover);transform:translateY(-1px)}.firmware-version-item__buy.firmware-version-item__download,.firmware-single-price__buy.firmware-version-item__download{background:#1a1a1a;color:#fff}.firmware-version-item__buy.firmware-version-item__download:hover,.firmware-single-price__buy.firmware-version-item__download:hover{background:#333}.firmware-single-price{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0}.firmware-single-price__value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.firmware-single-price__buy{padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-bold);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.firmware-single-price__buy:hover{background:var(--c-accent-hover)}@media(max-width:1024px){.firmware-layout{grid-template-columns:1fr 300px;gap:var(--space-6)}.firmware-specs-list,.firmware-features-list{grid-template-columns:1fr}}@media(max-width:768px){.firmware-layout{grid-template-columns:1fr;gap:var(--space-6);min-width:0}.firmware-content,.firmware-sidebar{min-width:0;max-width:100%}.firmware-sidebar{position:static;order:-1}.firmware-sidebar-card{padding:var(--space-5)}.firmware-price-value{font-size:var(--text-3xl)}.firmware-sidebar-card .btn--primary{height:52px;font-size:var(--text-base)}.firmware-buy-btn--admin{background:#1a1a1a!important;color:#fff!important}.firmware-buy-btn--admin:hover{background:#333!important}.firmware-specs,.firmware-features,.firmware-description{padding:var(--space-4);max-width:100%;box-sizing:border-box}.firmware-specs-list,.firmware-features-list{grid-template-columns:1fr}.firmware-specs-list dd,.firmware-features-list dd{word-break:break-word;overflow-wrap:break-word}.firmware-desc{font-size:var(--text-base);padding:var(--space-3);word-break:break-word;overflow-wrap:break-word}.firmware-version-item{flex-wrap:wrap;align-items:flex-start}.firmware-versions__promo-wrap{flex-direction:column;align-items:stretch}.firmware-versions__promo-btn{width:100%}.firmware-version-item__buy{white-space:normal;text-align:center}}@media(max-width:480px){.firmware-price-value{font-size:var(--text-2xl)}}.reviews-section{max-width:1200px;margin:var(--space-16) auto 0;padding:0 var(--space-6)}.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.reviews-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);margin:0}.reviews-stats{display:flex;align-items:center;gap:var(--space-4)}.reviews-rating{display:flex;align-items:center;gap:var(--space-3)}.reviews-rating__stars{font-size:20px;color:#ffc107;letter-spacing:2px}.reviews-rating__value{font-size:var(--text-body);font-weight:var(--font-semibold);color:var(--color-text)}.reviews-rating__count{font-size:var(--text-muted-size);color:var(--color-text-muted)}.reviews-list{display:grid;gap:var(--space-4);margin-bottom:var(--space-12)}.review-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);transition:border-color var(--transition-motion, .22s ease),box-shadow var(--transition-motion, .22s ease),background var(--transition-motion, .22s ease)}.review-card:hover{border-color:var(--color-border);box-shadow:none}.review-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.review-card__author{display:flex;align-items:center;gap:var(--space-3)}.review-card__avatar{width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-body);font-weight:var(--font-bold);flex-shrink:0}.review-card__info{display:flex;flex-direction:column;gap:4px}.review-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);display:flex;align-items:center;gap:var(--space-2)}.review-card__verified{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#34c759;color:#fff;font-size:12px;font-weight:700}.review-card__date{font-size:var(--text-muted-size);color:var(--color-text-muted)}.review-card__rating{font-size:18px;color:#ffc107;letter-spacing:1px;flex-shrink:0}.review-card__text{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0}.review-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-8);margin-top:var(--space-8)}.review-form__title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin:0 0 var(--space-6) 0}.review-form__content{display:flex;flex-direction:column;gap:var(--space-5)}.review-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.review-form__label{font-size:var(--text-muted-size);font-weight:var(--font-semibold);color:var(--color-text)}.review-form__input,.review-form__textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);transition:background-color var(--transition-motion, .22s ease),color var(--transition-motion, .22s ease),border-color var(--transition-motion, .22s ease);font-family:inherit}.review-form__input:focus,.review-form__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:none}.review-form__textarea{resize:vertical;min-height:120px}.review-form__stars{display:flex;flex-direction:row-reverse;gap:4px;font-size:32px}.review-form__stars input{display:none}.review-form__stars label{cursor:pointer;color:#d2d2d7;transition:color .2s ease}.review-form__stars label:hover,.review-form__stars label:hover~label{color:#ffc107}.review-form__stars input:checked~label{color:#ffc107}.review-form__submit{align-self:flex-start;padding:var(--space-3) var(--space-8);font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-motion, .22s ease),color var(--transition-motion, .22s ease),border-color var(--transition-motion, .22s ease)}.review-form__submit:hover{opacity:.9;transform:translateY(-2px);box-shadow:none}.review-form__submit:active{transform:translateY(0)}.review-form__hint{font-size:var(--text-muted-size);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.review-form__success{padding:var(--space-4);background:#34c7591a;border:1px solid #34c759;border-radius:var(--radius);color:#34c759;font-size:var(--text-base);font-weight:var(--font-semibold);text-align:center;margin-bottom:var(--space-4)}.review-form__error{padding:var(--space-3);background:#ff453a1a;border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);font-size:var(--text-muted-size);margin-bottom:var(--space-4)}@media(max-width:768px){.reviews-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.review-card__header{flex-direction:column;gap:var(--space-3)}.review-card__rating{align-self:flex-start}.review-form{padding:var(--space-6)}.review-form__stars{font-size:28px}}.firmware-reviews{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.firmware-reviews .firmware-section-title{margin-bottom:var(--space-4)}.firmware-reviews-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.firmware-reviews-empty{color:var(--color-text-muted);font-size:var(--text-muted-size);margin:0}.firmware-review-card{padding:var(--space-4);background:var(--color-bg-soft);border-radius:var(--radius);border:1px solid var(--color-border)}.firmware-review-card__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2)}.firmware-review-card__author{font-weight:var(--font-semibold);color:var(--color-text)}.firmware-review-card__date{font-size:var(--text-muted-size);color:var(--color-text-muted)}.firmware-review-card__stars{color:var(--color-warning, #f59e0b);font-size:var(--text-body)}.firmware-review-card__text{margin:0;font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--color-text)}.firmware-review-form-wrap{padding:var(--space-6);background:var(--color-bg-soft);border-radius:var(--radius);border:1px solid var(--color-border)}.firmware-review-form-title{font-size:var(--text-body);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0;color:var(--color-text)}.firmware-review-form{display:flex;flex-direction:column;gap:var(--space-4)}.firmware-review-form__label{font-size:var(--text-muted-size);font-weight:var(--font-medium);color:var(--color-text-muted)}.firmware-review-form__stars{display:flex;gap:var(--space-1)}.firmware-review-form__star{background:none;border:none;padding:0;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;transition:color .15s}.firmware-review-form__star:hover{color:var(--color-warning, #f59e0b)}.firmware-review-form__textarea{width:100%;padding:var(--space-3);font-size:var(--text-body);font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical;min-height:100px}.firmware-review-form__submit{align-self:flex-start}.firmware-reviews-hint{font-size:var(--text-muted-size);color:var(--color-text-muted);margin:0}.firmware-question-wrap{position:fixed;inset:0;z-index:10000;pointer-events:none}.firmware-question-wrap .firmware-question-window{pointer-events:auto}.firmware-question-window{position:fixed;bottom:72px;right:24px;width:380px;height:520px;background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000002e;display:flex;flex-direction:column;overflow:hidden;animation:firmware-question-slideUp .25s ease}.firmware-question-window .firmware-question-body{flex-shrink:0}.firmware-question-window .firmware-question-form{flex:1;min-height:0}.firmware-question-form{display:flex;flex-direction:column;flex:1;min-height:0}.firmware-question-input-wrap{flex-shrink:0;padding:0 1.25rem .75rem;margin-top:-.25rem}.firmware-question-text{display:block;width:100%;min-height:180px;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;border:1px solid #d1d5db;border-radius:8px;resize:vertical;box-sizing:border-box}.firmware-question-text:focus{outline:none;border-color:var(--color-accent, #d60000);box-shadow:0 0 0 3px #d600001a}.firmware-question-error{margin:.5rem 0 0;font-size:.875rem}.firmware-question-footer{flex-shrink:0;margin-top:auto;padding:1rem 1.25rem;border-top:1px solid var(--color-border, #e5e7eb);background:#fff}@keyframes firmware-question-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.firmware-question-header{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:#fff;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.firmware-question-header__title{font-size:1.125rem;font-weight:600;color:var(--color-text, #1a1a1a);margin:0}.firmware-question-header__close{padding:.5rem;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.firmware-question-header__close:hover{background:#f3f4f6;color:#374151}.firmware-question-firmware{padding:.75rem 1.25rem .25rem;background:#f9fafb;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.firmware-question-firmware__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.firmware-question-firmware__label{font-size:.75rem;font-weight:600;color:var(--color-text-muted, #6b7280);flex-shrink:0}.firmware-question-firmware__value{font-size:.9375rem;font-weight:500;color:var(--color-text, #1f2937)}.firmware-question-body{padding:1rem 1.25rem}.firmware-question-submit{display:block;width:100%;height:48px;padding:0 var(--space-4);font-size:16px;font-weight:600;color:#fff;background:var(--color-accent, #d60000);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.firmware-question-submit:hover:not(:disabled){background:var(--color-accent-hover, #b80000)}.firmware-question-submit:disabled{opacity:.7;cursor:not-allowed}.firmware-question-login-hint{font-size:.9375rem;color:var(--color-text-muted, #6b7280);margin:0}.firmware-question-login-link{color:var(--color-accent, #d60000);font-weight:500;text-decoration:none;transition:color var(--transition-motion, .22s ease),transform var(--transition-motion, .22s ease);display:inline-block}.firmware-question-login-link:hover{text-decoration:underline;transform:translateY(-2px) scale(1.02)}.product-page-skeleton{pointer-events:none;padding-bottom:var(--space-8, 2rem)}.product-page-skeleton__hero{margin-bottom:var(--space-6, 1.5rem)}.product-page-skeleton__path{height:14px;width:220px;max-width:100%;background:var(--color-bg-soft, #f5f5f7);border-radius:4px;margin-bottom:var(--space-3, .75rem);animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__title{height:36px;width:280px;max-width:100%;background:var(--color-bg-soft, #f5f5f7);border-radius:6px;animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__layout{display:grid;gap:var(--space-6, 1.5rem)}@media(min-width:1024px){.product-page-skeleton__layout{grid-template-columns:1fr 340px}}.product-page-skeleton__main{display:flex;flex-direction:column;gap:var(--space-3, .75rem)}.product-page-skeleton__image{height:240px;background:var(--color-bg-soft, #f5f5f7);border-radius:var(--radius, 12px);animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__line{height:16px;background:var(--color-bg-soft, #f5f5f7);border-radius:4px;animation:product-skeleton-pulse 1.5s ease-in-out infinite}.product-page-skeleton__line--short{width:60%}.product-page-skeleton__aside{min-height:200px}.product-page-skeleton__card{height:180px;background:var(--color-bg-soft, #f5f5f7);border-radius:var(--radius, 12px);animation:product-skeleton-pulse 1.5s ease-in-out infinite}@keyframes product-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(max-width:768px){.product-page-skeleton{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));box-sizing:border-box}.product-page-skeleton__image{height:min(240px,50vw)}}
