:root{--color-primary: #8B1A1A;--color-primary-dark: #6B1212;--color-primary-light: #A83030;--color-secondary: #C8972B;--color-accent: #D4A853;--color-accent-light: #E8C87A;--color-bg: #FDF8F0;--color-bg-alt: #F5EDD8;--color-dark: #2D1B0E;--color-dark-alt: #4A2E18;--color-text: #3A2010;--color-text-muted: #7A5A3A;--color-white: #FFFFFF;--color-border: #E8D5B0;--color-success: #2D7A4F;--color-warning: #C8972B;--color-error: #8B1A1A;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--shadow-sm: 0 1px 3px rgba(45,27,14,.08);--shadow-md: 0 4px 16px rgba(45,27,14,.12);--shadow-lg: 0 8px 32px rgba(45,27,14,.16);--shadow-xl: 0 16px 48px rgba(45,27,14,.2);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:16px}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--color-dark);line-height:1.25}.section-title{font-size:clamp(1.6rem,3vw,2.4rem);font-family:var(--font-heading);color:var(--color-dark);position:relative;display:inline-block}.section-title:after{content:"";position:absolute;left:0;bottom:-8px;width:48px;height:3px;background:var(--color-secondary);border-radius:2px}.container{max-width:1280px;margin:0 auto;padding:0 24px}.section{padding:80px 0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:var(--radius-sm);font-weight:500;font-size:.95rem;border:2px solid transparent;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-secondary);color:var(--color-white);border-color:var(--color-secondary)}.btn-secondary:hover{background:#a87820;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text);border-color:transparent}.btn-ghost:hover{background:var(--color-bg-alt)}.btn-buy-now{position:relative;overflow:hidden}.btn-buy-now:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s}.btn-buy-now:hover:not(:disabled):after{left:100%}.card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:var(--transition)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-card{background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition)}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.product-card__image{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--color-bg-alt)}.product-card__image img{width:100%;height:100%;object-fit:cover}.product-card__badge{position:absolute;top:12px;left:12px;background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.product-card__body{padding:18px}.product-card__category{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.product-card__name{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--color-dark);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__price{font-size:1.05rem;font-weight:600;color:var(--color-primary);margin-bottom:14px}.product-card__actions{display:flex;gap:8px}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fdf8f0d9;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--color-border);transition:background .4s ease,box-shadow .4s ease,border-color .4s ease}.navbar.scrolled{background:#fdf8f0eb;box-shadow:0 6px 28px #2d1b0e1a;border-bottom-color:#c8972b47}.navbar--transparent{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}.navbar--transparent:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#28080880,#28080800);pointer-events:none}.navbar__inner{position:relative;display:flex;align-items:center;justify-content:space-between;height:70px;gap:32px;transition:height .4s cubic-bezier(.4,0,.2,1)}.navbar--transparent .navbar__inner{height:88px}.navbar__logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);display:flex;align-items:center;gap:12px;flex-shrink:0;letter-spacing:.01em}.navbar__logo-mark{color:var(--color-secondary);flex-shrink:0;filter:drop-shadow(0 0 6px rgba(200,151,43,.35));transition:transform .6s cubic-bezier(.4,0,.2,1)}.navbar__logo:hover .navbar__logo-mark{transform:translateY(-2px) scale(1.06)}.navbar__logo-accent{color:var(--color-secondary);font-style:italic;font-weight:500}.navbar--transparent .navbar__logo{color:#fdf8f0}.navbar__nav{display:flex;align-items:center;gap:4px;list-style:none}.navbar__nav a{position:relative;padding:8px 16px;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text);transition:color .25s ease}.navbar__nav a:after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:1.5px;background:var(--color-secondary);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}@media(min-width:769px){.navbar__nav a{justify-content:center;min-width:120px}}.navbar__nav a:hover,.navbar__nav a.active{color:var(--color-primary)}.navbar__nav a:hover:after,.navbar__nav a.active:after{transform:scaleX(1)}.navbar--transparent .navbar__nav a{color:#fdf8f0d1}.navbar--transparent .navbar__nav a:hover,.navbar--transparent .navbar__nav a.active{color:#fff}.navbar__actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.navbar__cart{position:relative;color:var(--color-dark);transition:color .25s ease,transform .25s ease;display:flex;align-items:center}.navbar__cart:hover{color:var(--color-primary);transform:translateY(-1px)}.navbar--transparent .navbar__cart{color:#fdf8f0e6}.navbar--transparent .navbar__cart:hover{color:var(--color-accent)}.navbar__cart-badge{position:absolute;top:-7px;right:-9px;background:var(--color-secondary);color:#2d1b0e;font-size:.62rem;font-weight:700;min-width:17px;height:17px;padding:0 4px;border-radius:20px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px #00000040}.navbar__divider{width:1px;height:22px;background:var(--color-border)}.navbar--transparent .navbar__divider{background:#ffffff38}.navbar__btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;font-family:var(--font-body);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border-radius:3px;border:1.5px solid var(--color-secondary);color:var(--color-secondary);background:transparent;transition:all .3s ease}.navbar__btn:hover{background:var(--color-secondary);color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px #c8972b4d}.navbar--transparent .navbar__btn{color:var(--color-accent);border-color:var(--color-accent)}.navbar--transparent .navbar__btn:hover{background:var(--color-accent);color:#2d1b0e}.navbar__mobile-toggle{display:none;background:none;border:none;color:var(--color-dark);padding:6px}.navbar--transparent .navbar__mobile-toggle{color:#fdf8f0}.hero{margin-top:70px;position:relative;height:calc(100vh - 70px);min-height:520px;overflow:hidden}.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}.hero__slide.active{opacity:1}.hero__slide img{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,#2d1b0ebf,#2d1b0e66,#2d1b0e1a)}.hero__content{position:absolute;inset:0;display:flex;align-items:center}.hero__text{max-width:560px;color:#fff}.hero__tag{display:inline-block;background:#c8972b40;border:1px solid rgba(200,151,43,.5);color:var(--color-accent-light);font-size:.8rem;font-weight:500;padding:6px 16px;border-radius:20px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.hero__title{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;color:#fff;line-height:1.15;margin-bottom:16px}.hero__subtitle{font-size:1.05rem;color:#ffffffd9;margin-bottom:32px;line-height:1.6}.hero__buttons{display:flex;gap:14px;flex-wrap:wrap}.hero__dots{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;gap:8px}.hero__dot{width:8px;height:8px;border-radius:50%;background:#fff6;border:none;cursor:pointer;transition:var(--transition)}.hero__dot.active{background:var(--color-accent);width:24px;border-radius:4px}.featured-section{background:linear-gradient(to bottom,transparent 82%,#F5EDD8 100%),linear-gradient(to right,#fdf8f0,#fdf8f000 20% 80%,#fdf8f0),linear-gradient(#fdf8f0f9,#fdf8f0f9),url(/images/batik-cloth-hd.jpg) center / cover no-repeat}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.about-section{background:linear-gradient(to bottom,#F5EDD8 0%,transparent 12%,transparent 86%,#FDF8F0 100%),linear-gradient(#f5edd8e0,#f5edd8),url(/images/download.jpg) center / 750px repeat}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.about-image-wrap{position:relative}.about-image-wrap img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.about-image-wrap:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:3px solid var(--color-secondary);border-radius:var(--radius-lg);z-index:-1}.about-content .section-title{margin-bottom:24px}.about-content p{color:var(--color-text-muted);margin-bottom:16px;line-height:1.8}.dyes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.dye-card{background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--color-border)}.dye-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dye-card__swatch{height:100px;position:relative}.dye-card__body{padding:16px}.dye-card__name{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--color-dark);margin-bottom:6px}.dye-card__desc{font-size:.83rem;color:var(--color-text-muted);line-height:1.5}.shop-section{background:var(--color-dark);color:var(--color-white)}.shop-section .section-title{color:var(--color-accent-light)}.shop-section .section-title:after{background:var(--color-secondary)}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.shop-info-list{list-style:none}.shop-info-list li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.93rem;color:#ffffffd9}.shop-info-list li:last-child{border-bottom:none}.shop-icon{color:var(--color-secondary);font-size:1.1rem;flex-shrink:0;margin-top:2px}.shop-map{border-radius:var(--radius-md);overflow:hidden;height:300px}.shop-map iframe{width:100%;height:100%;border:none}.footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#2a0e0a,#1a0805 55%,#130504);color:#ffffffb8;padding:80px 0 34px}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:2;background:linear-gradient(to right,transparent,rgba(200,151,43,.5) 15%,rgba(200,151,43,.5) 85%,transparent)}.footer__pattern{position:absolute;inset:0;z-index:0;background-image:repeating-linear-gradient(135deg,rgba(200,151,43,.05) 0 1px,transparent 1px 13px);pointer-events:none}.footer .container{position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr;gap:56px;margin-bottom:56px}.footer__brand-logo{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:#fdf8f0;margin-bottom:18px;letter-spacing:.01em}.footer__brand-accent{color:var(--color-secondary);font-style:italic;font-weight:400}.footer__tagline{font-size:.9rem;line-height:1.8;color:#fff9;margin-bottom:26px;max-width:340px}.footer__socials{display:flex;gap:12px}.footer__social-link{width:42px;height:42px;border-radius:50%;border:1px solid rgba(200,151,43,.4);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:1rem;transition:all .3s ease}.footer__social-link:hover{background:linear-gradient(135deg,var(--color-secondary),var(--color-accent));border-color:transparent;color:#2d1b0e;transform:translateY(-3px);box-shadow:0 8px 20px #c8972b40}.footer__eyebrow{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.26em;color:#c8972bcc;margin-bottom:14px}.footer__seal{display:flex;align-items:center;gap:13px;margin:4px 0 28px}.footer__seal-icon{width:46px;height:46px;border:1.5px solid rgba(200,151,43,.45);border-radius:50%;display:grid;place-items:center;color:var(--color-accent);flex-shrink:0}.footer__seal-icon svg{width:24px;height:24px}.footer__seal-title{font-family:var(--font-heading);font-size:.98rem;color:#fdf8f0}.footer__seal-sub{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#c8972bbf;margin-top:3px}.footer__heading{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:#fdf8f0;margin-bottom:22px;letter-spacing:.01em}.footer__links{list-style:none}.footer__links li+li{margin-top:13px}.footer__links a{font-size:.9rem;color:#fff9;transition:color .25s ease,padding-left .25s ease}.footer__links a:hover{color:var(--color-accent-light);padding-left:6px}.footer__contact{list-style:none}.footer__contact li{display:flex;align-items:flex-start;gap:11px;font-size:.9rem;color:#fff9;line-height:1.6}.footer__contact li+li{margin-top:15px}.footer__contact i{color:var(--color-accent);font-size:.95rem;margin-top:3px;flex-shrink:0}.footer__contact a{color:inherit;transition:color .25s ease}.footer__contact a:hover{color:var(--color-accent-light)}.footer__bottom{border-top:1px solid rgba(200,151,43,.16);padding-top:28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#ffffff73}.footer__bottom-note{color:#c8972bb3;letter-spacing:.14em;font-size:.74rem;text-transform:uppercase}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.88rem;font-weight:500;color:var(--color-dark);margin-bottom:8px}.form-control{width:100%;padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;color:var(--color-text);background:var(--color-white);transition:border-color .2s,box-shadow .2s;outline:none}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b1a1a1a}.form-control::placeholder{color:var(--color-text-muted)}.form-error{font-size:.8rem;color:var(--color-error);margin-top:6px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.badge-primary{background:#8b1a1a1a;color:var(--color-primary)}.badge-gold{background:#c8972b26;color:#8b6910}.badge-success{background:#2d7a4f1a;color:var(--color-success)}.page-header{margin-top:70px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);padding:56px 0;text-align:center;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C8972B' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.page-header h1{font-family:var(--font-heading);font-size:clamp(1.8rem,3vw,2.8rem);color:#fff;position:relative}.page-header p{color:#fffc;margin-top:8px;font-size:1rem;position:relative}.filter-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--color-border);margin-bottom:28px}.filter-chip{padding:8px 18px;min-width:100px;text-align:center;border-radius:20px;border:1.5px solid var(--color-border);background:var(--color-white);font-size:.88rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:var(--transition)}.filter-chip:hover,.filter-chip.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.search-bar{display:flex;align-items:center;gap:8px;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 16px;flex:1;max-width:360px;transition:border-color .2s}.search-bar:focus-within{border-color:var(--color-primary)}.search-bar input{border:none;outline:none;font-family:var(--font-body);font-size:.93rem;color:var(--color-text);background:transparent;flex:1}.search-bar input::placeholder{color:var(--color-text-muted)}.cart-table{width:100%;border-collapse:collapse}.cart-table th{text-align:left;font-size:.83rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:12px 16px;border-bottom:2px solid var(--color-border)}.cart-table td{padding:16px;vertical-align:middle;border-bottom:1px solid var(--color-border)}.cart-table .qty-control{display:flex;align-items:center;gap:8px}.cart-table .qty-btn{width:28px;height:28px;border:1.5px solid var(--color-border);background:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:var(--transition)}.cart-table .qty-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:260px;background:var(--color-dark);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}.admin-sidebar__logo{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--font-heading);font-size:1.2rem;color:#fff}.admin-sidebar__logo span{color:var(--color-secondary)}.admin-sidebar__nav{flex:1;padding:16px 12px;list-style:none}.admin-sidebar__nav li+li{margin-top:2px}.admin-sidebar__nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.9rem;color:#ffffffb3;transition:var(--transition)}.admin-sidebar__nav a:hover,.admin-sidebar__nav a.active{background:#c8972b26;color:var(--color-accent-light)}.admin-sidebar__nav .nav-group-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#ffffff4d;padding:12px 12px 4px;font-weight:600}.admin-main{margin-left:260px;flex:1;display:flex;flex-direction:column;min-height:100vh;background:#f7f5f0}.admin-topbar{background:#fff;border-bottom:1px solid var(--color-border);padding:0 28px;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.admin-content{padding:28px;flex:1}.admin-page-title{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-dark);margin-bottom:24px}.alert{padding:14px 18px;border-radius:var(--radius-sm);font-size:.9rem;display:flex;align-items:center;gap:10px;margin-bottom:16px}.alert-success{background:#2d7a4f1a;border:1px solid rgba(45,122,79,.2);color:var(--color-success)}.alert-error{background:#8b1a1a14;border:1px solid rgba(139,26,26,.2);color:var(--color-primary)}.image-upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:40px;text-align:center;cursor:pointer;transition:var(--transition);color:var(--color-text-muted)}.image-upload-area:hover,.image-upload-area.drag-over{border-color:var(--color-primary);background:#8b1a1a05;color:var(--color-primary)}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:16px}.image-thumb{position:relative;aspect-ratio:500 / 750;border-radius:var(--radius-sm);overflow:hidden;border:2px solid var(--color-border)}.image-thumb.primary{border-color:var(--color-secondary)}.image-thumb img{width:100%;height:100%;object-fit:cover}.image-thumb__remove{position:absolute;top:4px;right:4px;background:#8b1a1ad9;color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.p-component,.p-component *{font-family:var(--font-body)}.p-button.p-button-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.p-button.p-button-primary:hover{background:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important}.p-datatable .p-datatable-thead>tr>th{background:var(--color-bg-alt)!important;color:var(--color-dark)!important;font-family:var(--font-body)!important}@media(max-width:1024px){.about-grid{grid-template-columns:1fr;gap:40px}.shop-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.admin-sidebar{transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0}}@media(max-width:768px){.navbar__nav{display:none}.navbar__mobile-toggle{display:flex}.navbar--transparent .navbar__inner{height:70px}.navbar__nav.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:70px;left:0;right:0;background:var(--color-bg);padding:12px;box-shadow:var(--shadow-md);border-top:1px solid var(--color-border)}.navbar__nav.open a{padding:12px 14px;border-radius:var(--radius-sm)}.navbar__nav.open a:after{display:none}.navbar__nav.open a:hover,.navbar__nav.open a.active{background:#8b1a1a0f}.navbar--transparent .navbar__nav.open a{color:var(--color-text)}.navbar--transparent .navbar__nav.open a:hover,.navbar--transparent .navbar__nav.open a.active{color:var(--color-primary)}.products-grid{grid-template-columns:repeat(2,1fr);gap:16px}.dyes-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.hero__title{font-size:1.8rem}.section{padding:56px 0}}@media(max-width:480px){.products-grid{grid-template-columns:1fr 1fr;gap:12px}.container{padding:0 16px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{animation:fadeInUp .6s ease both}.animate-fade-in{animation:fadeIn .4s ease both}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.catalog-layout{display:flex;flex-direction:column;gap:32px;align-items:flex-start}@media(min-width:768px){.catalog-layout{flex-direction:row}}.catalog-sidebar{width:100%;flex-shrink:0}@media(min-width:768px){.catalog-sidebar{width:250px;position:sticky;top:100px}}.filter-group{margin-bottom:24px;border-bottom:1px solid var(--color-border);padding-bottom:16px}.filter-group-header{font-size:.85rem;font-weight:500;letter-spacing:.1em;color:#333;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.filter-group-content{display:flex;flex-direction:column;gap:12px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#555;cursor:pointer;text-transform:capitalize}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.catalog-main{flex-grow:1;width:100%}.catalog-main-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border-bottom:1px solid var(--color-border);padding-bottom:12px}.catalog-product-count{font-size:.9rem;color:var(--color-text-muted);font-weight:500}.sort-container{display:flex;align-items:center;gap:8px}.sort-label{font-size:.9rem;color:var(--color-text-muted);font-weight:500}.custom-dropdown{position:relative;display:inline-block}.custom-dropdown-trigger{display:flex;align-items:center;gap:8px;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 14px;font-size:.9rem;font-weight:500;color:var(--color-dark);cursor:pointer;transition:var(--transition);outline:none;box-shadow:var(--shadow-sm)}.custom-dropdown-trigger:hover{border-color:var(--color-secondary);background-color:var(--color-bg)}.dropdown-arrow{font-size:.75rem;color:var(--color-text-muted);transition:transform .2s ease}.arrow-rotate{transform:rotate(180deg)}.custom-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:100;min-width:180px;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px 0;display:flex;flex-direction:column;overflow:hidden}.custom-dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 16px;background:transparent;border:none;font-size:.88rem;font-weight:500;color:var(--color-text);cursor:pointer;text-align:left;transition:background-color .2s,color .2s}.custom-dropdown-item:hover{background-color:var(--color-bg-alt);color:var(--color-primary)}.custom-dropdown-item.is-active{background-color:#8b1a1a0f;color:var(--color-primary);font-weight:600}.dropdown-check{font-size:.75rem;color:var(--color-primary)}.dropdown-fade-enter-active,.dropdown-fade-leave-active{transition:opacity .15s ease,transform .15s ease}.dropdown-fade-enter-from,.dropdown-fade-leave-to{opacity:0;transform:translateY(-8px)}.catalog-sidebar .p-slider{background:#f0f0f0!important;height:4px!important;border-radius:2px!important;border:none!important;box-shadow:none!important}.catalog-sidebar .p-slider .p-slider-range{background:#111!important}.catalog-sidebar .p-slider .p-slider-handle{background:#111!important;border:2px solid #fff!important;width:18px!important;height:18px!important;border-radius:50%!important;box-shadow:0 1px 3px #0000004d!important;margin-top:-7px!important}.catalog-sidebar .p-slider .p-slider-handle:hover,.catalog-sidebar .p-slider .p-slider-handle:focus{background:#000!important;box-shadow:0 0 0 3px #0000001a!important}
