/* Deborah Balaton Babysitting: "Serene Care System".
   Nurturing minimalist: soft sage and terracotta on warm cream, Literata serif
   headings, generous whitespace, soft tinted shadows. No em dashes anywhere.
   Tokens taken from the Stitch DESIGN.md so the live app matches the design. */

:root {
  --bg:           #fff8f5;   /* cream off-white (avoid pure white) */
  --surface:      #ffffff;
  --container:    #f9f2ef;   /* slightly darker cream: inputs, soft cards */
  --container-2:  #f3ece9;
  --primary:      #446254;   /* deep sage */
  --primary-c:    #5c7b6c;   /* sage container */
  --primary-d:    #2f4d3f;   /* darker sage for hover */
  --on-primary:   #ffffff;
  --accent:       #8c4e37;   /* terracotta */
  --accent-soft:  #feae91;   /* terracotta container */
  --accent-d:     #793f29;
  --text:         #1e1b19;   /* deep charcoal */
  --muted:        #424844;   /* on-surface-variant */
  --outline:      #c1c8c2;   /* soft outline */
  --line:         #e8e1de;
  --dark:         #33302e;   /* inverse surface (footer) */
  --on-dark:      #f6efec;
  --shadow:       0 18px 40px rgba(68, 98, 84, 0.12);
  --shadow-sm:    0 8px 22px rgba(68, 98, 84, 0.10);
  --radius:       24px;   /* xl-ish, the workhorse */
  --radius-lg:    32px;
  --radius-sm:    16px;
  --wrap:         1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Nunito Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .wordmark {
  font-family: "Literata", Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text);
}
h1 { font-size: clamp(2.1rem, 5vw, 3.2rem); margin: 0 0 0.4em; }
h2 { font-size: clamp(1.65rem, 3.5vw, 2.4rem); margin: 0 0 0.5em; }
h3 { font-size: 1.3rem; font-weight: 600; margin: 0 0 0.4em; letter-spacing: -0.01em; }

p { margin: 0 0 1em; }
a { color: var(--primary-d); }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.muted { color: var(--muted); }
.section-head { text-align: center; max-width: 38ch; margin: 0 auto clamp(28px, 4vw, 44px); }

/* Buttons (pill, soft squish on press) */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font: inherit; font-weight: 700;
  min-height: 48px; padding: 13px 28px;
  border-radius: 999px; border: 2px solid transparent;
  cursor: pointer; text-decoration: none;
  transition: transform .08s ease, background .15s ease, box-shadow .15s ease;
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: var(--primary); color: var(--on-primary); box-shadow: var(--shadow-sm); }
.btn-primary:hover { background: var(--primary-d); }
.btn-ghost { background: transparent; color: var(--primary-d); border-color: var(--outline); }
.btn-ghost:hover { border-color: var(--primary); background: rgba(68,98,84,0.05); }
.btn-sm { min-height: 0; padding: 10px 20px; font-size: 0.95rem; }
.btn-block { width: 100%; padding: 18px; font-size: 1.05rem; margin-top: 6px; }

:focus-visible { outline: 3px solid var(--accent-soft); outline-offset: 2px; border-radius: 8px; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 30;
  background: rgba(255, 248, 245, 0.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; }
.wordmark { display: inline-flex; align-items: center; gap: 9px; font-size: 1.4rem; color: var(--text); text-decoration: none; }
.brand-bee { height: 22px; width: auto; display: block; }

/* Hero */
.hero { padding: clamp(44px, 7vw, 92px) 0; }
.hero-inner { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
.eyebrow {
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem;
  font-weight: 700; color: var(--accent); margin: 0 0 12px;
}
.eyebrow-sep {
  display: inline-block;
  font-size: 1.15em;
  font-weight: 400;
  color: var(--muted);
  letter-spacing: 0;
  margin: 0 0.45em;
  vertical-align: baseline;
}
.lede { font-size: 1.18rem; color: var(--muted); max-width: 42ch; }
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }

.hero-photo, .about-photo { position: relative; }
/* Copy gently rises in; photo does a classy zoom-in reveal on load. */
.hero-copy { animation: fade-up 0.9s ease both; }
.hero-photo-frame {
  border-radius: var(--radius-lg); overflow: hidden;
  /* Melt the photo into the cream page at the bottom edge. */
  -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 72%, transparent 100%);
  animation: hero-reveal 1.4s cubic-bezier(.2, .7, .2, 1) both;
}
.hero-photo-frame img {
  display: block;
  width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%;
  /* Gentle Ken Burns drift so the hero never feels static. */
  animation: ken-burns 22s ease-in-out infinite alternate;
  transform-origin: center 35%;
}

@keyframes ken-burns { from { transform: scale(1); } to { transform: scale(1.06); } }
@keyframes fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-reveal { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }

@media (prefers-reduced-motion: reduce) {
  .hero-copy, .hero-photo-frame, .booking-frame { animation: none; }
  .hero-photo-frame img { animation: none; }
}

/* Photo fallback (only if an image fails to load) */
.photo-fallback {
  display: none; aspect-ratio: 4 / 5;
  border: 2px dashed var(--outline); border-radius: var(--radius-lg);
  background: var(--surface); color: var(--muted); text-align: center;
  align-items: center; justify-content: center; flex-direction: column;
  gap: 6px; padding: 20px;
}
.photo-fallback.small { aspect-ratio: 1 / 1; }
.photo-fallback span { font-family: "Literata", serif; font-size: 1.2rem; color: var(--text); }
.photo-missing img { display: none; }
.photo-missing .photo-fallback { display: flex; }

/* Trust section */
.trust { padding: clamp(40px, 6vw, 72px) 0; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tcard {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 30px 22px; text-align: center;
  box-shadow: var(--shadow-sm);
}
.tcard .icon {
  width: 60px; height: 60px; margin: 0 auto 16px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; background: rgba(68,98,84,0.10);
}
.tcard:nth-child(2) .icon, .tcard:nth-child(4) .icon { background: rgba(140,78,55,0.12); }
.tcard h3 { font-family: "Nunito Sans", sans-serif; font-weight: 800; font-size: 1.05rem; letter-spacing: 0; margin-bottom: 6px; }
.tcard p { margin: 0; font-size: 0.92rem; color: var(--muted); }

/* About */
.about { padding: clamp(48px, 8vw, 96px) 0 clamp(32px, 5vw, 60px); position: relative; overflow: hidden; }
.about-inner { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 52px; align-items: center; position: relative; z-index: 1; }
/* Kindergarten mural as a soft, off-center background accent (no text). */
.about-bg {
  position: absolute; right: -3%; bottom: -8%; z-index: 0;
  width: min(46%, 540px); opacity: 0.12; transform: rotate(-2deg);
  border-radius: var(--radius); pointer-events: none;
}
.about-media { display: grid; grid-template-columns: 1fr; gap: 16px; }
.about-photo img {
  width: 100%; aspect-ratio: 4 / 5; object-fit: cover;
  border-radius: var(--radius); box-shadow: var(--shadow-sm);
}
.about-accent { position: relative; }
.about-accent img {
  width: 100%; aspect-ratio: 16 / 10; object-fit: cover;
  border-radius: var(--radius-sm); box-shadow: var(--shadow-sm);
}
.about-accent figcaption {
  margin: 8px 2px 0; font-size: 0.85rem; color: var(--muted); font-style: normal;
}
.about-copy h2 { margin-bottom: 0.4em; }

/* Rates */
.rates { padding: 0 0 clamp(48px, 8vw, 90px); }
.rate-card {
  background: var(--primary); color: var(--on-primary);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 34px clamp(26px, 4vw, 46px);
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
}
.rate-card h2 { color: var(--on-primary); margin-bottom: 6px; }
.rate-card .muted { margin: 0; max-width: 52ch; color: rgba(255,255,255,0.88); }
.rate-copy { flex: 1; min-width: 240px; }
.rate-figure {
  display: flex; flex-direction: column; align-items: center;
  white-space: nowrap;
}
.rate-amount { font-family: "Literata", serif; font-size: 2.7rem; font-weight: 700; color: #fff; }
.rate-unit { display: block; color: rgba(255,255,255,0.85); font-weight: 600; }

/* Booking */
.book { padding: clamp(8px, 2vw, 24px) 0 clamp(44px, 7vw, 84px); }
/* Single column now that the estimate lives inline in the form. */
.book-inner { display: block; }
.book-form-col { max-width: 760px; margin: 0 auto; }
.book-form-col > h2 { text-align: center; }

/* Collapsed-form reveal CTA */
.book-reveal { text-align: center; margin-top: 6px; }
.btn-lg { padding: 18px 40px; font-size: 1.1rem; }
.booking-frame { animation: form-reveal 0.45s ease both; }
@keyframes form-reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* Shared section-header accent so the centered/left mix reads intentional. */
.section-head h2::after,
.book-form-col > h2::after {
  content: ""; display: block; width: 46px; height: 3px; border-radius: 2px;
  background: var(--accent); margin: 12px auto 0;
}
.about-copy h2::after {
  content: ""; display: block; width: 46px; height: 3px; border-radius: 2px;
  background: var(--accent); margin: 12px 0 0;
}
[dir="rtl"] .about-copy h2::after { margin: 12px 0 0 auto; }

form fieldset {
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--surface); padding: 24px 26px; margin: 0 0 20px;
  box-shadow: var(--shadow-sm);
}
form legend {
  padding: 0 12px; font-family: "Nunito Sans", sans-serif;
  font-weight: 800; font-size: 1.05rem; color: var(--primary-d);
}
label { display: block; font-weight: 700; margin-bottom: 18px; font-size: 0.98rem; }
.field-label { font-weight: 700; margin: 6px 0 12px; font-size: 0.98rem; }

input, select, textarea {
  display: block; width: 100%; margin-top: 8px;
  font: inherit; font-weight: 400; color: var(--text);
  background: var(--container); border: 1.5px solid transparent;
  border-radius: var(--radius-sm); padding: 15px 16px; min-height: 56px;
}
textarea { min-height: 88px; }
input::placeholder, textarea::placeholder { color: #9a948e; }
input:hover, select:hover, textarea:hover { border-color: var(--outline); }
input:focus, select:focus, textarea:focus {
  border-color: var(--primary); outline: none; background: var(--surface);
  box-shadow: 0 0 0 3px rgba(68,98,84,0.16);
}
textarea { resize: vertical; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 20px; }

/* Age chips (terracotta tint, per the spec) */
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { position: relative; margin: 0; font-weight: 700; }
.chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.chip span {
  display: inline-block; padding: 11px 18px; border-radius: 999px;
  background: rgba(140,78,55,0.10); color: var(--accent-d);
  border: 1.5px solid transparent; cursor: pointer; transition: all .12s ease;
}
.chip input:checked + span { background: var(--primary); color: #fff; }
.chip input:focus-visible + span { outline: 3px solid var(--accent-soft); outline-offset: 2px; }

/* Honeypot kept out of sight and out of the tab order. */
.hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }

.form-error { color: var(--accent); font-weight: 700; min-height: 1.2em; margin: 10px 0 0; }

/* Estimate card */
.estimate-col { position: sticky; top: 92px; }
.estimate-card {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px;
}
.estimate-card h3 { color: var(--primary-d); }
.estimate-lines { list-style: none; margin: 0 0 14px; padding: 0; }
.estimate-lines li { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px dashed var(--line); }
.estimate-lines li span:last-child { font-weight: 700; white-space: nowrap; }
.estimate-total { display: flex; justify-content: space-between; align-items: baseline; margin: 10px 0 4px; }
.estimate-total .label { font-weight: 800; }
.estimate-total .amount { font-family: "Literata", serif; font-size: 1.9rem; font-weight: 700; color: var(--text); }
.estimate-note { font-size: 0.85rem; color: var(--muted); margin: 14px 0 0; }

/* Success */
.success { padding: clamp(56px, 9vw, 104px) 0; }
.success-inner {
  max-width: 600px; margin: 0 auto; text-align: center;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow); padding: 52px 34px;
}
.success-mark {
  width: 66px; height: 66px; margin: 0 auto 18px; border-radius: 50%;
  background: var(--primary); color: #fff; font-size: 2rem;
  display: flex; align-items: center; justify-content: center;
}
.reference { font-size: 1.1rem; }
.reference strong { color: var(--primary-d); letter-spacing: 0.04em; }

/* Footer */
.site-footer { background: var(--dark); color: var(--on-dark); padding: 44px 0; margin-top: 24px; }
.footer-inner { text-align: center; }
.footer-bee { height: 34px; width: auto; display: block; margin: 6px auto 12px; opacity: 0.9; }
.footer-inner .f-name { font-family: "Literata", serif; font-size: 1.3rem; font-weight: 700; margin: 0 0 4px; }
.footer-inner .f-tag { color: rgba(246,239,236,0.75); margin: 0 0 6px; }
.footer-nav { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; margin: 0 0 18px; padding: 0; list-style: none; }
.footer-nav a { color: var(--on-dark); text-decoration: none; font-weight: 600; }
.footer-nav a:hover { color: var(--accent-soft); }
.footer-inner .f-copy { font-size: 0.85rem; color: rgba(246,239,236,0.55); margin: 0; }

/* Responsive */
@media (max-width: 900px) {
  .hero-inner, .about-inner, .book-inner { grid-template-columns: 1fr; }
  .hero-photo { order: -1; max-width: 420px; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .estimate-col { position: static; order: -1; }
}
@media (max-width: 560px) {
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .rate-figure { text-align: left; }
}

/* ============================ Round 2 additions ============================ */

/* Trust: inline SVG icon (Shabbat candles + kiddush cup) */
.tcard .icon svg { display: block; color: var(--primary-d); }

/* Quick-message panel (hero) */
.contact-panel {
  overflow: hidden; max-height: 0; opacity: 0; margin-top: 0;
  transition: max-height .32s ease, opacity .32s ease, margin-top .32s ease;
}
.contact-panel.open { max-height: 420px; opacity: 1; margin-top: 20px; }
.contact-panel-title { font-weight: 800; margin: 0 0 12px; color: var(--primary-d); }
.contact-options { display: flex; gap: 12px; flex-wrap: wrap; }
.contact-option {
  display: flex; align-items: center; gap: 12px; flex: 1 1 160px;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 12px 16px; box-shadow: var(--shadow-sm);
  text-decoration: none; color: var(--text);
}
.contact-option:hover { border-color: var(--primary); }
.co-icon { font-size: 1.4rem; display: inline-flex; align-items: center; }
.co-icon svg { display: block; }
.contact-option strong { display: block; }
.contact-option small { color: var(--muted); }

/* References / reviews */
.refs { padding: clamp(40px, 6vw, 76px) 0; }
.refs-viewport { position: relative; }
.refs-viewport::before, .refs-viewport::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 56px; z-index: 2; pointer-events: none;
}
.refs-viewport::before { left: 0; background: linear-gradient(90deg, var(--bg), transparent); }
.refs-viewport::after { right: 0; background: linear-gradient(270deg, var(--bg), transparent); }
.refs-track {
  display: flex; gap: 18px; overflow-x: auto; padding: 8px 24px 18px;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.refs-track::-webkit-scrollbar { display: none; }
.ref-card {
  flex: 0 0 300px; margin: 0;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 24px;
}
.ref-card p { font-size: 1.02rem; margin: 0 0 14px; }
.ref-card figcaption { color: var(--accent-d); font-weight: 700; font-size: 0.9rem; }

/* Booking: one tightened frame */
.booking-frame {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 6px clamp(20px, 3vw, 32px);
}
.fgroup { padding: 22px 0; }
.fgroup + .fgroup { border-top: 1px solid var(--line); }
.fgroup-title {
  font-family: "Nunito Sans", sans-serif; font-weight: 800; font-size: 1.05rem;
  color: var(--primary-d); margin: 0 0 14px;
}
.booking-frame label { margin-bottom: 14px; }
.booking-frame label:last-child { margin-bottom: 0; }
.booking-frame .field-label { margin: 4px 0 10px; }

/* Per-child age rows */
.kids-list { display: flex; flex-direction: column; gap: 12px; }
.kid-row { display: flex; align-items: flex-end; gap: 12px; }
.kid-row label { flex: 1; margin: 0; }
.kid-remove {
  flex: 0 0 auto; height: 56px; padding: 0 14px;
  border-radius: var(--radius-sm); border: 1.5px solid var(--line);
  background: #fff; color: var(--muted); font: inherit; cursor: pointer;
}
.kid-remove:hover { border-color: var(--accent); color: var(--accent); }
.add-kid {
  margin-top: 14px; background: rgba(68,98,84,0.08); color: var(--primary-d);
  border: 1.5px dashed var(--outline); border-radius: 999px;
  padding: 11px 20px; font: inherit; font-weight: 700; cursor: pointer;
}
.add-kid:hover { background: rgba(68,98,84,0.14); }
.add-kid[disabled] { opacity: 0.45; cursor: not-allowed; }

/* Preferred-contact segmented control */
.segmented {
  display: inline-flex; background: var(--container); border-radius: 999px;
  padding: 4px; gap: 4px; margin-bottom: 18px;
}
.seg { margin: 0; font-weight: 700; }
.seg input { position: absolute; opacity: 0; width: 0; height: 0; }
.segmented { align-items: center; }
.seg { display: flex; }
.seg span {
  display: flex; align-items: center; justify-content: center;
  width: 58px; height: 44px; padding: 0; border-radius: 999px; cursor: pointer;
  color: var(--muted); transition: all .12s ease;
  line-height: 0;  /* equal-size centered icon buttons: aligned + compact row */
}
.seg span svg { display: block; }
.seg input:checked + span { background: var(--surface); color: var(--primary-d); box-shadow: var(--shadow-sm); }
.seg input:focus-visible + span { outline: 3px solid var(--accent-soft); outline-offset: 2px; }

.req { color: var(--accent); font-weight: 800; }
.request-note {
  font-size: 0.88rem; color: var(--muted); margin: 18px 0 0;
  background: rgba(140,78,55,0.07); border-radius: var(--radius-sm); padding: 12px 14px;
}

/* Language chips spacing inside the form */
.booking-frame .chips { margin-bottom: 16px; }

/* Success actions + save hint */
.success-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
.save-hint { font-size: 0.85rem; color: var(--muted); margin: 14px 0 0; }

/* Inline estimate inside the form (replaces the old sticky aside) */
.estimate-inline {
  margin-top: 22px; padding: 20px 22px;
  background: rgba(68,98,84,0.07); border: 1px solid var(--line);
  border-radius: var(--radius);
}
.estimate-inline h3 { color: var(--primary-d); margin-bottom: 10px; }

/* Per-child bedtime selects, laid out in one wrapping row */
.bedtimes-block { margin-top: 18px; }
.bedtimes-row { display: flex; flex-wrap: wrap; gap: 12px; }
.bedtime-item { flex: 1 1 150px; min-width: 140px; }
.bedtime-item label { margin: 0; font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
  .contact-panel { transition: none; }
}

/* ===================== Round 4: i18n, switcher, ish, candles ============== */

/* Header right side: language switcher + Book now */
.header-actions { display: flex; align-items: center; gap: 12px; }

.lang-switch { position: relative; }
.lang-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--surface); border: 1.5px solid var(--line);
  border-radius: 999px; padding: 6px 10px; cursor: pointer; color: var(--muted);
}
.lang-btn:hover { border-color: var(--primary); }
.flag {
  width: 24px; height: 16px; display: block; border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.06); overflow: hidden;
}
.lang-btn .chev { color: var(--muted); }
.lang-menu {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 40;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius-sm); box-shadow: var(--shadow);
  list-style: none; margin: 0; padding: 6px; min-width: 160px;
  display: none;
}
.lang-menu.open { display: block; }
.lang-menu a {
  display: flex; align-items: center; gap: 10px; padding: 9px 10px;
  border-radius: 10px; text-decoration: none; color: var(--text); font-weight: 600;
}
.lang-menu a:hover { background: var(--container); }
.lang-menu a.current { background: rgba(68,98,84,0.1); color: var(--primary-d); }

/* Two Shabbat candles fit the circle */
.icon-candles { font-size: 1.25rem; letter-spacing: -3px; }

/* "ish" flexibility checkbox under End time */
.endtime-field { display: flex; flex-direction: column; }
.ish-check {
  display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0;
  font-weight: 600; font-size: 0.92rem; color: var(--muted); cursor: help;
  align-self: flex-end;  /* sit at the right edge, clearly under End time */
}
.ish-check input { width: auto; min-height: 0; margin: 0; }
.ish-check span { border-bottom: 1px dotted var(--outline); }

/* ----- Hebrew typography (proper Hebrew webfonts, not generic fallbacks) ----- */
[lang="he"] body { font-family: "Assistant", "Nunito Sans", system-ui, sans-serif; }
[lang="he"] h1, [lang="he"] h2, [lang="he"] h3, [lang="he"] .wordmark,
[lang="he"] .f-name, [lang="he"] .rate-amount,
[lang="he"] .estimate-total .amount, [lang="he"] legend {
  font-family: "Frank Ruhl Libre", "Literata", Georgia, serif;
}

/* ----- Right-to-left (Hebrew) ----- */
[dir="rtl"] .lede,
[dir="rtl"] .eyebrow,
[dir="rtl"] .about-copy,
[dir="rtl"] .rate-copy,
[dir="rtl"] .fgroup-title,
[dir="rtl"] .field-label,
[dir="rtl"] .booking-frame label,
[dir="rtl"] .request-note,
[dir="rtl"] .estimate-note,
[dir="rtl"] .ref-card { text-align: right; }
[dir="rtl"] .lang-menu { right: auto; left: 0; }
[dir="rtl"] .estimate-lines li { flex-direction: row-reverse; }
[dir="rtl"] .estimate-total { flex-direction: row-reverse; }
[dir="rtl"] .ish-check { align-self: flex-end; }
[dir="rtl"] .add-kid { direction: rtl; }
/* Keep the time/date inputs and rate figure visually LTR */
[dir="rtl"] input[type="date"],
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="email"],
[dir="rtl"] .rate-figure { direction: ltr; }
[dir="rtl"] .rate-figure { align-items: center; }
