.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius);font-size:var(--text-sm);font-weight:600;letter-spacing:0.02em;text-align:center;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled="true"]{opacity:0.5;cursor:not-allowed;transform:none}.btn--primary{background-color:var(--gold);color:var(--on-gold)}.btn--primary:hover:not([disabled]){background-color:var(--gold-dark)}.btn--secondary{background-color:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn--secondary:hover:not([disabled]){background-color:var(--surface-hover);border-color:var(--text-secondary)}.btn--ghost{background-color:transparent;color:var(--text-secondary);padding-inline:var(--space-3)}.btn--ghost:hover:not([disabled]){color:var(--text-primary);background-color:var(--surface-hover)}.btn--danger{background-color:var(--danger);color:var(--on-danger)}.btn--danger:hover:not([disabled]){filter:brightness(0.92)}.btn--block{width:100%}.btn--sm{min-height:var(--tap-target);padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-target);height:var(--tap-target);border-radius:var(--radius-full);color:var(--text-primary);background-color:transparent;transition:background-color var(--transition-fast),color var(--transition-fast)}.btn-icon:hover{background-color:var(--surface-hover)}.btn-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--text-sm);font-weight:600}.field__required{color:var(--danger)}.field__hint{font-size:var(--text-xs);color:var(--text-secondary)}.field__control,.input,.select,.textarea{width:100%;min-height:var(--tap-target);padding:var(--space-3) var(--space-4);background-color:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder,.textarea::placeholder{color:var(--text-secondary);opacity:0.8}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.textarea{min-height:120px;resize:vertical}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 15px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-inline-end:var(--space-7)}[dir="rtl"] .select{background-position:20px calc(50% + 2px),15px calc(50% + 2px)}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--danger)}.field--error .input:focus,.field--error .select:focus,.field--error .textarea:focus{box-shadow:0 0 0 3px var(--danger-soft)}.field__error{font-size:var(--text-xs);color:var(--danger)}.field__error:empty{display:none}.checkbox,.radio{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-target);cursor:pointer}.checkbox input,.radio input{width:18px;height:18px;accent-color:var(--gold);flex:none}.hp-field{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:0.25rem var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;background-color:var(--surface-sunken);color:var(--text-secondary);white-space:nowrap}.badge--new{background-color:var(--gold-soft);color:var(--gold-text)}.badge--sale{background-color:var(--danger);color:var(--on-danger)}.badge--success{background-color:var(--success-soft);color:var(--success)}.badge--danger{background-color:var(--danger-soft);color:var(--danger)}.badge--sold-out{background-color:var(--text-secondary);color:var(--background)}.price{display:inline-flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.price__current{font-weight:700;color:var(--text-primary)}.price--discounted .price__current{color:var(--danger)}.price__old{color:var(--text-secondary);text-decoration:line-through;font-size:var(--text-sm)}.price__off{font-size:var(--text-xs);font-weight:700;color:var(--danger)}.price--lg .price__current{font-size:var(--text-h3)}.product-card{display:flex;flex-direction:column;gap:var(--space-3);position:relative}.product-card__media{position:relative;aspect-ratio:3 / 4;overflow:hidden;border-radius:var(--radius);background-color:var(--surface)}.product-card__media-link{display:block;width:100%;height:100%}.product-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--transition),transform 600ms ease}.product-card__image--empty{background-color:var(--surface-sunken)}.product-card__image--hover{opacity:0}.product-card:hover .product-card__image--hover.is-loaded,.product-card:focus-within .product-card__image--hover.is-loaded{opacity:1}.product-card:hover .product-card__image,.product-card:focus-within .product-card__image{transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.product-card:hover .product-card__image,.product-card:focus-within .product-card__image{transform:none}}.product-card__badges{position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);pointer-events:none}.product-card__badges .badge--new{background-color:var(--gold);color:var(--on-gold)}.product-card__wishlist{position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2);width:var(--tap-target);height:var(--tap-target);display:grid;place-items:center;border-radius:var(--radius-full);background-color:var(--background);color:var(--text-secondary);box-shadow:var(--shadow-sm);transition:color var(--transition-fast),transform var(--transition-fast)}.product-card__wishlist svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.product-card__wishlist:hover{color:var(--danger)}.product-card__wishlist[aria-pressed="true"]{color:var(--danger)}.product-card__wishlist[aria-pressed="true"] svg{fill:currentColor}.product-card__sold-out{position:absolute;inset-block-end:0;inset-inline:0;padding:var(--space-2);text-align:center;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;background-color:var(--text-primary);color:var(--background)}.product-card--sold-out .product-card__image{opacity:0.55}.product-card__body{display:flex;flex-direction:column;gap:var(--space-2)}.product-card__category{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary)}.product-card__name{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;line-height:1.4}.product-card__link{color:var(--text-primary)}.product-card__link:hover{color:var(--gold-text)}.product-card__link:focus-visible{outline:none}.product-card:focus-within{outline:2px solid var(--gold-text);outline-offset:4px;border-radius:var(--radius)}.product-card__colors{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.product-card__color{display:inline-flex;align-items:center}.product-card__dot{display:block;width:14px;height:14px;border-radius:var(--radius-full);border:1px solid var(--border-strong);overflow:hidden}.product-card__dot svg{width:100%;height:100%}.product-card__color.is-unavailable .product-card__dot{opacity:0.4;position:relative}.product-card__color.is-unavailable .product-card__dot::after{content:"";position:absolute;inset-inline:-2px;inset-block-start:50%;height:1px;background-color:var(--text-secondary);transform:rotate(-45deg)}.product-card__color-more{font-size:var(--text-xs);color:var(--text-secondary)}.product-grid{display:grid;gap:var(--space-5) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:359px){.product-grid{grid-template-columns:minmax(0,1fr)}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);padding-block:var(--space-4)}.breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--space-2)}.breadcrumbs__link{display:inline-flex;align-items:center;min-height:var(--tap-target)}.breadcrumbs__item + .breadcrumbs__item::before{content:"/";color:var(--border-strong)}.breadcrumbs__link:hover{color:var(--gold-text)}.breadcrumbs__current{color:var(--text-primary);font-weight:600}.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding-block:var(--space-6)}.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-target);height:var(--tap-target);padding-inline:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.pagination__link:hover{background-color:var(--surface-hover);border-color:var(--border-strong)}.pagination__link[aria-current="page"]{background-color:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:700}.pagination__link[aria-disabled="true"]{opacity:0.45;pointer-events:none}.pagination__ellipsis{padding-inline:var(--space-2);color:var(--text-secondary)}.overlay{position:fixed;inset:0;z-index:var(--z-overlay);background-color:var(--overlay);opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}.overlay.is-open{opacity:1;visibility:visible}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-4);visibility:hidden;opacity:0;transition:opacity var(--transition),visibility var(--transition)}.modal.is-open{visibility:visible;opacity:1}.modal__dialog{width:min(560px,100%);max-height:85vh;overflow-y:auto;background-color:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:translateY(12px) scale(0.98);transition:transform var(--transition)}.modal.is-open .modal__dialog{transform:none}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-block-end:1px solid var(--border)}.modal__title{font-family:var(--font-heading);font-size:var(--text-h4)}.modal__body{padding:var(--space-5)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);border-block-start:1px solid var(--border)}.modal--confirm .modal__dialog{width:min(420px,100%);text-align:center}.modal--confirm .modal__footer{justify-content:center}.modal--confirm .modal__icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background-color:var(--danger-soft);color:var(--danger)}.drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-drawer);width:min(340px,88vw);display:flex;flex-direction:column;background-color:var(--background);border-inline-end:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translateX(-100%);visibility:hidden;transition:transform var(--transition),visibility var(--transition)}.drawer.is-open{transform:translateX(0);visibility:visible}[dir="rtl"] .drawer{transform:translateX(100%)}[dir="rtl"] .drawer.is-open{transform:translateX(0)}.drawer--end{inset-inline-start:auto;inset-inline-end:0;border-inline-end:0;border-inline-start:1px solid var(--border);transform:translateX(100%)}[dir="rtl"] .drawer--end{transform:translateX(-100%)}.drawer--end.is-open,[dir="rtl"] .drawer--end.is-open{transform:translateX(0)}.drawer__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-block-end:1px solid var(--border);min-height:var(--header-height)}.drawer__body{flex:1;overflow-y:auto;padding:var(--space-4);-webkit-overflow-scrolling:touch}.drawer__footer{padding:var(--space-4);border-block-start:1px solid var(--border)}.drawer__nav{display:flex;flex-direction:column}.drawer__link{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap-target);padding:var(--space-3) var(--space-2);border-block-end:1px solid var(--border);font-size:var(--text-base)}.drawer__link:hover,.drawer__link.is-active{color:var(--gold-text)}.toast-stack{position:fixed;inset-block-end:var(--space-5);inset-inline-end:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);width:min(360px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background-color:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border);border-inline-start:3px solid var(--text-secondary);border-radius:var(--radius);box-shadow:var(--shadow-md);pointer-events:auto;animation:toast-in var(--transition) both}.toast.is-leaving{animation:toast-out var(--transition) both}.toast--success{border-inline-start-color:var(--success)}.toast--error{border-inline-start-color:var(--danger)}.toast--info{border-inline-start-color:var(--gold)}.toast__body{flex:1;font-size:var(--text-sm)}.toast__title{font-weight:700;margin-block-end:var(--space-1)}@keyframes toast-in{from{opacity:0;transform:translateY(12px)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--text-secondary)}.empty-state__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:var(--radius-full);background-color:var(--surface);color:var(--gold-text)}.empty-state__title{font-family:var(--font-heading);font-size:var(--text-h3);color:var(--text-primary)}.empty-state__text{max-width:44ch}.skeleton{position:relative;overflow:hidden;background-color:var(--skeleton-base);border-radius:var(--radius-sm)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient( 90deg,transparent,var(--skeleton-shine),transparent );animation:skeleton-shine 1.4s infinite}[dir="rtl"] .skeleton::after{animation-name:skeleton-shine-rtl}.skeleton--text{height:0.85em;margin-block:0.25em}.skeleton--title{height:1.4em;width:60%}.skeleton--image{aspect-ratio:3 / 4;width:100%;border-radius:var(--radius)}.skeleton--chip{height:32px;width:84px;border-radius:var(--radius-full)}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2)}@keyframes skeleton-shine{100%{transform:translateX(100%)}}@keyframes skeleton-shine-rtl{100%{transform:translateX(-200%)}}@media (prefers-reduced-motion:reduce){.skeleton::after{display:none}}
