@font-face { font-family:Cairo; src:url('assets/Cairo-Regular.ttf') format('truetype'); font-display:swap; }
:root { color-scheme:dark; --paper:#100f0f; --ink:#f6f1e7; --red:#ff6268; --action:#c7242d; --action-hover:#ac1d25; --green:#83b390; --muted:#b7afa8; --line:#383330; --control-line:#776d66; --white:#1c1918; --image:#24201e; font-family:Cairo, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scrollbar-color:var(--control-line) var(--paper); scroll-padding-top:24px; }
body { margin:0; color:var(--ink); background:var(--paper); }
::selection { color:var(--ink); background:var(--action); }
button, input, select, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button, summary { cursor:pointer; }
button { min-height:44px; }
button:disabled { cursor:default; opacity:.55; }
a { color:inherit; text-underline-offset:5px; }
input, select, textarea { width:100%; border:1px solid var(--control-line); border-radius:8px; padding:12px; color:var(--ink); background:var(--white); caret-color:var(--red); }
input::placeholder, textarea::placeholder { color:var(--muted); opacity:1; }
input[type=tel] { direction:ltr; text-align:start; }
textarea { resize:vertical; }
label { display:grid; gap:8px; font-size:14px; }
:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
h1, h2, h3, p { margin-top:0; }
h1, h2 { text-wrap:balance; }
p { line-height:1.9; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:-100px; inset-inline-start:20px; z-index:20; padding:12px; background:var(--paper); }
.skip-link:focus { top:10px; }
.service-strip { background:var(--white); color:var(--muted); text-align:center; padding:9px 16px; margin:0; font-size:12px; }
.site-header { max-width:1400px; margin:auto; padding:16px 5vw; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.brand { display:block; width:170px; flex-shrink:0; }
.brand img { width:100%; height:auto; display:block; }
.site-header nav { display:flex; gap:32px; align-items:center; }
.site-header nav a { text-decoration:none; font-size:14px; }
.site-header nav a:hover { color:var(--red); }
.header-actions { display:flex; align-items:center; gap:16px; }
.language-toggle { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--control-line); border-radius:8px; width:max-content; }
.language-toggle button { min-width:40px; padding:6px; border:0; border-radius:4px; background:transparent; color:var(--muted); font-size:12px; font-weight:bold; }
.language-toggle button[aria-pressed=true] { background:var(--action); color:var(--ink); }
.language-toggle button:hover:not([aria-pressed=true]) { color:var(--ink); background:var(--line); }
.cart-button { display:flex; align-items:center; gap:9px; color:var(--ink); border:1px solid var(--control-line); background:transparent; border-radius:8px; padding:8px 14px; }
#cart-count { min-width:22px; color:var(--red); font-weight:bold; }
main { max-width:1400px; margin:auto; padding:0 5vw; }
.catalog-section { padding:52px 0 72px; min-height:50vh; }
.catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:36px; }
.catalog-heading h1 { font-size:clamp(28px,3.6vw,46px); line-height:1.5; margin-bottom:8px; color:var(--ink); font-weight:800; }
.catalog-heading p { color:var(--muted); margin:0; }
.search { width:min(290px,100%); }
.notice { background:var(--white); color:var(--muted); padding:16px 20px; border-radius:8px; line-height:1.9; }
.notice p:last-child { margin:0; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; }
.product { min-width:0; }
.product-image { display:block; width:100%; aspect-ratio:4/5; background:var(--image); border-radius:12px; overflow:hidden; }
.product-image img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.product-image:hover img { transform:scale(1.025); }
.product h2 { font-size:18px; margin:16px 0 6px; line-height:1.7; }
.product h2 a { text-decoration:none; }
.product-price { font-size:16px; font-weight:bold; font-variant-numeric:tabular-nums; }
.product-availability { min-height:30px; color:var(--green); font-size:12px; margin:8px 0 14px; }
.product button { width:100%; }
.primary, .secondary { border-radius:8px; padding:11px 20px; font-weight:700; border:1px solid transparent; }
.primary { color:var(--ink); background:var(--action); }
.primary:hover { background:var(--action-hover); }
.secondary { border-color:var(--control-line); background:transparent; color:var(--ink); }
.secondary:hover { background:var(--white); border-color:var(--red); }
.product button:not(:disabled) { background:var(--action); color:var(--ink); border-color:var(--action); }
.product button:not(:disabled):hover { background:var(--action-hover); }
.plain { border:0; background:transparent; color:var(--ink); padding:8px; text-decoration:underline; text-underline-offset:5px; }
#load-more { display:block; margin:40px auto 0; }
.product-view { padding:40px 0 80px; }
.product-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-top:30px; }
.product-detail-grid > img { width:100%; max-height:620px; object-fit:contain; background:var(--image); border-radius:12px; }
.product-detail-grid h1 { font-size:32px; margin:20px 0; }
.product-description { white-space:pre-wrap; max-width:65ch; color:var(--muted); margin-top:24px; }
.product-detail-grid button { min-width:220px; margin-top:16px; }
.payment-info { border-top:1px solid var(--line); padding:56px 0 64px; }
.payment-info h2 { font-size:30px; margin-bottom:32px; color:var(--ink); }
.payment-columns { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.payment-columns p { max-width:65ch; font-size:14px; }
.payment-columns h3 { font-size:18px; }
.transfer-warning { color:var(--red); }
footer { padding:32px 5vw; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:24px; max-width:1400px; margin:auto; flex-wrap:wrap; }
footer p { font-size:12px; color:var(--muted); margin:0; }
.footer-wordmark { color:var(--red); text-decoration:none; font-weight:bold; font-size:20px; }
.cart-drawer { margin:0 0 0 auto; height:100dvh; max-height:100dvh; width:min(580px,100%); max-width:100%; border:0; background:var(--paper); color:var(--ink); padding:24px 28px; overflow:auto; }
html[dir=rtl] .cart-drawer { margin:0 auto 0 0; --drawer-offset:-25px; }
.cart-drawer::backdrop { background:rgb(0 0 0 / .72); }
.cart-drawer[open] { animation:drawer-in .25s cubic-bezier(.16,1,.3,1); }
.drawer-header { display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); padding-bottom:16px; }
.drawer-header h2 { margin:0; font-size:24px; }
.drawer-tools { display:flex; justify-content:flex-end; padding-top:16px; }
.cart-items { padding:16px 0; }
.cart-item { display:grid; grid-template-columns:1fr auto; gap:10px; padding:18px 0; border-bottom:1px solid var(--line); }
.cart-item h3 { margin-bottom:6px; font-size:16px; }
.cart-item p { margin:0; font-size:13px; }
.cart-quantity { display:flex; align-items:center; gap:12px; }
.cart-quantity button { min-width:44px; color:var(--ink); border:1px solid var(--control-line); background:transparent; border-radius:6px; }
.cart-item .remove { grid-column:2; font-size:12px; padding:0; text-align:end; }
.cart-summary { padding:16px 0; line-height:2; border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums; }
.summary-line { display:flex; justify-content:space-between; gap:16px; }
.checkout-form { display:grid; gap:20px; padding:28px 0; }
.checkout-form h3 { margin:0; }
.checkout-form fieldset { margin:8px 0 0; padding:16px; border:1px solid var(--line); border-radius:8px; display:grid; gap:12px; }
.checkout-form legend { padding:0 8px; }
.radio-option { display:flex; align-items:center; gap:10px; line-height:1.9; }
.radio-option input { width:20px; height:20px; accent-color:var(--red); flex-shrink:0; }
#full-payment { line-height:1.9; font-size:14px; }
#full-payment p:last-child { margin-top:16px; }
.payment-breakdown { font-weight:bold; color:var(--ink); margin:0; }
.checkout-note { color:var(--muted); font-size:12px; margin:0; }
#checkout-message { margin:0; color:var(--red); overflow-wrap:anywhere; }
.order-success { padding:36px 0; line-height:2; }
.order-success h3 { color:var(--green); font-size:26px; }
.order-success strong { font-variant-numeric:tabular-nums; }
@keyframes drawer-in { from { transform:translateX(var(--drawer-offset,25px)); clip-path:inset(0 0 0 4%); } to { transform:translateX(0); clip-path:inset(0); } }
@media(min-width:1450px) { main, .site-header, footer { padding-inline:60px; } }
@media(max-width:950px) { .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .site-header nav { gap:16px; } .product-detail-grid { gap:32px; } }
@media(max-width:650px) {
  .service-strip { font-size:12px; padding:8px 10px; }
  .site-header { padding:12px 20px; gap:12px; flex-wrap:wrap; }
  .brand { width:110px; }
  .header-actions { margin-inline-start:auto; gap:8px; }
  .cart-button { font-size:12px; padding:7px 8px; gap:5px; }
  .language-toggle button { min-width:34px; }
  .site-header nav { order:3; width:100%; justify-content:center; border-top:1px solid var(--line); padding-top:12px; gap:30px; }
  main { padding-inline:20px; }
  .catalog-section { padding-top:32px; }
  .catalog-heading { align-items:stretch; flex-direction:column; gap:24px; margin-bottom:28px; }
  .search { width:100%; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
  .product h2 { font-size:15px; margin-top:12px; }
  .product-price { font-size:14px; }
  .product button { font-size:12px; padding:10px 6px; }
  .product-detail-grid, .payment-columns { grid-template-columns:1fr; gap:28px; }
  .product-detail-grid h1 { font-size:26px; }
  .product-detail-grid button { width:100%; }
  .payment-info { padding-block:36px; }
  .payment-info h2 { font-size:26px; }
  .cart-drawer { padding:20px; }
  footer { padding:24px 20px; }
}
@media(max-width:360px) { .site-header { padding-inline:14px; gap:8px; } .brand { width:90px; } .cart-button svg { width:18px; } .language-toggle button { min-width:30px; } main, footer { padding-inline:16px; } .cart-drawer { padding:18px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }
