:root { --accent:#ed006b; --text:#161616; --muted:#666; --line:#e9e9ed; --bg:#fff; --green:#0b9750; }
body { font-size:14px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
svg.lucide { width:20px; height:20px; flex-shrink:0; stroke-width:1.6; vertical-align:middle; }
.wrap { max-width:1380px; padding-inline:32px; }
main { padding-bottom:64px!important; }
h1 { font-size:30px; font-weight:700; } h2 { font-size:22px; } h3 { font-size:15px; }
button,.button { min-height:42px; font-size:14px; padding:9px 16px; border-radius:4px; }
button:disabled { opacity:.4; cursor:default; }
.brand { font-size:40px; font-weight:700; background:linear-gradient(100deg,#8c16c6,#df0073 60%,#ef2335); background-clip:text; color:transparent; }
.site { border-bottom:0; }
.nav { min-height:92px; gap:32px; }
.nav .category-menu>summary { display:flex; align-items:center; gap:10px; padding:12px 16px; font-size:13px; font-weight:600; }
.header-search { border-radius:4px; }
.header-search input { margin:0; min-height:44px; font-size:13px; }
.header-search .icon-button { min-height:44px; width:44px; }
.nav-links { gap:28px; font-size:13px; }
.account-link,.cart-link { display:flex; align-items:center; gap:10px; }
.account-link>svg,.cart-symbol>svg { width:27px; height:27px; }
.account-link span { display:grid; max-width:145px; white-space:normal; overflow-wrap:anywhere; }
.account-link strong { font-weight:500; }
.account-link small { color:var(--muted); font-size:11px; }
.cart-symbol { position:relative; }
.cart-symbol .badge { position:absolute; right:-7px; top:-7px; font-size:10px; min-width:18px; height:18px; }
.language-menu { position:relative; }
.language-menu summary { cursor:pointer; list-style:none; display:flex; align-items:center; gap:4px; min-height:42px; }
summary::-webkit-details-marker { display:none; }
.language-menu svg { width:14px; }
.language-options { position:absolute; right:0; top:100%; display:grid; background:white; border:1px solid var(--line); padding:8px; min-width:130px; z-index:50; box-shadow:0 4px 12px #0001; }
.language-options a { padding:8px; } .language-options [aria-current] { color:var(--accent); }
.category-bar { border:1px solid var(--line); border-radius:4px; min-height:54px; justify-content:space-around; gap:18px; width:calc(100% - 64px); max-width:1316px; padding:8px 20px; }
.category-bar>a,.category-bar>details>summary { display:flex; align-items:center; gap:12px; }
.category-bar svg { width:27px; height:27px; }
.category-dropdown a { display:block; }
.inner-page .category-bar { display:none; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:12px; margin:8px 0 24px; overflow-wrap:anywhere; }
.breadcrumbs a { color:var(--accent); } .breadcrumbs svg { width:14px; height:14px; }
.section-head { margin:24px 0 20px; }
.section-head>a { color:var(--accent); font-size:13px; display:inline-flex; align-items:center; gap:3px; }
.hero-slider { margin-top:16px; }
.hero { aspect-ratio:3.4/1; min-height:0; padding:36px 7%; border-radius:4px; }
.hero>img { object-fit:cover; }
.hero-copy { max-width:45%; }
.hero h1 { font-size:20px; margin:0 0 8px; }
.hero .campaign-headline { font-size:36px; line-height:1.12; font-weight:700; margin:0 0 16px; }
.hero p { font-size:16px; margin:0 0 22px; }
.hero .button { padding-inline:30px; }
.slider-controls { position:absolute; inset:0; display:flex; justify-content:space-between; align-items:center; margin:0; padding:10px; pointer-events:none; }
.slider-controls button { pointer-events:auto; border:0; border-radius:50%; padding:8px; width:38px; min-height:38px; background:#ffffffe0; }
.slider-dots { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:10px; }
.slider-dots button { padding:0; border:0; border-radius:50%; min-height:9px; width:9px; background:white; }
.slider-dots button[aria-pressed=true] { background:var(--accent); }
.product-selection { margin-bottom:34px; }
.grid { gap:16px; }
.home-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.card { display:flex; flex-direction:column; border-color:var(--line); }
.card>a { flex-shrink:0; }
.product-image { background:#fff; padding:8px; }
.product-image img { object-fit:contain; }
.card-body { padding:12px; display:flex; flex-direction:column; flex:1; }
.card h3 { font-size:13px; line-height:1.45; font-weight:400; min-height:38px; margin:0 0 4px; overflow-wrap:anywhere; }
.card .product-variant { margin-bottom:4px; }
.card .price { font-size:18px; line-height:1.25; margin:8px 0 12px; }
.card .button { font-size:12px; padding:8px 6px; min-height:38px; gap:6px; }
.card .button svg { width:17px; height:17px; }
.card-body>form,.card-body>.button { margin-top:auto; }
.catalog-layout { grid-template-columns:248px minmax(0,1fr); gap:20px; }
.catalog-layout .grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.filters { border:0; padding:0 18px 0 0; gap:0; }
.filter-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0 18px; border-bottom:1px solid var(--line); }
.filter-heading h2 { font-size:16px; margin:0; } .filter-heading a { color:var(--accent); font-size:11px; }
.filter-group { padding:18px 0; border-bottom:1px solid var(--line); }
.filter-group summary { list-style:none; display:flex; justify-content:space-between; font-weight:600; cursor:pointer; }
.filter-group[open] summary { margin-bottom:12px; }
.filter-group summary svg { width:14px; }
.filter-group label { margin:8px 0; color:var(--text); font-size:12px; }
.filter-group input[type=radio] { margin:0 6px 0 0; width:15px; min-height:15px; }
.price-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.filters>button { margin-top:18px; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin:0 0 18px; min-height:42px; }
.catalog-toolbar .muted { font-size:12px; }
.catalog-controls { display:flex; gap:12px; align-items:center; }
.catalog-controls select { width:210px; font-size:12px; margin:0; }
.view-switch { display:flex; gap:4px; }
.view-switch button { background:white; color:#888; padding:8px; width:38px; min-height:38px; }
.view-switch button[aria-pressed=true] { color:var(--accent); }
.catalog-results[data-view=list] .grid { grid-template-columns:minmax(0,1fr); }
.catalog-results[data-view=list] .card { display:grid; grid-template-columns:160px minmax(0,1fr); }
.catalog-results[data-view=list] .card-body { padding:18px; }
.catalog-results[data-view=list] .card-body>.button,.catalog-results[data-view=list] .card-body>form { max-width:220px; }
.pagination { justify-content:center; align-items:center; margin-top:28px; }
.pagination a,.pagination>span { min-width:38px; min-height:38px; border:1px solid var(--line); border-radius:4px; display:grid; place-items:center; padding:6px; }
.pagination [aria-current] { color:white; background:var(--accent); border-color:var(--accent); }
.product-page { padding-top:12px; gap:60px; }
.product-page h1 { font-size:25px; margin:12px 0; }
.product-page h2 { font-size:14px; margin-top:26px; }
.product-page .price { font-size:28px; margin:24px 0; }
.product-description { line-height:1.8; margin-top:35px; }
.product-gallery { display:grid; grid-template-columns:76px minmax(0,1fr); gap:16px; align-items:start; }
.product-gallery .detail-image { grid-column:2; grid-row:1; border:0; background:#fff; }
.product-gallery .thumbnails { grid-column:1; grid-row:1; display:flex; flex-direction:column; margin:0; max-height:540px; overflow:auto; }
.product-gallery .thumbnails button { width:70px; height:82px; border-radius:4px; padding:4px; }
.product-gallery .thumbnails button[aria-pressed=true] { border-color:var(--accent); }
.variant-option { min-height:44px; min-width:88px; justify-content:center; font-size:13px; }
.variant-option.active { border-width:1px; }
.stock::before { content:''; width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--green); margin-right:8px; }
.quantity-control { display:inline-flex; width:138px; height:42px; border:1px solid #dadce1; border-radius:4px; overflow:hidden; flex-shrink:0; }
.quantity-control input { width:48px; min-width:0; border:0; border-radius:0; margin:0; padding:4px; text-align:center; appearance:textfield; }
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button { appearance:none; }
.quantity-control button { width:44px; min-width:44px; background:white; color:#666; padding:8px; border-radius:0; }
.quantity-control button:first-child { border-right:1px solid var(--line); } .quantity-control button:last-child { border-left:1px solid var(--line); }
.quantity-control svg { width:15px; }
.quantity-label { display:grid; gap:10px; color:var(--text); }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; align-items:start; }
.cart-table th { background:#fafafa; color:#666; font-weight:400; }
.cart-table td { padding:20px 10px; font-size:13px; }
.cart-product { display:flex; align-items:center; gap:18px; min-width:180px; }
.cart-product img { width:70px; height:95px; object-fit:contain; flex-shrink:0; }
.cart-product strong { font-size:14px; } .cart-product small { display:block; margin-top:6px; }
.cart-quantity { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.cart-quantity>.icon-button { border:0; color:var(--accent); }
.remove-item { color:#888!important; background:white!important; }
.cart-clear { margin-top:20px; }
.cart-clear button { border:0; padding-left:0; }
.order-summary { border:1px solid var(--line); border-radius:4px; padding:22px; min-width:0; }
.order-summary h2 { font-size:20px; margin:0 0 22px; }
.order-summary p { font-size:13px; margin:18px 0; }
.order-summary .price { font-size:21px; color:var(--accent); border-top:1px solid var(--line); padding-top:20px; }
.order-summary>.button,.order-summary>button { width:100%; margin-top:12px; }
.summary-product { display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 0; }
.summary-product img { width:46px; height:64px; object-fit:contain; }
.summary-product span { font-size:12px; } .summary-product strong { font-size:12px; white-space:nowrap; }
.summary-product small { display:block; color:var(--muted); }
.checkout-layout { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:30px; }
.checkout-layout>.field-stack { gap:28px; }
.checkout-layout h2 { font-size:19px; margin:0; padding-top:20px; border-top:1px solid var(--line); }
.checkout-layout>.field-stack>h2:first-child { border-top:0; padding-top:0; }
.checkout-layout label { color:#222; font-size:13px; }
.checkout-layout input,.checkout-layout select,.checkout-layout textarea { font-size:13px; }
.auth-form { max-width:430px; padding:26px; border:1px solid var(--line); border-radius:4px; margin:28px auto 48px; }
.auth-form h1 { font-size:23px; text-align:center; margin-bottom:30px; }
.auth-symbol { color:var(--accent); width:58px; height:58px; display:grid; place-items:center; background:#fde8f1; border-radius:50%; margin:0 auto 20px; }
.auth-symbol svg { width:29px; height:29px; }
.auth-form nav { border-top:1px solid var(--line); padding-top:22px; justify-content:center; }
.auth-form nav a { color:var(--accent); }
.password-field { display:flex; border:1px solid #cfd1d6; border-radius:4px; margin-top:5px; overflow:hidden; }
.password-field input { border:0; margin:0; min-width:0; }
.password-field button { background:white; color:#666; border:0; width:42px; padding:8px; flex-shrink:0; }
.account-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; align-items:start; }
.account-sidebar { border-right:1px solid var(--line); padding-right:22px; position:sticky; top:20px; }
.customer-identity { display:flex; align-items:center; gap:12px; margin:12px 0 25px; }
.customer-identity>span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#fff; font-weight:700; flex-shrink:0; }
.customer-identity small { display:block; overflow-wrap:anywhere; color:var(--muted); font-size:11px; }
.account-sidebar nav { display:grid; gap:6px; }
.account-sidebar nav a { padding:10px; display:flex; gap:12px; align-items:center; font-size:13px; }
.account-sidebar nav a.active { color:var(--accent); background:#fdf0f6; border-radius:4px; }
.account-sidebar>form { margin-top:18px; }
.account-sidebar>form button { color:#444; border:0; padding-left:10px; }
.account-content { min-width:0; }
.account-section { padding-top:0; margin-bottom:30px; scroll-margin-top:20px; }
.account-section h2 { font-size:20px; }
.account-section .form-grid { margin:16px 0; }
.account-section thead { background:#fafafa; }
.account-section td a { color:var(--accent); }
.status-tag { display:inline-block; font-size:11px; border-radius:12px; padding:3px 9px; color:#a66500; background:#fff7e5; white-space:normal; }
.status-tag.paid { color:#178458; background:#eaf8ef; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:50px; align-items:start; }
.contact-layout h2 { font-size:19px; margin-top:0; }
.contact-entry { display:flex; align-items:flex-start; gap:18px; margin:28px 0; overflow-wrap:anywhere; }
.contact-entry>svg { color:var(--accent); width:24px; height:24px; margin-top:2px; }
.contact-entry p { margin:6px 0; }
.contact-layout .field-stack { border-left:1px solid var(--line); padding-left:36px; }
.empty-state { min-height:320px; display:grid; align-content:center; justify-items:start; gap:14px; }
.empty-state>svg { width:38px; height:38px; color:var(--accent); }
footer { background:#f7f7f8; margin:0 18px; padding:28px 0 0; }
.footer-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:26px; font-size:12px; }
.footer-grid h3 { font-size:13px; font-weight:600; margin:0 0 16px; }
.footer-grid a { color:#555; margin:10px 0; overflow-wrap:anywhere; }
.footer-grid p { color:#666; }
.footer-grid svg { width:15px; height:15px; margin-right:6px; }
.footer-bottom { border-top:1px solid #ececef; margin-top:22px; padding-top:18px; padding-bottom:24px; color:#666; font-size:11px; }
.social-links { display:flex; gap:10px; }
.social-links a { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:white; background:#e50067; }
.social-links a.social-youtube { background:#e52023; } .social-links a.social-telegram { background:#00a5d9; }
.social-links svg { margin:0; width:18px; height:18px; }
@media(max-width:1199px) {
    .nav { gap:18px; } .nav-links { gap:16px; } .account-link small { display:none; }
    .catalog-layout { grid-template-columns:210px minmax(0,1fr); } .catalog-layout .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .cart-layout { grid-template-columns:minmax(0,1fr) 280px; gap:18px; } .cart-product { min-width:140px; gap:10px; }
    .quantity-control { width:116px; } .quantity-control button { width:36px; min-width:36px; } .quantity-control input { width:42px; }
    .hero .campaign-headline { font-size:30px; }
}
@media(max-width:1023px) {
    .wrap { padding-inline:24px; } .nav { padding-top:18px; padding-bottom:18px; min-height:0; }
    .header-search { order:4; flex-basis:100%; } .brand { font-size:34px; } .nav-links { margin-left:auto; }
    .category-bar { width:calc(100% - 48px); }
    .hero { padding:24px 5%; } .hero-copy { max-width:48%; } .hero .campaign-headline { font-size:27px; } .hero p { font-size:13px; margin-bottom:12px; }
    .home-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .cart-layout,.checkout-layout { grid-template-columns:minmax(0,1fr); }
    .checkout-layout .order-summary { padding:22px; border:1px solid var(--line); }
    .product-page { gap:24px; } .product-gallery { grid-template-columns:52px minmax(0,1fr); gap:10px; } .product-gallery .thumbnails button { width:48px; height:60px; }
    .account-layout { grid-template-columns:190px minmax(0,1fr); gap:20px; }
}
@media(max-width:767px) {
    .wrap { padding-inline:16px; } .nav { gap:14px; } .brand { font-size:30px; }
    .nav-links { gap:14px; } .account-link span,.cart-link>span:last-child { display:none; } .nav .category-menu>summary { padding:8px; }
    .nav-links svg { width:23px; height:23px; } .language-menu svg { width:13px; } .nav .category-menu { margin-left:auto; }
    .category-bar { display:none; } .breadcrumbs { margin-top:5px; margin-bottom:18px; font-size:11px; }
    .section-head { margin:20px 0 16px; } h1,.section-head h1 { font-size:25px; } h2,.section-head h2 { font-size:19px; }
    .hero { aspect-ratio:auto; min-height:310px; padding:24px; align-items:flex-start; }
    .hero>img { object-fit:cover; object-position:65% center; opacity:.7; }
    .hero-copy { max-width:62%; } .hero h1 { font-size:18px; } .hero .campaign-headline { font-size:28px; } .hero .button { padding-inline:14px; }
    .home-grid,.catalog-layout .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .card-body { padding:10px; } .card h3 { min-height:55px; font-size:12px; } .card .price { font-size:16px; } .card .button { font-size:11px; }
    .catalog-layout { grid-template-columns:minmax(0,1fr); }
    .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding-right:0; }
    .filter-heading { grid-column:1/-1; } .filter-group { padding:12px 0; min-width:0; }
    .catalog-toolbar { align-items:flex-start; } .catalog-controls { margin-left:auto; } .catalog-controls select { width:180px; }
    .product-page { grid-template-columns:minmax(0,1fr); } .product-gallery { grid-template-columns:56px minmax(0,1fr); }
    .product-gallery .thumbnails button { width:52px; height:62px; } .product-page h1 { font-size:24px; }
    .product-description { margin-top:22px; } .product-page .price { font-size:26px; }
    .cart-table tr { grid-template-columns:1fr 1fr; } .cart-table td { padding:8px; }
    .cart-table td:nth-child(3) { grid-column:1/-1; grid-row:3; }
    .cart-product { min-width:0; } .cart-product strong { font-size:13px; } .cart-product img { width:55px; height:78px; }
    .order-summary { padding:20px; } .order-summary p { font-size:13px; }
    .account-layout { grid-template-columns:minmax(0,1fr); } .account-sidebar { position:static; border-right:0; border-bottom:1px solid var(--line); padding:0 0 15px; }
    .account-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; } .account-sidebar nav a { padding:8px; font-size:12px; }
    .customer-identity { margin:0 0 15px; } .account-sidebar>form { margin-top:6px; }
    .auth-form { padding:22px; } .auth-form h1 { font-size:22px; }
    .contact-layout { grid-template-columns:minmax(0,1fr); gap:20px; } .contact-layout .field-stack { border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:22px; }
    footer { margin-inline:0; } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
}
@media(max-width:360px) {
    .nav-links { width:auto; gap:10px; } .nav { gap:10px; } .brand { font-size:28px; }
    .hero { padding:20px; min-height:300px; } .hero-copy { max-width:70%; } .hero .campaign-headline { font-size:25px; }
    .card .button svg { display:none; } .card .price { font-size:14px; }
    .catalog-controls { width:100%; justify-content:space-between; } .catalog-controls select { width:190px; }
    .filters { grid-template-columns:minmax(0,1fr); } .catalog-results[data-view=list] .card { grid-template-columns:100px minmax(0,1fr); }
    .catalog-results[data-view=list] .card-body { padding:10px; }
}
