/* Primary roles from Aya's supplied guide; secondary faces remain available, unassigned. */
:root {
  --brand-primary-font: "Aya Fibra One", "Aya GE SS", Arial, sans-serif;
  --brand-primary-weight: 400;
  --sans: var(--brand-primary-font);
  --serif: var(--brand-primary-font);
}
html:lang(ar), [lang]:lang(ar) {
  --brand-primary-font: "Aya GE SS", "Aya Fibra One", Arial, sans-serif;
  --brand-primary-weight: 700;
  --sans: var(--brand-primary-font);
  --serif: var(--brand-primary-font);
}
[lang]:lang(en):not(html) {
  --brand-primary-font: "Aya Fibra One", "Aya GE SS", Arial, sans-serif;
  --brand-primary-weight: 400;
  --sans: var(--brand-primary-font);
  --serif: var(--brand-primary-font);
}
body { font-synthesis: none; }
:root body,
:root body:lang(ar),
:root body :is(h1,h2,h3,h4,h5,h6,p,span,strong,b,small,button,input,textarea,select,option,optgroup,label,a,pre,legend,th,td,li,dt,dd,summary),
:root .catalogue,
:root .catalogue:lang(ar),
:root .button.back-control {
  font-family: var(--brand-primary-font);
  font-weight: var(--brand-primary-weight);
}
.store-identity strong { font-size: 22px; line-height: 1.4; }
html:lang(ar) .store-identity strong { line-height: 1.5; }
.search-field input, .category-select select, .form-input, textarea.form-input { font-size: 16px; }
/* Decorative chevrons are glyphs, not business-name or interface text. */
:root .identity-arrow, :root .home-category b { font-family: Arial, sans-serif; font-weight: 400; }

/* Circular customer logo frame; preserve the supplied artwork's proportions. */
:root .store-logo-frame {
  --store-logo-size: 48px;
  box-sizing: border-box;
  display: grid; place-items: center;
  grid-template: minmax(0,1fr) / minmax(0,1fr);
  flex: 0 0 var(--store-logo-size);
  width: var(--store-logo-size); height: var(--store-logo-size);
  min-width: var(--store-logo-size); max-width: var(--store-logo-size);
  min-height: var(--store-logo-size); max-height: var(--store-logo-size);
  aspect-ratio: 1; border-radius: 50%; overflow: hidden;
  padding: 3px; background: #6f263d;
}
:root .store-logo-frame .store-logo {
  width: calc(var(--store-logo-size) - 6px);
  height: calc(var(--store-logo-size) - 6px);
  min-width: 0; min-height: 0; max-width: none;
  border-radius: 0; object-fit: contain;
}

/* Exact owner-supplied artwork; zoom trims only the surrounding burgundy margin. */
@media screen {
  :root .store-logo-frame .store-logo-custom { object-fit: cover; object-position: 50% 50%; transform: scale(1.35); }
}
