:root {
  --paper: #ffffff;
  --ink: #282323;
  --muted: #6c6263;
  --wine: #682a38;
  --wine-hover: #4e1e29;
  --rose: #f7f1f2;
  --line: #e4dbdd;
  --on-wine: #fff8f9;
  --on-wine-muted: #e8cdd3;
  --display: "Cormorant Garamond Variable", Georgia, serif;
  --body: "Manrope Variable", sans-serif;
  color-scheme: light;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  scrollbar-color: var(--wine) var(--rose);
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; text-underline-offset: 5px; }
button, input { font: inherit; caret-color: var(--wine); }
button { cursor: pointer; }
::selection { background: var(--wine); color: var(--paper); }
:focus-visible { outline: 2px solid var(--wine); outline-offset: 6px; }
section { scroll-margin-top: 24px; }
h1, h2, h3, p { margin: 0; }
h1, h2 { font-family: var(--display); font-weight: 500; text-wrap: balance; }
p { line-height: 1.8; }
.wrap { max-width: 1328px; padding-inline: 64px; margin-inline: auto; }
.skip-link { position: absolute; inset-inline-start: 16px; top: -100px; background: var(--wine); color: var(--paper); padding: 14px; z-index: 10; }
.skip-link:focus { top: 12px; }
.announcement { background: var(--wine); color: var(--on-wine); text-align: center; padding: 10px 16px; font-size: 12px; letter-spacing: .04em; }
.site-header { min-height: 100px; display: flex; align-items: center; gap: 36px; border-bottom: 1px solid var(--line); }
.wordmark { display: inline-flex; align-items: center; gap: 7px; max-width: 45%; font-family: var(--display); font-size: 30px; font-weight: 600; line-height: 1.05; overflow-wrap: anywhere; }
.wordmark-dot { width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: var(--wine); }
.site-header nav { display: flex; gap: 28px; margin-inline-start: auto; font-size: 13px; }
.site-header nav a, .language-link { padding-block: 12px; }
.site-header nav a:hover, .language-link:hover { color: var(--wine); text-decoration: underline; }
.language-link { border-inline-start: 1px solid var(--line); padding-inline-start: 28px; font-size: 14px; }
.hero { padding-block-start: 80px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px 72px; align-items: center; }
.hero h1 { font-size: clamp(64px, 6.9vw, 96px); line-height: 1.02; letter-spacing: -.025em; }
.hero h1 em { font-weight: 500; color: var(--wine); }
.hero-detail { max-width: 370px; padding-block-start: 30px; }
.hero-detail p { color: var(--muted); font-size: 15px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; background: var(--wine); color: var(--on-wine); border: 0; padding: 17px 22px; min-height: 52px; font-size: 13px; transition: background-color 160ms ease; }
.button:hover { background: var(--wine-hover); }
.button:disabled, .remove-button:disabled { opacity: .55; cursor: default; }
.button:disabled:hover { background: var(--wine); }
.hero-detail .button { margin-block-start: 30px; }
.arrow { flex-shrink: 0; }
.arrow-down { transform: rotate(90deg); }
.hero-foot { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-block: 40px 26px; color: var(--muted); font-size: 11px; }
.houses { margin-block-start: 20px; background: var(--wine); color: var(--on-wine); }
.houses-inner { padding-block: 54px; }
.houses-intro { display: grid; grid-template-columns: 1.3fr 1fr; gap: 72px; align-items: center; }
.houses-intro h2 { font-size: 38px; line-height: 1.12; white-space: pre-line; }
.houses-intro p { max-width: 370px; font-size: 13px; color: var(--on-wine-muted); }
.brand-list { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 22px 40px; list-style: none; padding: 34px 0 0; margin: 36px 0 0; border-top: 1px solid #9a6773; }
.brand-list li { font-family: var(--display); font-size: clamp(26px, 3vw, 38px); line-height: 1.2; overflow-wrap: anywhere; }
.collection { padding-block: 72px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.collection > h2 { font-size: 44px; line-height: 1.15; white-space: pre-line; }
.catalog-state { border: 1px solid var(--line); padding: 32px; }
.state-symbol { display: block; color: var(--wine); margin-block-end: 16px; }
.catalog-state h3 { font-size: 17px; font-weight: 600; line-height: 1.5; }
.catalog-state p { margin-block-start: 10px; color: var(--muted); font-size: 13px; max-width: 65ch; }
.text-link { display: inline-flex; align-items: center; gap: 15px; font-size: 13px; text-decoration: underline; margin-block-start: 20px; color: var(--wine); min-height: 32px; }
.site-footer { border-top: 1px solid var(--line); background: var(--rose); }
.footer-inner { padding-block: 36px; display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.footer-name { font-family: var(--display); font-size: 26px; font-weight: 600; overflow-wrap: anywhere; }
.footer-inner p { font-size: 12px; color: var(--muted); margin-block-start: 6px; }
.footer-meta { display: flex; flex-direction: column; gap: 8px; font-size: 11px; color: var(--muted); text-align: end; }
.loading-shell, .error-shell { min-height: 60svh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 32px; text-align: center; }
.error-shell h1 { font-size: 40px; }
.loading-mark { width: 24px; height: 24px; border: 1px solid var(--line); border-top-color: var(--wine); border-radius: 50%; }
[dir="rtl"] { --body: "Noto Sans Arabic Variable", sans-serif; --display: "Noto Sans Arabic Variable", sans-serif; }
[dir="rtl"] .hero h1 { font-size: clamp(44px, 5.1vw, 70px); line-height: 1.55; letter-spacing: 0; }
[dir="rtl"] .hero h1 em { font-style: normal; }
[dir="rtl"] .wordmark { font-size: 23px; line-height: 1.65; }
[dir="rtl"] .houses-intro h2, [dir="rtl"] .collection > h2 { font-size: 30px; line-height: 1.7; }
[dir="rtl"] .brand-list li { font-family: "Cormorant Garamond Variable", Georgia, serif; }
[dir="rtl"] .arrow:not(.arrow-down) { transform: rotate(180deg); }
[dir="rtl"] .footer-name { font-size: 21px; }
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .hero h1 { animation: reveal-title 700ms cubic-bezier(.16, 1, .3, 1); }
  @keyframes reveal-title { from { clip-path: inset(0 0 8% 0); } to { clip-path: inset(0); } }
}

/* Cart — Phase 2C */
.cart-link { display: inline-flex; align-items: center; gap: 7px; }
.cart-count { font-size: 11px; color: var(--wine); font-variant-numeric: tabular-nums; }
.cart-count::before { content: "("; }
.cart-count::after { content: ")"; }
.add-form { flex-basis: 100%; }
.purchase-controls, .quantity-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; }
.quantity-field { display: flex; flex-direction: column; gap: 6px; font-size: 11px; color: var(--muted); }
.quantity-field input { width: 76px; min-height: 46px; padding: 10px 8px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font-size: 14px; }
.purchase-controls .button, .quantity-form .button { min-height: 46px; padding-block: 12px; }
.form-feedback { color: var(--wine); font-size: 12px; }
.form-feedback p { margin-block-start: 12px; }
.form-feedback a { text-decoration: underline; display: inline-block; padding-block: 5px; }
.cart-page { padding-block-end: 80px; min-height: 62svh; }
.cart-notice { padding: 18px 22px; background: var(--rose); border-inline-start: 2px solid var(--wine); color: var(--wine); font-size: 13px; margin-block-end: 24px; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.cart-items { list-style: none; margin: 0; padding: 0; }
.cart-item { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 24px; padding-block: 28px; border-block-end: 1px solid var(--line); }
.cart-item:first-child { border-block-start: 1px solid var(--line); }
.cart-image { position: relative; aspect-ratio: 4 / 5; background: var(--rose); border: 1px solid var(--line); overflow: hidden; }
.cart-image img { object-fit: contain; }
.cart-item-info { min-width: 0; overflow-wrap: anywhere; }
.cart-item h2 { font-size: 26px; line-height: 1.2; margin-block-start: 8px; }
.cart-item h2 a:hover { color: var(--wine); }
.cart-size { font-size: 12px; color: var(--muted); margin-block-start: 8px; }
.cart-prices { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-block: 18px; }
.cart-prices dt { font-size: 11px; color: var(--muted); }
.cart-prices dd { margin: 6px 0 0; font-size: 14px; font-variant-numeric: tabular-nums; }
.cart-control-forms { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 24px; }
.button-secondary { background: var(--paper); color: var(--wine); border: 1px solid var(--wine); }
.button-secondary:hover { background: var(--rose); }
.button-secondary:disabled:hover { background: var(--paper); }
.remove-button { min-height: 46px; padding: 10px 0; border: 0; background: transparent; color: var(--wine); font-size: 12px; text-decoration: underline; text-underline-offset: 5px; }
.line-issue { color: var(--wine); font-size: 12px; margin-block-end: 18px; }
.cart-summary { padding: 28px; background: var(--rose); border: 1px solid var(--line); }
.cart-summary h2 { font-family: var(--body); font-size: 13px; font-weight: 500; }
.cart-subtotal { font-size: 27px; font-variant-numeric: tabular-nums; margin-block: 12px 18px; color: var(--wine); }
.cart-summary p:not(.cart-subtotal) { color: var(--muted); font-size: 12px; }
.cart-next-step { border-block-start: 1px solid var(--line); margin-block-start: 22px; padding-block-start: 22px; }
.cart-checkout-link { margin-block-start: 24px; width: 100%; }
[dir="rtl"] .cart-item h2 { font-size: 21px; line-height: 1.7; }
@media (max-width: 900px) {
  .cart-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

/* Checkout — Phase 2D */
.checkout-page { padding-block-end: 80px; min-height: 64svh; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.checkout-flow { display: flex; flex-direction: column; gap: 36px; }
.checkout-fieldset { border: 0; padding: 0; margin: 0 0 28px; min-width: 0; }
.checkout-fieldset legend { font-family: var(--display); font-size: 25px; margin-block-end: 20px; }
.checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.checkout-field { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.checkout-field-wide { grid-column: 1 / -1; }
.checkout-field label, .checkout-field > span { font-size: 12px; color: var(--muted); }
.checkout-field input { width: 100%; min-height: 48px; padding: 12px; color: var(--ink); border: 1px solid var(--line); background: var(--paper); }
.checkout-field input:hover { border-color: var(--wine); }
.checkout-field input:disabled { opacity: .6; }
.field-help { color: var(--muted); font-size: 11px; }
.checkout-address-heading { font-family: var(--display); font-size: 25px; font-weight: 500; margin-block: 18px 12px; }
.checkout-country { font-size: 14px; padding-block: 12px; }
.checkout-shipping > p { font-size: 13px; color: var(--muted); margin-block-end: 14px; }
.shipping-choice { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; min-height: 54px; padding-block: 14px; border-block-end: 1px solid var(--line); font-size: 13px; }
.shipping-choice input { width: 18px; height: 18px; accent-color: var(--wine); flex-shrink: 0; }
.shipping-choice span { flex: 1; min-width: 120px; overflow-wrap: anywhere; }
.shipping-choice bdi { font-variant-numeric: tabular-nums; }
.checkout-review { border-block-start: 1px solid var(--line); padding-block-start: 28px; }
.checkout-review h2, .checkout-bottles h2 { font-size: 28px; line-height: 1.3; }
.checkout-payment { padding-block: 22px; }
.checkout-payment h3 { font-family: var(--body); font-size: 14px; font-weight: 500; }
.checkout-payment p, .checkout-review-note { font-size: 12px; color: var(--muted); margin-block-start: 10px; }
.checkout-totals { margin: 0; }
.checkout-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-block: 10px; font-size: 13px; }
.checkout-totals dd { margin: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.checkout-totals .checkout-total { border-block-start: 1px solid var(--line); margin-block-start: 12px; padding-block: 20px 12px; color: var(--wine); }
.checkout-total dt { max-width: 190px; line-height: 1.7; }
.checkout-total dd { font-size: 22px; }
.place-order-form { margin-block-start: 22px; }
.place-order-form .button { max-width: 100%; gap: 12px; line-height: 1.7; }
.checkout-bottles { padding: 28px; background: var(--rose); border: 1px solid var(--line); min-width: 0; }
.checkout-bottles ul { list-style: none; margin: 18px 0 0; padding: 0; }
.checkout-bottles li { padding-block: 16px; border-block-end: 1px solid var(--line); overflow-wrap: anywhere; }
.checkout-bottles h3 { font-family: var(--display); font-size: 22px; font-weight: 500; line-height: 1.3; }
.checkout-bottles li p { color: var(--muted); font-size: 12px; margin-block-start: 8px; }
.confirmation-page { padding-block: 56px 80px; min-height: 66svh; }
.confirmation-page h1 { font-size: clamp(34px, 4.6vw, 54px); line-height: 1.2; }
.confirmation-intro { max-width: 60ch; font-size: 14px; color: var(--muted); margin-block-start: 20px; }
.receipt-reference { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; padding-block: 28px; font-size: 13px; }
.receipt-reference bdi { font-size: 22px; font-variant-numeric: tabular-nums; color: var(--wine); }
.receipt-status { display: inline-block; padding: 6px 12px; border: 1px solid var(--wine); color: var(--wine); font-size: 12px; }
.receipt-summary { margin-block-start: 30px; max-width: 620px; padding: 28px; background: var(--rose); border: 1px solid var(--line); }
.receipt-summary > p { font-size: 12px; color: var(--muted); margin-block-start: 20px; }
.receipt-layout { margin-block-start: 30px; }
.receipt-layout .receipt-summary { margin-block-start: 0; max-width: none; }
.receipt-address { border-block-start: 1px solid var(--line); margin-block-start: 24px; padding-block-start: 24px; }
.receipt-address h2 { font-family: var(--body); font-size: 13px; margin-block-end: 12px; }
.receipt-address address { font-size: 13px; line-height: 1.9; font-style: normal; overflow-wrap: anywhere; }
[dir="rtl"] .checkout-fieldset legend, [dir="rtl"] .checkout-address-heading { font-size: 21px; line-height: 1.7; }
[dir="rtl"] .checkout-review h2, [dir="rtl"] .checkout-bottles h2 { font-size: 23px; line-height: 1.7; }
[dir="rtl"] .checkout-bottles h3 { font-size: 19px; line-height: 1.7; }
[dir="rtl"] .confirmation-page h1 { font-size: 32px; line-height: 1.7; }
@media (max-width: 900px) {
  .checkout-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 600px) {
  .checkout-page { padding-block-end: 48px; }
  .checkout-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .checkout-fieldset legend, .checkout-address-heading { font-size: 23px; }
  .checkout-bottles, .receipt-summary { padding: 22px; }
  .checkout-total dd { font-size: 18px; }
  .checkout-total dt { max-width: 140px; }
  .checkout-totals > div { gap: 12px; }
  .confirmation-page { padding-block: 38px 48px; }
  [dir="rtl"] .confirmation-page h1 { font-size: 27px; }
}
@media (max-width: 600px) {
  .cart-page { padding-block-end: 48px; }
  .cart-item { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding-block: 22px; }
  .cart-item h2 { font-size: 23px; }
  .cart-summary { padding: 22px; }
  [dir="rtl"] .cart-item h2 { font-size: 19px; }
}
@media (max-width: 900px) {
  .wrap { padding-inline: 32px; }
  .hero, .houses-intro { column-gap: 36px; }
  .hero h1 { font-size: 70px; }
  .collection { gap: 36px; }
  .collection > h2 { font-size: 36px; }
}
@media (max-width: 600px) {
  .wrap { padding-inline: 22px; }
  .announcement { font-size: 11px; }
  .site-header { min-height: 112px; flex-wrap: wrap; gap: 0 20px; padding-block: 16px 0; }
  .wordmark { max-width: 68%; font-size: 27px; }
  .language-link { margin-inline-start: auto; padding-inline-start: 16px; }
  .site-header nav { order: 3; width: 100%; margin: 10px 0 0; gap: 18px; flex-wrap: wrap; font-size: 12px; }
  .site-header nav a { padding-block: 12px 16px; }
  .hero { grid-template-columns: 1fr; padding-block-start: 46px; gap: 24px; }
  .hero h1 { font-size: clamp(56px, 14vw, 76px); }
  .hero-detail { padding: 0; max-width: 380px; }
  .hero-detail p { font-size: 14px; }
  .hero-detail .button { margin-block-start: 24px; }
  .hero-foot { padding-block: 20px 16px; gap: 16px; font-size: 10px; }
  .houses { margin-block-start: 10px; }
  .houses-inner { padding-block: 36px; }
  .houses-intro { grid-template-columns: 1fr; gap: 20px; }
  .houses-intro h2 { font-size: 34px; }
  .brand-list { gap: 16px; margin-block-start: 24px; padding-block-start: 24px; }
  .brand-list li { font-size: 26px; }
  .collection { grid-template-columns: 1fr; padding-block: 44px; gap: 28px; }
  .collection > h2 { font-size: 36px; }
  .catalog-state { padding: 24px; }
  .footer-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .footer-meta { text-align: start; }
  [dir="rtl"] .hero h1 { font-size: clamp(38px, 10vw, 54px); }
  [dir="rtl"] .wordmark { font-size: 19px; }
  [dir="rtl"] .houses-intro h2, [dir="rtl"] .collection > h2 { font-size: 27px; }
}

/* Catalog — Phase 2B */

.collection-wide { grid-template-columns: 1fr; gap: 32px; }
.collection-preview { display: flex; flex-direction: column; gap: 34px; align-items: flex-start; }
.brand-list a { display: inline-block; }
.brand-list a:hover { text-decoration: underline; }

.catalog-head { padding-block: 56px 30px; }
.catalog-head h1 { font-size: clamp(38px, 4.6vw, 54px); line-height: 1.1; }
.catalog-head p { margin-block-start: 14px; color: var(--muted); font-size: 14px; max-width: 62ch; }

.filters { border: 1px solid var(--line); padding: 24px; display: flex; flex-direction: column; gap: 20px; background: var(--rose); }
.filter-search { max-width: 420px; }
.filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 18px 20px; }
.filter-field { display: flex; flex-direction: column; gap: 8px; }
.filter-field label { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.filter-field input, .filter-field select { border: 1px solid var(--line); background: var(--paper); color: var(--ink); padding: 12px 14px; min-height: 46px; width: 100%; }
.filter-field input:hover, .filter-field select:hover { border-color: var(--wine); }
.filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; }
.filter-actions .text-link { margin-block-start: 0; }
.filter-check { display: flex; align-items: center; gap: 10px; font-size: 13px; min-height: 44px; }
.filter-check input { width: 18px; height: 18px; accent-color: var(--wine); }

.results { padding-block: 26px 18px; font-size: 13px; color: var(--muted); }

.perfume-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 40px 28px; list-style: none; padding: 0; margin: 0; }
.perfume-card { height: 100%; }
.card-link { display: flex; flex-direction: column; height: 100%; }
.card-media { display: block; position: relative; aspect-ratio: 4 / 5; background: var(--rose); border: 1px solid var(--line); overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.card-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--muted); }
.card-body { display: flex; flex-direction: column; gap: 8px; padding-block-start: 16px; flex: 1; }
.card-brand { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.card-title { font-family: var(--display); font-size: 25px; font-weight: 500; line-height: 1.15; }
.card-link:hover .card-title { color: var(--wine); }
.card-meta { font-size: 12px; color: var(--muted); }
.card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-start: auto; padding-block-start: 12px; }
.card-price { font-size: 14px; font-variant-numeric: tabular-nums; }
.request-foot { flex-wrap: wrap; align-items: flex-start; }
.indicative-label { display: block; font-size: 11px; line-height: 1.5; color: var(--muted); margin-block-end: 2px; }
.request-note { padding: 14px 16px; background: var(--rose); line-height: 1.7; }
.badge { display: inline-flex; align-items: center; border: 1px solid var(--line); padding: 4px 10px; font-size: 11px; white-space: nowrap; }
.badge-in { border-color: var(--wine); color: var(--wine); }
.badge-out { color: var(--muted); }

.pagination { display: flex; align-items: center; justify-content: center; gap: 24px; padding-block: 48px 8px; }
.page-link { text-decoration: underline; font-size: 13px; }
.page-link:hover { color: var(--wine); }
.page-state { font-size: 12px; color: var(--muted); }

.detail { padding-block: 36px 80px; }
.back-link { display: inline-block; font-size: 12px; text-decoration: underline; margin-block-end: 28px; }
.back-link:hover { color: var(--wine); }
.perfume { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.perfume-media, .perfume-info { min-width: 0; }
.perfume-info { overflow-wrap: anywhere; }
.detail-image { position: relative; aspect-ratio: 4 / 5; background: var(--rose); border: 1px solid var(--line); overflow: hidden; display: grid; place-items: center; }
.detail-image img { width: 100%; height: 100%; object-fit: contain; display: block; }
.thumbs { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 16px 0 0; margin: 0; }
.thumb { position: relative; display: block; width: 72px; height: 90px; border: 1px solid var(--line); overflow: hidden; }
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb-current { border-color: var(--wine); }
.perfume-info { display: flex; flex-direction: column; gap: 22px; }
.perfume-info h1 { font-size: clamp(34px, 3.8vw, 50px); line-height: 1.08; }
.detail-brand { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); align-self: flex-start; }
.detail-brand:hover { color: var(--wine); text-decoration: underline; }
.detail-description { color: var(--muted); font-size: 15px; max-width: 62ch; }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px 24px; margin: 0; }
.facts dt, .notes dt { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.facts dd { margin: 6px 0 0; font-size: 14px; }
.sizes h2, .notes h2 { font-size: 20px; margin-block-end: 10px; }
.sizes ul { list-style: none; padding: 0; margin: 0; }
.sizes li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; padding-block: 14px; border-block-end: 1px solid var(--line); }
.sizes li:first-child { border-block-start: 1px solid var(--line); }
.size-label { font-size: 14px; }
.size-price { font-size: 14px; font-variant-numeric: tabular-nums; margin-inline-start: auto; }
.notes dl { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.notes dd { margin: 6px 0 0; font-size: 14px; color: var(--muted); }

.brand-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.brand-cards a { display: flex; flex-direction: column; gap: 12px; height: 100%; border: 1px solid var(--line); padding: 28px; }
.brand-cards a:hover { border-color: var(--wine); }
.brand-cards h2 { font-size: 28px; line-height: 1.2; }
.brand-count { font-size: 12px; color: var(--muted); }
.brand-cards .text-link { margin-block-start: auto; }

.not-found { padding-block: 90px; }
.not-found h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.3; }
.not-found-links { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-block-start: 30px; }
.not-found-links .text-link { margin-block-start: 0; }

[dir="rtl"] .catalog-head h1, [dir="rtl"] .perfume-info h1 { font-size: 32px; line-height: 1.7; }
[dir="rtl"] .card-title { line-height: 1.6; }
[dir="rtl"] .brand-cards h2 { font-size: 24px; line-height: 1.6; }
[dir="rtl"] .back-link .arrow { transform: scaleX(-1); }

@media (max-width: 900px) {
  .perfume { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .catalog-head { padding-block: 44px 24px; }
}

@media (max-width: 600px) {
  .catalog-head { padding-block: 34px 20px; }
  .catalog-head h1 { font-size: 34px; }
  .filters { padding: 18px; }
  .filter-grid { grid-template-columns: 1fr; }
  .perfume-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 28px 18px; }
  .card-title { font-size: 21px; }
  .card-foot { flex-direction: column; align-items: flex-start; gap: 8px; }
  .perfume-info h1 { font-size: 30px; }
  .detail { padding-block: 28px 60px; }
  .pagination { padding-block: 34px 4px; }
  .brand-cards { grid-template-columns: 1fr; }
  .not-found { padding-block: 60px; }
  [dir="rtl"] .catalog-head h1, [dir="rtl"] .perfume-info h1 { font-size: 27px; }
}

@font-face{font-family:"Manrope Variable";font-style:normal;font-weight:200 800;font-display:swap;src:url('/assets/manrope.woff2') format('woff2')}
@font-face{font-family:"Cormorant Garamond Variable";font-style:normal;font-weight:300 700;font-display:swap;src:url('/assets/cormorant-garamond.woff2') format('woff2')}
@font-face{font-family:"Noto Sans Arabic Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/noto-sans-arabic.woff2') format('woff2')}
html[lang=ar]{--body:"Noto Sans Arabic Variable",sans-serif;--display:"Noto Sans Arabic Variable",sans-serif}
.catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:1px solid var(--line);background:var(--rose);padding:24px}.catalog-filters label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}.catalog-filters .filter-search{grid-column:1/-1;width:100%;max-width:420px}.catalog-filters input,.catalog-filters select{font:inherit;font-size:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px 14px;min-height:46px;width:100%}.catalog-filters input:hover,.catalog-filters select:hover{border-color:var(--wine)}.catalog-filters .filter-actions{grid-column:1/-1}@media(max-width:600px){.catalog-filters{grid-template-columns:1fr;padding:18px}}
[hidden]{display:none!important}.catalog-head{max-width:75ch}.catalog-head p{margin-block-start:14px}.catalog-filters label{display:block}.catalog-filters .filter-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.preview-contact{padding-block:8px;color:var(--wine);text-decoration:underline}.price-note{font-size:13px;color:var(--muted);margin-block:18px}.card-media img,.detail-image img{position:absolute;width:100%;height:100%;object-fit:contain}.perfume-card{display:flex;flex-direction:column}.card-link{display:flex;flex-direction:column;height:auto;flex:1 1 auto}.card-media{flex:none}.request-foot{flex-wrap:wrap}.empty-preview{margin-block:32px}.pagination button{background:transparent;border:0;padding:12px;text-decoration:underline;color:var(--wine);min-height:44px}.pagination button:disabled{opacity:.4;cursor:default}.size-price bdi{font-variant-numeric:tabular-nums}.preview-note{margin-block:20px;padding:16px;background:var(--rose);line-height:1.8}.site-footer .preview-contact{font-size:12px}.site-header .basket-toggle{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 14px;min-height:44px;cursor:pointer;font:inherit}.basket-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-inline-start:6px;padding:0 5px;border-radius:99px;background:var(--wine);color:white;font-size:12px}.card-actions{padding-block-start:18px}.card-add{width:100%;min-height:46px}.sizes .size-add{width:100%;min-height:44px}.basket-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);height:100dvh;max-height:100dvh;border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:-18px 0 54px #21171230;z-index:1000}.basket-dialog::backdrop{background:#19151280}.basket-inner{height:100%;display:flex;flex-direction:column;padding:24px;overflow:hidden}.basket-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px}.basket-head h2{margin:0}.basket-close{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:inherit;font-size:24px;cursor:pointer}.basket-lines{list-style:none;padding:0;margin:0;overflow:auto;flex:1}.basket-empty{margin:auto 0;text-align:center;color:var(--muted)}.basket-line{padding:18px 0;border-bottom:1px solid var(--line)}.basket-line strong{display:block}.basket-line-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px}.basket-line-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.basket-line-actions button{min-width:40px;min-height:40px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}.basket-line-actions .basket-remove{padding:0 12px;text-decoration:underline}.basket-bottom{border-top:1px solid var(--line);padding-top:18px}.basket-subtotal{display:flex;justify-content:space-between;gap:12px;font-size:18px;font-weight:700}.basket-bottom p{font-size:13px;line-height:1.6;color:var(--muted)}.basket-send{width:100%;min-height:50px}.card-add-feedback{display:block;font-size:12px;color:var(--wine);margin-block-start:6px}.size-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.size-add-wrap{display:flex;align-items:center;gap:10px;flex:1 1 220px;min-width:min(220px,100%)}.size-quantity{width:76px;min-height:52px;padding:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}html[dir=rtl] .basket-dialog{inset:0 auto 0 0}.basket-line bdi,.basket-subtotal bdi{font-variant-numeric:tabular-nums}@media(max-width:600px){.basket-inner{padding:18px}.site-header{gap:10px}.site-header nav{display:none}.sizes .size-add{padding-inline:10px}}
