@font-face {
  font-family: 'Noto Sans Hebrew';
  src: url('/assets/fonts/noto-sans-hebrew.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans Arabic';
  src: url('/assets/fonts/noto-sans-arabic.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
html[lang='he'] { font-family: 'Noto Sans Hebrew', Arial, sans-serif; --serif: 'Noto Sans Hebrew', Arial, sans-serif; }
html[lang='ar'] { font-family: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; --serif: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; }
html[dir='rtl'] body { line-height: 1.8; }
html[dir='rtl'] :is(h1,h2,h3,h4,.lede,.shop-tier-card strong,.shop-selected-offer h3) { font-family: var(--serif); line-height: 1.4; }
html[dir='rtl'] :is(h1,h2,h3,h4,.eyebrow,.shop-tier-name,.shop-selected-price,.product-status) { letter-spacing: normal; text-transform: none; }
html[dir='rtl'] .home-welcome h1 { font-size: clamp(2.7rem, 5.3vw, 5.4rem); line-height: 1.25; }
html[dir='rtl'] :is(.welcome-lede,.welcome-invitation,.sukkot-description) { line-height: 1.65; }
html[dir='rtl'] .home-welcome-copy { padding-block: 2.5rem; }
html[dir='rtl'] :is(.action-arrow,.product-action > span[aria-hidden],.partner-callout a > span[aria-hidden]) { transform: scaleX(-1); }
.brand { direction: ltr; flex-shrink: 0; }
.site-header { flex-wrap: wrap; }
.site-nav { flex-wrap: wrap; min-width: 0; }
.language-switcher { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
.language-switcher a { display: inline-flex; align-items: center; min-height: 44px; padding: 0.25rem; color: var(--ink); }
.language-switcher [lang='he'] { font-family: 'Noto Sans Hebrew', Arial, sans-serif; }
.language-switcher [lang='ar'] { font-family: 'Noto Sans Arabic', Tahoma, sans-serif; }
.language-switcher a[aria-current] { font-weight: 750; text-decoration-thickness: 3px; }
.translation-notice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 1rem; padding: 0.8rem clamp(1.25rem,4.4vw,5rem); background: #e2d5fc; color: #102f2b; border-block: 1px solid #43574e; font-size: 0.85rem; }
.translation-notice a { min-height: 44px; display: inline-flex; align-items: center; }
.destination-language { font-size: 0.85em; font-weight: 400; }
.selection-marker { display: none; }
.shop-tier-card:has(input:checked) .selection-marker { display: inline; }
.shop-tier-name { padding-inline-end: 1.8rem; }
.shop-field select { font: inherit; width: 100%; min-width: 0; min-height: 48px; }
.shop-quantity { direction: ltr; }
.shop-photo-options button { min-height: 44px; }
.shop-tier-card, .shop-enquiry-panel > *, .shop-enquiry-actions { min-width: 0; }
.shop-enquiry-panel .shop-message-review { grid-column: 1 / -1; }
.shop-message-review h3 { margin-block: 0 1rem; font-size: 1.2rem; }
.message-language-block { white-space: pre-wrap; unicode-bidi: plaintext; overflow-wrap: anywhere; margin-block: 0 1.5rem; }
.shop-message-review textarea { unicode-bidi: plaintext; }
.reply-language-note { border-inline-start: 3px solid var(--ink); padding-inline-start: 1rem; }
.fallback-message { white-space: pre-wrap; unicode-bidi: plaintext; overflow-wrap: anywhere; }
.button { white-space: normal; text-align: center; }
.sukkot-actions .button { white-space: normal; flex-shrink: 1; }
html[dir='rtl'] .sukkot-photo { border-radius: 0 10px 10px 0; }
html[dir='rtl'] .shop-photo-options button { font-size: 0.8rem; line-height: 1.7; }
html[dir='rtl'] :is(.shop-tier-name,.shop-tier-card strong > span,.shop-field small) { font-size: 0.85rem; }
html[dir='rtl'] :is(.shop-price-note,.shop-selected-offer p:last-child,.shop-preferences > p) { font-size: 0.9rem; line-height: 1.8; }
@media (max-width: 1150px) {
  .language-switcher { flex-basis: 100%; }
  .site-header, .layout-seasonal-home .site-header { gap: 0.4rem 1rem; }
}
@media (max-width: 850px) {
  html[dir='rtl'] .home-welcome h1 { font-size: clamp(2.5rem, 9vw, 4.5rem); }
  html[dir='rtl'] .sukkot-photo { border-radius: 8px; }
}
@media (max-width: 620px) {
  .site-nav { gap: 0.4rem 1rem; }
  .translation-notice { display: block; }
  .translation-notice strong, .translation-notice > span { display: block; }
  html[dir='rtl'] .sukkot-feature h2 { font-size: clamp(1.9rem, 7vw, 2.5rem); }
}
@media (forced-colors: active) {
  .language-switcher a[aria-current] { border-block-end: 3px solid LinkText; }
  .translation-notice, .reply-language-note { border-color: CanvasText; }
}
/* Translation status stays available beside the language choice, without a banner. */
.language-tools { display:flex; align-items:center; gap:.4rem; min-width:0; position:relative; }
.language-tools .language-switcher { flex-basis:auto; }
.translation-info { flex:0 0 auto; }
.translation-info > summary { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; cursor:pointer; list-style:none; border-radius:50%; color:var(--ink); }
.translation-info > summary::-webkit-details-marker { display:none; }
.translation-info > summary:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.translation-info > summary:hover,.translation-info[open] > summary { background:#e2d5fc; }
.translation-info-icon { display:inline-flex; align-items:center; justify-content:center; border:1.5px solid currentColor; border-radius:50%; width:22px; height:22px; font:700 15px/1 Georgia,serif; }
.translation-info .translation-notice { position:absolute; inset-block-start:calc(100% + .35rem); inset-inline-end:0; z-index:30; width:min(23rem,calc(100vw - 2.5rem)); display:block; padding:1rem; border:1px solid #43574e; border-radius:8px; background:#fffdf6; box-shadow:0 6px 18px rgb(16 47 43 / 14%); text-align:start; line-height:1.6; }
.translation-info .translation-notice strong { display:block; }
.translation-info .translation-notice p { margin-block:.5rem; }
.translation-info .translation-notice a { text-decoration:underline; }
@media(max-width:620px){.language-tools{margin-inline-end:auto}.translation-info .translation-notice{inset-inline-start:0;inset-inline-end:auto}}
@media(forced-colors:active){.translation-info .translation-notice,.translation-info-icon{border-color:CanvasText}}
.translation-info .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
