.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:18px;font-weight:700;text-align:center;cursor:pointer;transition:transform .14s ease,opacity .14s ease,background .14s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn--sm{min-height:36px;padding:8px 14px;font-size:13px}.btn--md{min-height:44px;padding:12px 18px;font-size:14px}.btn--lg{min-height:52px;padding:14px 24px;font-size:16px;border-radius:20px}.btn--primary{background:linear-gradient(180deg,#dfd2ff,#c5a9ff);color:#170d24}.btn--primary:hover:not(:disabled){background:linear-gradient(180deg,#ebe1ff,#d4bbff)}.btn--secondary{background:linear-gradient(180deg,#463c59,#352b47);color:#fff}.btn--secondary:hover:not(:disabled){background:linear-gradient(180deg,#534a65,#403651)}.btn--ghost{background:#ffffff0a;border:1px solid var(--line);color:#fff}.btn--ghost:hover:not(:disabled){background:#ffffff14;border-color:var(--line-strong)}.btn--danger{background:linear-gradient(180deg,#ff6f84,#ff5370);color:#fff}.btn--danger:hover:not(:disabled){background:linear-gradient(180deg,#ff8296,#ff6881)}.btn--full{width:100%}.btn--loading{pointer-events:none}.btn__spinner{font-size:18px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn__icon{display:inline-flex;align-items:center;font-size:18px}.btn__content{display:inline-flex;align-items:center}.badge{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);white-space:nowrap}.badge--new{background:#7865ffeb;color:#fff}.badge--discount,.badge--sold{background:#ff6982eb;color:#fff}.badge--count{background:#08050cb8;color:#fff}.badge--stock{padding:6px 12px;font-size:12px;letter-spacing:.04em}.badge--in-stock{background:#4cd96429;border:1px solid rgba(76,217,100,.3);color:#cff8d7}.badge--low-stock{background:#ffd60a29;border:1px solid rgba(255,214,10,.3);color:#ffe58f}.badge--out-of-stock{background:#ff453a29;border:1px solid rgba(255,69,58,.3);color:#ffb4c1}.rating{display:inline-flex;align-items:center;gap:8px}.rating__stars{display:inline-flex;align-items:center;gap:2px}.rating__star{display:inline-block;line-height:1}.rating__star--full{opacity:1}.rating__star--half{opacity:.6}.rating__star--empty{opacity:.25}.rating__value{font-weight:700;color:#fff}.rating__count{color:var(--text-soft);font-size:.9em}.rating--sm .rating__star,.rating--sm .rating__value{font-size:12px}.rating--md .rating__star,.rating--md .rating__value{font-size:14px}.rating--lg .rating__star,.rating--lg .rating__value{font-size:18px}.card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#09060df5;box-shadow:0 18px 44px #06030a5c;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card--clickable{cursor:pointer;text-align:left;width:100%;padding:0}.card--hoverable:hover{transform:translateY(-3px);border-color:#ffffff2e;box-shadow:0 26px 56px #0a05107a}.category-card{display:flex;flex-direction:column;gap:10px;min-height:116px;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#120c1ad1;color:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.category-card:hover{transform:translateY(-2px);border-color:#ffffff3d}.category-card__emoji{font-size:28px;line-height:1}.category-card__name{font-size:20px;font-weight:800;line-height:1}.category-card__description{color:#c8b7db;font-size:12px;line-height:1.45}.input-wrapper{display:inline-flex;flex-direction:column;gap:8px}.input-wrapper--full{width:100%}.input-label{font-size:14px;font-weight:600;color:#e3daf3}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#110a18eb;color:#fff;font-size:16px;transition:border-color .18s ease,background .18s ease;outline:none}.input:focus{border-color:#b18cff80;background:#110a18fa}.input::placeholder{color:#a99dbb}.input-wrapper--error .input{border-color:#ff6f8480}.input-container .input-icon--left+.input{padding-left:46px}.input-container .input-icon--right~.input{padding-right:46px}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-soft);font-size:18px;pointer-events:none}.input-icon--left{left:16px}.input-icon--right{right:16px}.input-error{font-size:13px;color:#ffb4c1}.input-hint{font-size:12px;color:#b9a8cf;line-height:1.45}.textarea{min-height:100px;resize:vertical;font-family:inherit;line-height:1.5}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__circle{border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner--sm .spinner__circle{width:20px;height:20px;border-width:2px}.spinner--md .spinner__circle{width:32px;height:32px;border-width:3px}.spinner--lg .spinner__circle{width:48px;height:48px;border-width:4px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;text-align:center}.loading-state__message{margin:0;color:var(--text-soft);font-size:15px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center;border:1px solid var(--line);border-radius:24px;background:#120b1ad6}.empty-state__icon{font-size:56px;line-height:1;opacity:.8}.empty-state__title{margin:0;font-size:22px;font-weight:700;line-height:1.2}.empty-state__description{margin:0;max-width:400px;color:var(--text-soft);font-size:15px;line-height:1.5}.empty-state__action{margin-top:8px}@media(max-width:420px){.empty-state{padding:36px 20px}.empty-state__icon{font-size:48px}.empty-state__title{font-size:20px}.empty-state__description{font-size:14px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#060309d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 32px);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#0d0813fa;box-shadow:0 36px 80px #00000080;animation:slide-up .25s ease}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal--sm{max-width:420px}.modal--md{max-width:540px}.modal--lg{max-width:760px}.modal--full{max-width:100%;max-height:100vh;border-radius:0}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.modal__title{margin:0;font-size:28px;line-height:1;letter-spacing:-.02em}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:#ffffff0a;color:#fff;font-size:20px;cursor:pointer;transition:background .14s ease}.modal__close:hover{background:#ffffff14}.modal__body{flex:1;overflow-y:auto;padding:20px 18px}.sheet{position:relative;display:flex;flex-direction:column;width:100%;max-width:540px;max-height:calc(100vh - 32px);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#0d0813fa;box-shadow:0 36px 80px #00000080;animation:slide-up .25s ease}.sheet__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.sheet__header h2{margin:0;font-size:28px;line-height:1}.sheet__body{flex:1;overflow-y:auto;padding:18px}.sheet__footer{display:flex;flex-direction:column;gap:12px;padding:18px;border-top:1px solid var(--line)}@media(max-width:420px){.modal-overlay{padding:0}.modal,.sheet{max-height:100vh;border-radius:0}.modal__title,.sheet__header h2{font-size:24px}}.product-card__media{position:relative;aspect-ratio:.78;overflow:hidden;cursor:pointer}.product-card__image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .product-card__image{transform:scale(1.05)}.product-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#251432,#120917);color:#7b6a93;font-size:48px;font-weight:800}.product-card__title{margin:0;font-size:17px;line-height:1.16;letter-spacing:-.02em;word-break:break-word;cursor:pointer;transition:color .14s ease}.product-card__title:hover{color:var(--accent)}.product-card__info,.product-card__condition{margin:0;color:var(--text-soft);font-size:13px;line-height:1.4}.product-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:auto;font-size:13px}.product-card__price strong{font-size:26px;line-height:1;color:#fff}.product-card__actions{display:grid;grid-template-columns:1fr 52px;gap:10px;margin-top:8px}.action-button--favorite{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:0;background:#ffffff05;color:#fff;border:1px solid var(--line-strong);border-radius:18px;font-size:22px;cursor:pointer;transition:all .18s ease}.action-button--favorite:hover{border-color:#ff7aa666;background:#ff7aa614}.action-button--favorite-active{border-color:#ff7aa699;background:#ff7aa61f;color:#ff7aa6}@media(max-width:420px){.product-card{border-radius:20px}.product-card__body{padding:12px}.product-card__title{font-size:16px}.product-card__price strong{font-size:22px}.product-card__actions{grid-template-columns:1fr 46px;gap:8px}.action-button--favorite{min-width:46px}}.image-gallery{display:flex;flex-direction:column;gap:12px}.image-gallery__main{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#09060df5}.image-gallery__image{width:100%;height:100%;object-fit:contain;object-position:center}.image-gallery__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#251432,#120917)}.image-gallery__placeholder-emoji{font-size:120px;line-height:1;margin-bottom:20px}.image-gallery__placeholder-text{color:#7b6a93;font-size:18px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.image-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#000000b3;color:#fff;font-size:24px;cursor:pointer;transition:background .14s ease,transform .14s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2}.image-gallery__nav:hover{background:#000000d9}.image-gallery__nav:active{transform:translateY(-50%) scale(.95)}.image-gallery__nav--prev{left:12px}.image-gallery__nav--next{right:12px}.image-gallery__indicator{position:absolute;top:12px;right:12px;padding:8px 14px;border-radius:999px;background:#08050ccc;color:#fff;font-size:13px;font-weight:700;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:2}.image-gallery__thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px}.image-gallery__thumbnail{position:relative;aspect-ratio:1;padding:0;overflow:hidden;border:2px solid var(--line);border-radius:16px;background:#110a18eb;cursor:pointer;transition:border-color .14s ease,transform .14s ease}.image-gallery__thumbnail img{width:100%;height:100%;object-fit:cover}.image-gallery__thumbnail:hover{border-color:#ffffff3d}.image-gallery__thumbnail:active{transform:scale(.95)}.image-gallery__thumbnail--active{border-color:var(--accent);box-shadow:0 0 0 2px #b18cff38}@media(max-width:420px){.image-gallery__placeholder-emoji{font-size:80px}.image-gallery__placeholder-text{font-size:14px}.image-gallery__nav{width:40px;height:40px;font-size:20px}.image-gallery__thumbnails{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}}.variant-selector{display:grid;gap:12px}.variant-selector-empty{padding:20px;border:1px solid var(--line);border-radius:16px;background:#120b1ad6;text-align:center}.variant-selector-empty p{margin:0;color:var(--text-soft);font-size:14px}.variant-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:2px solid var(--line);border-radius:18px;background:#110a18e6;color:#fff;text-align:left;cursor:pointer;transition:all .14s ease}.variant-card:hover:not(.variant-card--disabled){border-color:#ffffff3d;background:#ffffff0a;transform:translateY(-2px)}.variant-card:active:not(.variant-card--disabled){transform:translateY(0)}.variant-card--selected{border-color:var(--accent);background:linear-gradient(180deg,#b18cff29,#7e5cc61f);box-shadow:0 0 0 2px #b18cff38}.variant-card--disabled{opacity:.5;cursor:not-allowed}.variant-card__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.variant-card__name{font-size:16px;font-weight:700;line-height:1.2}.variant-card__description{color:var(--text-soft);font-size:13px;line-height:1.4}.variant-card__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;border-top:1px solid var(--line)}.variant-card__price{display:flex;align-items:baseline;gap:8px}.variant-card__price-old{color:#a69ab7;font-size:13px;text-decoration:line-through}.variant-card__price-current{font-size:20px;font-weight:800;line-height:1;color:#fff}@media(max-width:420px){.variant-card{padding:14px}.variant-card__name{font-size:15px}.variant-card__price-current{font-size:18px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#0d0813f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bottom-nav__container{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:4px;max-width:640px;margin:0 auto}.bottom-nav__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:16px;background:transparent;color:var(--text-soft);cursor:pointer;transition:background .18s ease,color .18s ease,transform .14s ease}.bottom-nav__item:active{transform:scale(.95)}.bottom-nav__item--active{background:#b18cff1f;color:var(--accent)}.bottom-nav__icon{display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}.bottom-nav__label{font-size:11px;font-weight:600;letter-spacing:.02em;text-align:center}.bottom-nav__badge{position:absolute;top:6px;right:50%;transform:translate(12px);min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ff5370;color:#fff;font-size:11px;font-weight:700;line-height:1}@media(hover:hover)and (pointer:fine){.bottom-nav__item:hover:not(.bottom-nav__item--active){background:#ffffff0a;color:#fff}}@media(max-width:420px){.bottom-nav__label{font-size:10px}.bottom-nav__icon{font-size:22px}}.hero-block{position:relative;overflow:hidden;margin-bottom:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#ffffff08,#fff0),linear-gradient(140deg,#180c1ef5,#0d0712fa 55%,#1b0e24f2);box-shadow:0 30px 80px #07040b7a}.hero-block__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(159,122,234,.28),transparent 30%),radial-gradient(circle at bottom left,rgba(236,72,153,.16),transparent 24%)}.hero-block__content{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:24px}.hero-block__avatar-wrap{display:flex;align-items:flex-start;justify-content:center}.hero-block__avatar{width:96px;height:96px;border-radius:24px;object-fit:cover;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px #00000059}.hero-block__copyblock{min-width:0}.hero-block__label{margin:0 0 10px;color:#cdbce9;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.hero-block__heading{margin:0 0 12px;font-size:38px;line-height:.94;letter-spacing:-.03em}.hero-block__copy{margin:0;max-width:560px;color:#efe8fb;font-size:15px;line-height:1.55}@media(max-width:760px){.hero-block__content{grid-template-columns:1fr;gap:16px}.hero-block__heading{font-size:34px}}@media(max-width:420px){.hero-block__content{padding:20px}.hero-block__heading{font-size:28px}.hero-block__avatar{width:80px;height:80px}}.banner-block{position:relative;overflow:hidden;margin-bottom:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#b18cff29,#ec48991f),#120c1af0;box-shadow:0 24px 60px #07040b6b}.banner-block__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(177,140,255,.2),transparent 35%),radial-gradient(circle at bottom right,rgba(236,72,153,.14),transparent 30%)}.banner-block__content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:28px}.banner-block__text{min-width:0}.banner-block__label{margin:0 0 8px;color:#d8baff;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.banner-block__title{margin:0 0 10px;font-size:32px;line-height:1;letter-spacing:-.03em}.banner-block__subtitle{margin:0 0 16px;max-width:480px;color:#efe8fb;font-size:15px;line-height:1.5}.banner-block__button{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(180deg,#dfd2ff,#c5a9ff);color:#170d24;font-size:14px;font-weight:800;text-decoration:none;transition:transform .14s ease,opacity .14s ease}.banner-block__button:hover{transform:translateY(-2px);opacity:.9}.banner-block__button:active{transform:translateY(0)}.banner-block__image-wrap{display:flex;align-items:center;justify-content:center}.banner-block__image{max-width:180px;max-height:180px;object-fit:contain;border-radius:20px}@media(max-width:760px){.banner-block__content{grid-template-columns:1fr;gap:20px;text-align:center}.banner-block__title{font-size:28px}.banner-block__subtitle{margin-left:auto;margin-right:auto}.banner-block__button{margin:0 auto}.banner-block__image{max-width:160px;max-height:160px}}@media(max-width:420px){.banner-block__content{padding:22px}.banner-block__title{font-size:24px}.banner-block__image{max-width:140px;max-height:140px}}.filter-panel{display:flex;flex-direction:column;gap:10px}.filter-panel__label{color:#b9a8cf;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.filter-panel__chips{display:flex;flex-wrap:wrap;gap:8px}.filter-toggle{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#110a18e6;color:#e7dfff;font-size:14px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease;white-space:nowrap}.filter-toggle:hover{background:#ffffff0a}.filter-toggle:active{transform:scale(.97)}.filter-toggle--active{border-color:#c2a6ff8c;background:linear-gradient(180deg,#b48cff47,#7e5cc638);color:#fff}.sort-panel__label{color:#b9a8cf;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.sort-panel__chips{display:flex;flex-wrap:wrap;gap:8px}.sort-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#110a18e6;color:#e7dfff;font-size:14px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease;white-space:nowrap}.sort-chip:hover{background:#ffffff0a}.sort-chip:active{transform:scale(.97)}.sort-chip__arrow{font-size:16px;line-height:1;margin-left:2px}@media(max-width:900px){.sort-panel{min-width:100%}}@media(max-width:420px){.sort-panel__chips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.sort-panel__chips::-webkit-scrollbar{display:none}}.home-page{min-height:100vh;padding-bottom:80px}.home-section{margin-bottom:32px}.home-section:last-child{margin-bottom:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0;font-size:28px;line-height:1;letter-spacing:-.04em}.section-heading span{color:#b9a8cf;font-size:14px}.category-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,320px);gap:12px;overflow-x:auto;padding:10px 4px 8px;scrollbar-width:none;scroll-behavior:smooth}@media(max-width:760px){.section-heading{flex-direction:column;align-items:stretch;gap:8px}.section-heading h2{font-size:24px}.category-scroller{grid-auto-columns:minmax(180px,76vw);padding-inline:0}.home-section{margin-bottom:28px}}@media(max-width:420px){.section-heading h2{font-size:22px}.home-section{margin-bottom:24px}}.catalog-page{min-height:100vh;padding-bottom:80px}.catalog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.catalog-header__eyebrow{color:#b8a6d8;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:8px}.catalog-header__title{margin:0 0 8px;font-size:38px;line-height:1;letter-spacing:.01em}.catalog-header__subtitle{margin:0;color:var(--text-soft);font-size:15px}.search-section,.filter-section{margin-bottom:24px}.filter-section__title{margin:0 0 14px;font-size:18px;font-weight:700;color:#fff}.category-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,240px);gap:12px;overflow-x:auto;padding:4px;scrollbar-width:none;scroll-behavior:smooth}.platform-chips{display:flex;flex-wrap:wrap;gap:10px}.filter-chip{min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#110a18e6;color:#e7dfff;font-size:14px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease;white-space:nowrap}.filter-chip:hover{background:#ffffff0a}.filter-chip:active{transform:scale(.97)}.filter-chip--active{border-color:#c2a6ff8c;background:linear-gradient(180deg,#b48cff47,#7e5cc638);color:#fff}.controls-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;margin-bottom:20px}.clear-filters{margin-bottom:20px}.products-loading{padding:40px 0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px;padding:20px 0}.pagination__info{color:var(--text-soft);font-size:14px;font-weight:600}@media(max-width:900px){.controls-row{grid-template-columns:1fr}}@media(max-width:760px){.catalog-header{flex-direction:column;align-items:stretch}.catalog-header__title{font-size:32px}.category-scroller{grid-auto-columns:minmax(160px,70vw)}.filter-section__title{font-size:16px}}@media(max-width:420px){.catalog-header__title{font-size:28px}.platform-chips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.platform-chips::-webkit-scrollbar{display:none}.pagination{flex-direction:column;gap:12px}}.product-detail-page{min-height:100vh;padding-bottom:80px}.back-button{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;padding:10px 16px;border:1px solid var(--line);border-radius:16px;background:#ffffff0a;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .14s ease}.back-button:hover{background:#ffffff14;border-color:var(--line-strong)}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:48px}.product-detail__gallery{position:relative}.product-detail__badges{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;z-index:2}.product-detail__info{display:flex;flex-direction:column;gap:20px}.product-detail__category{color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.product-detail__title{margin:0;font-size:42px;line-height:1.1;letter-spacing:-.02em}.product-detail__rating{margin:-8px 0}.product-detail__stats{display:flex;gap:20px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text-soft);font-size:14px}.product-detail__description h3,.product-detail__platforms h3,.product-detail__attributes h3,.product-detail__variants h3{margin:0 0 12px;font-size:18px;font-weight:700}.product-detail__description p{margin:0;color:#efe8fb;font-size:15px;line-height:1.6;white-space:pre-wrap}.platform-tags{display:flex;flex-wrap:wrap;gap:8px}.platform-tag{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#110a18e6;color:#e7dfff;font-size:13px;font-weight:600}.attributes-list{display:grid;gap:12px;margin:0}.attribute-item{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.attribute-item:last-child{border-bottom:none}.attribute-item dt{color:var(--text-soft);font-size:14px;font-weight:600}.attribute-item dd{margin:0;color:#fff;font-size:14px}.external-link{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:1px solid var(--line);border-radius:16px;background:#ffffff0a;color:var(--accent);font-size:14px;font-weight:700;text-decoration:none;transition:all .14s ease}.external-link:hover{background:#b18cff1f;border-color:var(--accent)}.product-detail__purchase{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px;padding:24px;margin-top:auto;border:1px solid var(--line);border-radius:24px;background:#110a18eb;box-shadow:0 18px 44px #06030a5c}.purchase-info{display:flex;flex-direction:column;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.purchase-info__price{display:flex;align-items:baseline;gap:12px}.price-old{color:#a69ab7;font-size:18px;text-decoration:line-through}.price-current{font-size:36px;font-weight:800;line-height:1;color:#fff}.purchase-actions{display:flex;flex-direction:column;gap:12px}.product-reviews{padding:32px 0;border-top:1px solid var(--line)}.product-reviews h2{margin:0 0 16px;font-size:28px}.reviews-placeholder{padding:32px;border:1px solid var(--line);border-radius:20px;background:#120b1ad6;color:var(--text-soft);text-align:center}.purchase-modal{display:flex;flex-direction:column;gap:20px}.purchase-modal__product h3{margin:0 0 8px;font-size:20px}.purchase-modal__product p{margin:0;color:var(--text-soft);font-size:14px}.purchase-modal__price{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#110a18e6}.purchase-modal__price strong{font-size:24px;color:var(--accent)}.purchase-modal__note{padding:14px 16px;border:1px solid rgba(255,214,10,.3);border-radius:16px;background:#ffd60a14}.purchase-modal__note p{margin:0;color:#ffe58f;font-size:13px;line-height:1.5}.purchase-modal__actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}@media(max-width:900px){.product-detail{grid-template-columns:1fr;gap:32px}.product-detail__purchase{position:static}}@media(max-width:760px){.product-detail__title{font-size:32px}.product-detail{gap:24px}.attribute-item{grid-template-columns:1fr;gap:4px}}@media(max-width:420px){.product-detail__title{font-size:28px}.price-current{font-size:32px}.product-detail__purchase{padding:20px}}.favorites-page{padding:1.5rem 1rem;max-width:1200px;margin:0 auto}.favorites-page__header{margin-bottom:2rem}.favorites-page__title{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 .5rem}.favorites-page__count{font-size:.875rem;color:#fff9;margin:0}.favorites-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;animation:fadeInUp .4s ease-out}.favorites-page__empty,.favorites-page__error{padding:3rem 1rem;animation:fadeIn .4s ease-out}@media(max-width:768px){.favorites-page{padding:1rem .75rem}.favorites-page__title{font-size:1.5rem}.favorites-page__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}}@media(max-width:480px){.favorites-page__grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.purchases-page{min-height:100vh;padding-bottom:80px}.purchases-header{margin-bottom:28px}.purchases-header__eyebrow{color:#b8a6d8;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:8px}.purchases-header__title{margin:0 0 8px;font-size:38px;line-height:1;letter-spacing:.01em}.purchases-header__subtitle{margin:0;color:var(--text-soft);font-size:15px}.purchases-list{display:grid;gap:16px}.purchase-card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--line);border-radius:24px;background:#09060df5;box-shadow:0 18px 44px #06030a5c;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.purchase-card:hover{border-color:#ffffff29}.purchase-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.purchase-card__order-info{display:flex;flex-direction:column;gap:4px}.purchase-card__order-number{font-size:16px;font-weight:800;color:#fff}.purchase-card__date{font-size:13px;color:var(--text-soft)}.purchase-card__status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#ffffff14;font-size:12px;font-weight:700;white-space:nowrap}.purchase-card__product{display:flex;flex-direction:column;gap:6px}.purchase-card__product-name{font-size:18px;font-weight:700;line-height:1.2;color:#fff}.purchase-card__variant-name{font-size:14px;color:var(--text-soft)}.purchase-card__price{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.purchase-card__price-label{font-size:14px;color:var(--text-soft)}.purchase-card__price-value{font-size:24px;font-weight:800;color:var(--accent)}.purchase-card__actions{margin-top:4px}.key-modal{display:flex;flex-direction:column;gap:20px}.key-modal__product h3{margin:0 0 8px;font-size:20px}.key-modal__product p{margin:0;color:var(--text-soft);font-size:14px}.key-modal__key-container{display:flex;flex-direction:column;gap:10px}.key-modal__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}.key-modal__key{padding:16px;border:1px solid var(--accent);border-radius:16px;background:#b18cff14;color:#fff;font-size:16px;font-weight:700;font-family:Courier New,monospace;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all}.key-modal__actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.key-modal__note{padding:14px 16px;border:1px solid rgba(255,214,10,.3);border-radius:16px;background:#ffd60a14}.key-modal__note p{margin:0;color:#ffe58f;font-size:13px;line-height:1.5}@media(max-width:760px){.purchases-header__title{font-size:32px}.purchase-card{padding:18px}}@media(max-width:420px){.purchases-header__title{font-size:28px}.purchase-card{padding:16px}.purchase-card__header{flex-direction:column;align-items:stretch}.purchase-card__status{align-self:flex-start}.purchase-card__price-value{font-size:20px}}.profile-page{min-height:100vh;padding-bottom:80px}.profile-card{display:flex;align-items:center;gap:20px;padding:24px;margin-bottom:20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#b18cff1f,#ec489914),#09060df5;box-shadow:0 24px 60px #07040b6b}.profile-card__avatar{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:linear-gradient(135deg,var(--accent),#ec4899);box-shadow:0 18px 40px #b18cff4d}.profile-card__avatar-text{font-size:36px;font-weight:900;color:#fff}.profile-card__info{min-width:0;flex:1}.profile-card__name{margin:0 0 6px;font-size:28px;line-height:1;letter-spacing:-.02em}.profile-card__username{margin:0 0 4px;color:var(--accent);font-size:15px;font-weight:600}.profile-card__id{margin:0;color:var(--text-soft);font-size:13px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;border:1px solid var(--line);border-radius:20px;background:#110a18e6}.profile-stat__value{font-size:24px;font-weight:800;line-height:1;color:var(--accent)}.profile-stat__label{font-size:12px;color:var(--text-soft);text-align:center}.profile-menu{display:grid;gap:12px;margin-bottom:32px}.profile-menu-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#110a18e6;color:#fff;text-align:left;cursor:pointer;transition:all .14s ease}.profile-menu-item:hover{background:#ffffff0a;border-color:var(--line-strong);transform:translate(4px)}.profile-menu-item:active{transform:translate(2px)}.profile-menu-item__icon{display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}.profile-menu-item__content{min-width:0}.profile-menu-item__title{font-size:16px;font-weight:700;margin-bottom:4px}.profile-menu-item__description{font-size:13px;color:var(--text-soft)}.profile-menu-item__arrow{font-size:20px;color:var(--text-soft)}.profile-info{padding:24px;border:1px solid var(--line);border-radius:20px;background:#120b1ad6;margin-bottom:20px}.profile-info h2{margin:0 0 12px;font-size:20px}.profile-info p{margin:0 0 16px;color:#efe8fb;font-size:14px;line-height:1.6}.profile-info__links{display:flex;flex-wrap:wrap;gap:10px}.profile-version{padding:16px;text-align:center;color:var(--text-soft);font-size:12px}.profile-version p{margin:4px 0}@media(max-width:760px){.profile-card{padding:20px}.profile-card__name{font-size:24px}.profile-stats{grid-template-columns:repeat(3,1fr)}.profile-stat{padding:16px 12px}.profile-stat__value{font-size:20px}}@media(max-width:420px){.profile-card{flex-direction:column;text-align:center}.profile-card__avatar{width:72px;height:72px}.profile-card__avatar-text{font-size:32px}.profile-card__name{font-size:22px}.profile-stats{gap:10px}.profile-stat{padding:14px 10px}.profile-stat__value{font-size:18px}.profile-menu-item{padding:16px}.profile-info{padding:20px}}.app-shell{min-height:100vh;padding:16px 12px 96px}@media(max-width:760px){.page-container{max-width:620px}}@media(max-width:420px){.app-shell{padding:12px 10px 96px}}@media(min-width:900px){.app-shell{padding-inline:20px}}:root{color-scheme:dark;font-family:Manrope,Segoe UI,sans-serif;background:#130914;color:#fff;line-height:1.4;--bg: #130914;--surface: rgba(17, 11, 24, .9);--surface-strong: rgba(12, 8, 18, .96);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text-soft: #ccbfe0;--accent: #b18cff;--success: #cff8d7}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:radial-gradient(circle at top right,rgba(168,85,247,.24),transparent 26%),radial-gradient(circle at top left,rgba(99,102,241,.14),transparent 24%),radial-gradient(circle at 20% 80%,rgba(236,72,153,.12),transparent 20%),linear-gradient(180deg,#150a1f,#100813 45%,#0d0710)}body{color:#fff}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:16px 12px 104px}.page-container{margin:0 auto;max-width:1180px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar__eyebrow{color:#b8a6d8;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.topbar__title{margin:8px 0 0;font-size:38px;line-height:1;letter-spacing:.01em}.topbar__subtitle{max-width:560px;margin:10px 0 0;color:var(--text-soft);font-size:15px}.icon-button,.text-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:16px;background:#ffffff0a;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.icon-button{position:relative;font-size:22px}.icon-badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--success);color:#101010;font-size:12px;font-weight:700}.text-button{padding:0 14px;font-size:14px}.hero-card{position:relative;overflow:hidden;margin-bottom:24px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#ffffff08,#fff0),linear-gradient(140deg,#180c1ef5,#0d0712fa 55%,#1b0e24f2);box-shadow:0 30px 80px #07040b7a}.hero-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(159,122,234,.28),transparent 30%),radial-gradient(circle at bottom left,rgba(236,72,153,.16),transparent 24%)}.hero-card__content{position:relative;z-index:1;display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding:22px}.hero-card__avatar-wrap{display:flex;align-items:flex-start;justify-content:center}.hero-card__avatar{width:92px;height:92px;border-radius:24px;object-fit:cover;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px #00000059}.hero-card__avatar--text{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#130914;font-size:28px;font-weight:900;letter-spacing:0}.hero-card__copyblock{min-width:0}.hero-card__label{margin:0 0 8px;color:#cdbce9;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.hero-card__heading{margin:0 0 10px;font-size:38px;line-height:.94;letter-spacing:-.03em}.hero-card__copy{margin:0;max-width:560px;color:#efe8fb;font-size:15px;line-height:1.55}.hero-card__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.hero-card__link{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;color:#fff;font-size:13px;font-weight:700;text-decoration:none}.search-section,.category-section,.products-section{margin-bottom:24px}.search-input{display:flex;align-items:center;gap:12px;padding:0 16px;height:58px;border:1px solid var(--line);border-radius:22px;background:#110a18d1;box-shadow:inset 0 1px #ffffff08,0 10px 26px #00000026}.search-input input{width:100%;border:0;outline:none;background:transparent;color:#fff;font-size:16px}.search-input input::placeholder{color:#a99dbb}.search-input__icon{color:var(--accent);font-size:18px}.section-heading,.products-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h2,.products-toolbar h2{margin:0;font-size:28px;line-height:1;letter-spacing:-.04em}.section-heading span,.products-toolbar span{color:#b9a8cf;font-size:14px}.category-carousel{position:relative}.category-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,320px);gap:12px;overflow-x:auto;padding:10px 48px 8px;scrollbar-width:none;scroll-behavior:smooth}.category-scroller::-webkit-scrollbar{display:none}.category-card{display:flex;flex-direction:column;gap:10px;min-height:116px;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#120c1ad1;color:#fff;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.category-card span{font-size:20px;font-weight:800;line-height:1}.category-card small{color:#c8b7db;font-size:12px;line-height:1.45}.category-card--active{border-color:#ffffffbf;background:linear-gradient(180deg,rgba(177,140,255,.14),transparent),#181f2cf0;box-shadow:0 18px 40px #190e266b}.category-nav{position:absolute;top:50%;z-index:2;width:40px;height:40px;margin-top:-20px;border:1px solid var(--line-strong);border-radius:999px;background:#130c1bf0;color:#fff;box-shadow:0 18px 34px #05030847;font-size:24px;line-height:1}.category-nav--prev{left:0}.category-nav--next{right:0}.sort-panel{display:flex;flex-direction:column;gap:10px;min-width:min(100%,440px)}.sort-panel__label{color:#b9a8cf;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.sort-chip-row{display:flex;flex-wrap:wrap;gap:8px}.sort-chip{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#110a18e6;color:#e7dfff;font-weight:700;transition:background .14s ease,border-color .14s ease,transform .14s ease}.sort-chip--active{border-color:#c2a6ff8c;background:linear-gradient(180deg,#b48cff47,#7e5cc638);color:#fff}.checkout-form input,.checkout-form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#110a18eb;color:#fff}.products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.product-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:24px;background:#09060df5;box-shadow:0 18px 44px #06030a5c;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.product-card__media{position:relative;aspect-ratio:.78;overflow:hidden}.product-card__image{width:100%;height:100%;object-fit:cover}.product-modal__image{width:100%;height:100%;object-fit:contain;object-position:center}.product-card__placeholder,.cart-item__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#251432,#120917);color:#7b6a93;font-weight:800;letter-spacing:.2em}.product-card__body{display:flex;flex:1;flex-direction:column;gap:8px;padding:14px}.product-card__title{margin:0;font-size:17px;line-height:1.16;letter-spacing:-.02em;word-break:break-word}.product-card__info,.product-card__condition{margin:0;color:var(--text-soft);font-size:13px}.product-card__condition{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.product-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px}.price-old{color:#a69ab7;text-decoration:line-through}.product-card__price strong,.product-modal__price strong,.sheet__total strong{font-size:26px;line-height:1}.product-card__meta{color:#d7c8f5;font-size:14px;font-weight:700}.product-card__actions{display:grid;grid-template-columns:1fr 52px;gap:10px;margin-top:auto}.action-button,.primary-button,.secondary-button,.checkout-button,.chip-button{border:0;border-radius:18px;text-align:center;transition:transform .14s ease,opacity .14s ease,background .14s ease}.action-button:disabled,.primary-button:disabled,.checkout-button:disabled{opacity:.55;cursor:not-allowed}.action-button--cart,.secondary-button,.checkout-button{padding:14px 12px;background:linear-gradient(180deg,#463c59,#352b47);color:#fff;font-weight:700}.action-button--favorite{background:#ffffff05;color:#fff;border:1px solid var(--line-strong);font-size:22px}.action-button--favorite-active{border-color:#ff7aa699;color:#ff7aa6}.action-button--active{background:linear-gradient(180deg,#d8baff,#ba95ff);color:#160c22}.badge{position:absolute;z-index:1;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.badge--new{top:10px;left:10px;background:#7865ffeb}.badge--count,.carousel-indicator{top:10px;right:10px;background:#08050cb8}.badge--sold{bottom:10px;left:10px;background:#ff6982eb}.cart-fab{position:fixed;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;padding:16px 18px;border:0;border-radius:999px;background:linear-gradient(180deg,#4b3f63,#342c46);color:#fff;box-shadow:0 20px 40px #00000073;font-size:22px;z-index:12}.cart-fab strong{font-size:16px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:stretch;justify-content:center;padding:16px;background:#060309d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sheet{width:100%;max-width:540px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#0d0813fa;box-shadow:0 36px 80px #00000080}.sheet--product,.sheet--favorites{max-height:calc(100vh - 32px);overflow-y:auto}.sheet--product{max-width:760px}.sheet--cart,.sheet--checkout{max-height:calc(100vh - 32px)}.sheet--success{align-self:center;max-width:420px;padding:28px;text-align:center}.success-mark{width:72px;height:72px;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 18px;border-radius:50%;background:#d8baff;color:#1a0d26;font-size:34px;font-weight:800}.success-subtitle{color:#d7c8f5}.sheet__header,.sheet__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px}.sheet__header h2,.sheet__footer h2{margin:0;font-size:28px}.sheet__footer{margin-top:auto;border-top:1px solid var(--line);flex-direction:column;align-items:stretch}.sheet__total{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.checkout-button{width:100%}.checkout-button--success,.primary-button{padding:16px 18px;background:linear-gradient(180deg,#dfd2ff,#c5a9ff);color:#170d24;font-weight:800}.secondary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.product-modal__gallery{position:relative;min-height:320px;aspect-ratio:1.08;overflow:hidden;border-radius:22px;margin:0 18px;background:#09060d}.product-modal__placeholder{min-height:100%}.carousel-button{position:absolute;top:50%;width:42px;height:42px;margin-top:-21px;border:0;border-radius:50%;background:#0009;color:#fff;font-size:24px}.carousel-button--prev{left:10px}.carousel-button--next{right:10px}.product-modal__content{display:flex;flex-direction:column;gap:14px;padding:20px 18px 24px}.product-modal__thumbs{display:flex;gap:10px;padding:12px 18px 0;overflow-x:auto;scrollbar-width:none}.product-modal__thumbs::-webkit-scrollbar{display:none}.product-modal__thumb{flex:0 0 72px;width:72px;height:72px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#110a18eb}.product-modal__thumb img{width:100%;height:100%;object-fit:cover}.product-modal__thumb--active{border-color:#ceb9ffb3;box-shadow:0 0 0 1px #ceb9ff38}.product-modal__status{color:#d7c8f5;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.product-modal__title{margin:0;font-size:34px;line-height:.96}.product-modal__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.product-modal__details{display:grid;gap:14px;margin:0}.product-modal__details dt{margin-bottom:4px;color:#b9a8cf;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.product-modal__details dd{margin:0;font-size:16px;color:#fff}.product-modal__actions{display:grid;gap:12px}.cart-list,.checkout-form,.sheet--favorites .products-grid{padding:0 18px 18px}.cart-list{overflow-y:auto}.cart-item{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:20px;background:#130c1beb}.cart-item__image,.cart-item__placeholder{width:88px;height:88px;border-radius:14px;object-fit:cover}.cart-item__content h3{margin:0 0 6px;font-size:18px}.cart-item__price{font-size:18px;font-weight:800}.cart-item__availability{margin:4px 0 10px;color:#b9a8cf;font-size:13px}.cart-item__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cart-item__controls button{min-width:38px;height:38px;border:0;border-radius:12px;background:#2f2540;color:#fff}.cart-item__remove{color:#ff7aa6!important}.checkout-form{display:flex;flex-direction:column;gap:14px}.checkout-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#e3daf3}.field-hint{color:#b9a8cf;font-size:12px;line-height:1.45}.checkout-form textarea{resize:vertical}.chip-button{min-height:48px;padding:0 12px;background:#110a18e0;color:#fff;border:1px solid var(--line)}.chip-button--active{border-color:#b18cff73;background:#b18cff29}.form-error{padding:14px 16px;border:1px solid rgba(255,111,132,.35);border-radius:16px;background:#ff6f8414;color:#ffb4c1}.form-error--page{margin-bottom:14px}.empty-state,.welcome-note{padding:18px;border:1px solid var(--line);border-radius:20px;background:#120b1ad6}.empty-state p,.welcome-note{margin:0 0 6px;font-size:18px;font-weight:700}.empty-state span{color:#b9a8cf}.product-skeleton{min-height:340px;border-radius:18px;background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a),#120b1ad1;background-size:220% 100%;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}@media(hover:hover)and (pointer:fine){.product-card:hover{transform:translateY(-3px);border-color:#ffffff2e;box-shadow:0 26px 56px #0a05107a}}@media(max-width:760px){.page-container{max-width:620px}.topbar{align-items:stretch;gap:12px}.topbar__title{font-size:32px}.hero-card__content{grid-template-columns:1fr;gap:16px}.hero-card__avatar{width:88px;height:88px;border-radius:24px}.hero-card__heading{font-size:34px}.section-heading,.products-toolbar{flex-direction:column;align-items:stretch}.sort-panel{min-width:100%}.category-scroller{grid-auto-columns:minmax(180px,76vw);padding-inline:0}.category-nav{display:none}.product-modal__gallery{min-height:240px;aspect-ratio:.88}}@media(max-width:420px){.app-shell{padding-inline:10px}.topbar__title,.product-modal__title{font-size:28px}.hero-card__content{padding:18px}.section-heading h2,.products-toolbar h2{font-size:24px}.hero-card__links{gap:8px}.hero-card__link{flex:1 1 calc(50% - 4px);justify-content:center}.products-grid{gap:10px}.product-card{border-radius:20px}.product-card__body{padding:12px}.product-card__title{font-size:16px}.product-card__price strong{font-size:22px}.product-card__actions{grid-template-columns:1fr 46px;gap:8px}.cart-fab{right:14px;bottom:14px;padding:14px 16px}.sort-chip-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.sort-chip-row::-webkit-scrollbar{display:none}.sort-chip{white-space:nowrap}}@media(min-width:900px){.app-shell{padding-inline:20px}.products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sheet--checkout,.sheet--cart{max-width:620px}}
