/* A deliberate first stop: choose a language, confirm the destination branch. */
.welcome-dialog {
  width: min(940px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid #ffffff24;
  border-radius: 20px;
  background: var(--cream, #f4f3e9);
  color: var(--green, #073d2b);
  overflow: auto;
  overscroll-behavior: contain;
  box-shadow: 0 35px 140px #00180d80;
  scrollbar-color: #a9b699 #f4f3e9;
  scrollbar-width: thin;
}
.welcome-dialog::backdrop {
  background: #001b14ed;
  backdrop-filter: blur(16px);
}
.welcome-dialog *, .welcome-dialog *::before, .welcome-dialog *::after { box-sizing: border-box; }
.welcome-layout { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 650px; }
.welcome-brand-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  padding: 38px 34px 44px;
  color: #f4f3e9;
  background: radial-gradient(ellipse at 35% 85%, #426d3438, transparent 65%), #073d2b;
}
.welcome-brand-panel::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 390px;
  aspect-ratio: 1;
  border: 1px solid #ddff8326;
  border-radius: 50%;
  inset-inline-start: -135px;
  bottom: -145px;
  box-shadow: 0 0 0 24px #ddff8307, 0 0 0 49px #ddff8305;
}
.welcome-brand-panel .brand-logo-frame { width: min(215px, 100%); flex-shrink: 0; }
.welcome-brand-panel .original-logo { width: 100%; height: auto; }
.welcome-brand-copy { position: relative; z-index: 1; padding-bottom: 30px; }
.welcome-dialog .welcome-brand-copy h2 {
  max-width: 290px;
  margin: 0;
  color: #ddff83;
  font-family: var(--sans, 'Manrope', 'Noto Sans Arabic', sans-serif);
  font-size: 45px;
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -2.2px;
}
.welcome-brand-copy p { max-width: 250px; margin: 19px 0 0; color: #c6d5bd; font-size: 12px; line-height: 1.95; }
.welcome-brand-mark { position: absolute; z-index: -1; bottom: 15px; inset-inline-end: 9px; color: #ddff8310; font-size: 200px; font-weight: 800; line-height: 1; transform: rotate(-15deg); pointer-events: none; }
.welcome-form { min-width: 0; padding: 37px 38px 32px; }
.welcome-step-label { margin-bottom: 12px; color: #5f7056; font-size: 8px; font-weight: 800; letter-spacing: 1.8px; line-height: 1.7; text-transform: uppercase; }
.welcome-dialog .welcome-form h2 { margin: 0; font-family: var(--sans, 'Manrope', 'Noto Sans Arabic', sans-serif); font-size: 30px; font-weight: 800; line-height: 1.2; letter-spacing: -1.15px; }
.welcome-intro { margin: 11px 0 25px; color: #5f7056; font-size: 12px; line-height: 1.85; }
.welcome-language { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.welcome-language legend { margin: 0 0 10px; padding: 0; font-size: 11px; font-weight: 800; line-height: 1.7; }
.welcome-language-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.welcome-language-options button {
  min-width: 0;
  min-height: 49px;
  padding: 12px 16px;
  border: 1px solid #c8d3bd;
  border-radius: 8px;
  background: #fcfcf5;
  color: #264b35;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  transition: background .15s, border-color .15s, color .15s;
}
.welcome-language-options button[data-welcome-language="ar"] { font-family: 'Noto Sans Arabic', sans-serif; font-size: 15px; }
.welcome-language-options button[aria-pressed="true"] { background: #073d2b; border-color: #073d2b; color: #ddff83; box-shadow: 0 2px 8px #073d2b10; }
.welcome-language-options button:hover:not([aria-pressed="true"]) { border-color: #829b6b; background: #eef2e4; }
.welcome-branch-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.welcome-branch-header h3 { margin: 0; font-size: 11px; font-weight: 800; line-height: 1.7; }
.welcome-location-button { display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; gap: 6px; min-height: 44px; max-width: 62%; padding: 7px 0; background: none; color: #315d3c; font-size: 10px; font-weight: 700; line-height: 1.65; text-align: start; }
.welcome-location-button svg { width: 15px; height: 15px; flex-shrink: 0; }
.welcome-location-button:hover:not(:disabled) { text-decoration: underline; text-underline-offset: 4px; }
.welcome-location-button:disabled { cursor: wait; opacity: .6; }
.welcome-location-status { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #cbd9b4; border-radius: 6px; background: #eaf0de; color: #34522e; font-size: 10px; line-height: 1.8; overflow-wrap: anywhere; }
.welcome-location-status.is-error, .welcome-location-status[data-state="error"] { border-color: #dfccb6; background: #f1e9dd; color: #70533c; }
.welcome-branch-list { display: flex; flex-direction: column; gap: 9px; }
.welcome-branch-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 77px;
  padding: 14px 14px;
  border: 1px solid #cdd6c2;
  border-radius: 8px;
  background: #fcfcf5;
  color: #21452f;
  text-align: start;
  transition: background .15s, border-color .15s;
}
.welcome-branch-option > svg { width: 20px; height: 20px; flex-shrink: 0; }
.welcome-branch-option > span:first-of-type { flex: 1; min-width: 0; }
.welcome-branch-option strong { display: block; font-size: 13px; font-weight: 800; line-height: 1.55; overflow-wrap: anywhere; }
.welcome-branch-option small { display: block; margin-top: 4px; color: #5f7056; font-size: 10px; line-height: 1.7; overflow-wrap: anywhere; }
.welcome-branch-option .welcome-branch-check { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; border: 1px solid #a7b995; border-radius: 50%; background: transparent; color: #fcfcf5; }
.welcome-branch-check svg { width: 13px; height: 13px; }
.welcome-branch-option.selected, .welcome-branch-option[aria-pressed="true"] { border-color: #073d2b; background: #e7f0d7; box-shadow: inset 0 0 0 1px #073d2b; }
.welcome-branch-option.selected .welcome-branch-check, .welcome-branch-option[aria-pressed="true"] .welcome-branch-check { background: #073d2b; border-color: #073d2b; }
.welcome-branch-option:hover:not(:disabled):not([aria-pressed="true"]) { border-color: #899f73; background: #f1f5e8; }
.welcome-branch-option:disabled { opacity: .55; cursor: default; }
.welcome-error { margin: 13px 0 0; padding: 10px 12px; border-radius: 6px; background: #f2e3d9; color: #883c2f; font-size: 11px; line-height: 1.8; }
.welcome-summary { min-height: 22px; margin: 18px 0 10px; color: #42613a; font-size: 11px; font-weight: 700; line-height: 1.9; overflow-wrap: anywhere; }
.welcome-continue.primary-button { display: flex; justify-content: space-between; width: 100%; min-height: 52px; padding: 15px 20px; border-radius: 28px; background: #073d2b; color: #ddff83; font-size: 12px; line-height: 1.65; }
.welcome-continue.primary-button:disabled { background: #dfe6d4; color: #718265; cursor: not-allowed; opacity: 1; transform: none; }
.welcome-continue.primary-button:hover:not(:disabled) { background: #145439; }
.welcome-continue svg { width: 18px; height: 18px; }
.welcome-location-privacy { margin: 13px 0 0; color: #5f7056; font-size: 9px; line-height: 1.9; }
.welcome-loading { display: flex; align-items: center; justify-content: center; min-height: 86px; padding: 16px; color: #5f7056; font-size: 12px; line-height: 1.9; text-align: center; }
.welcome-retry { min-height: 46px; padding: 11px 18px; border: 1px solid #9eaf89; border-radius: 24px; background: transparent; color: #073d2b; font-size: 11px; font-weight: 700; }
.welcome-dialog button:focus-visible { outline: 3px solid #97b65d; outline-offset: 3px; }
.welcome-dialog[dir="rtl"] .welcome-brand-copy h2 { font-family: 'Noto Sans Arabic', sans-serif; font-size: 34px; font-weight: 800; line-height: 1.7; letter-spacing: -1px; }
.welcome-dialog[dir="rtl"] .welcome-form h2 { font-family: 'Noto Sans Arabic', sans-serif; font-size: 26px; font-weight: 800; line-height: 1.65; letter-spacing: -.5px; }
.welcome-dialog[dir="rtl"] .welcome-step-label { letter-spacing: 0; font-size: 9px; }
.welcome-dialog[dir="rtl"] .welcome-intro { font-size: 12px; line-height: 2; }
.welcome-dialog[dir="rtl"] .welcome-brand-copy p { line-height: 2.1; }
@media (max-width: 760px) {
  .welcome-dialog { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .welcome-layout { display: block; min-height: 0; }
  .welcome-brand-panel { min-height: 0; flex-direction: row; align-items: center; gap: 20px; padding: 15px 23px 17px; }
  .welcome-brand-panel .brand-logo-frame { width: 127px; }
  .welcome-brand-copy { flex: 1; min-width: 0; padding-bottom: 0; }
  .welcome-dialog .welcome-brand-copy h2 { max-width: 190px; font-size: 25px; line-height: 1.08; letter-spacing: -1.1px; }
  .welcome-brand-copy p { display: none; }
  .welcome-brand-panel::after { width: 240px; bottom: -190px; inset-inline-start: -30px; }
  .welcome-brand-mark { inset-inline-end: -3px; bottom: -12px; font-size: 125px; }
  .welcome-form { padding: 25px 23px 24px; }
  .welcome-step-label { font-size: 7px; letter-spacing: 1.5px; margin-bottom: 9px; }
  .welcome-dialog .welcome-form h2 { font-size: 27px; letter-spacing: -1px; line-height: 1.2; }
  .welcome-intro { margin: 10px 0 21px; font-size: 11px; line-height: 1.85; }
  .welcome-language { margin-bottom: 17px; }
  .welcome-language legend { font-size: 10px; margin-bottom: 9px; }
  .welcome-language-options { gap: 9px; }
  .welcome-language-options button { min-height: 47px; font-size: 11px; padding: 11px 13px; }
  .welcome-language-options button[data-welcome-language="ar"] { font-size: 14px; }
  .welcome-branch-header { gap: 10px; margin-bottom: 6px; }
  .welcome-branch-header h3 { font-size: 10px; }
  .welcome-location-button { font-size: 9px; gap: 5px; max-width: 66%; min-height: 44px; }
  .welcome-location-button svg { width: 14px; height: 14px; }
  .welcome-branch-option { min-height: 74px; padding: 13px 12px; gap: 10px; }
  .welcome-branch-option > svg { width: 18px; height: 18px; }
  .welcome-branch-option strong { font-size: 12px; }
  .welcome-branch-option small { font-size: 9px; margin-top: 3px; line-height: 1.8; }
  .welcome-branch-option .welcome-branch-check { width: 21px; height: 21px; flex-basis: 21px; }
  .welcome-summary { font-size: 10px; margin-top: 15px; }
  .welcome-continue.primary-button { min-height: 51px; font-size: 11px; padding: 14px 18px; }
  .welcome-location-status { font-size: 9px; line-height: 1.9; padding: 9px 10px; }
  .welcome-location-privacy { font-size: 8px; line-height: 1.95; margin-top: 12px; }
  .welcome-dialog[dir="rtl"] .welcome-brand-copy h2 { font-size: 20px; line-height: 1.7; letter-spacing: -.5px; }
  .welcome-dialog[dir="rtl"] .welcome-form h2 { font-size: 23px; line-height: 1.65; letter-spacing: -.5px; }
  .welcome-dialog[dir="rtl"] .welcome-intro { font-size: 11px; }
}
@media (max-width: 370px) {
  .welcome-brand-panel { padding-inline: 19px; gap: 15px; }
  .welcome-brand-panel .brand-logo-frame { width: 113px; }
  .welcome-dialog .welcome-brand-copy h2 { font-size: 23px; }
  .welcome-form { padding-inline: 19px; }
  .welcome-dialog .welcome-form h2 { font-size: 25px; }
  .welcome-dialog[dir="rtl"] .welcome-brand-copy h2 { font-size: 18px; }
}
@media (max-height: 620px) and (min-width: 761px) {
  .welcome-layout { min-height: 0; }
  .welcome-brand-panel { padding-block: 25px; }
  .welcome-brand-panel .brand-logo-frame { width: 170px; }
  .welcome-form { padding-block: 27px; }
}
@media (prefers-reduced-motion: reduce) { .welcome-dialog *, .welcome-dialog *::before, .welcome-dialog *::after { transition: none !important; animation: none !important; } }

/* Keep the welcome step visually first while the catalog loads. */
body.entry-pending{background:#073d2b}
body.entry-pending>.site-header,body.entry-pending>main,body.entry-pending>footer{visibility:hidden}
.welcome-map-credit{display:inline-block;font-size:8px;line-height:1.7;color:#5f7056;margin-top:7px;text-decoration:underline;text-underline-offset:2px}

body.entry-pending>noscript p{padding:30px;color:#f4f3e9;line-height:1.9}
.welcome-dialog[dir="rtl"] .welcome-continue svg{transform:rotate(180deg)}
