@charset "UTF-8";
/* ==========================================================================
   דקה 99 — Design tokens. Single source of truth.

   This file owns every colour, scale and font-face on the site. Nothing else
   declares a :root block. Before this existed the site ran four independent
   token sets (chrome, single.php, category/search, and the homepage widget),
   two of which defined --dk-body with incompatible types — a colour in the
   chrome, a clamp() font-size on post pages. Whichever loaded last won, so
   the footer's `color: var(--dk-body)` was invalid-at-computed-value on all
   122 post pages and silently fell back to inherit.

   Rule: --dk-*  is a colour. --dk-fs-* is a font-size. They never overlap.

   Palette is the warm premium-travel direction (cream / sand / coral / teal),
   contrast-corrected. Every value carrying text clears WCAG AA 4.5:1 on the
   surfaces it is actually used on; the ratios are noted inline so a future
   edit can't quietly regress one.
   ========================================================================== */

/* ---------- 1. Fonts (self-hosted, variable) ----------------------------
   Heebo ships as one variable file per subset. The theme previously declared
   six faces pointing at six filenames — but heebo-hebrew-400/500/700 are the
   same 12KB file byte for byte, and so are the three latin copies. The browser
   can't know that, so a page using 400 and 700 fetched the identical font
   twice. One face per subset with a weight *range* fixes it: same rendering,
   a third of the bytes, and one preload instead of two.
   ------------------------------------------------------------------------ */
@font-face{font-family:'Heebo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../fonts/heebo-hebrew-var.woff2') format('woff2');
  unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('../fonts/heebo-latin-var.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* Playfair Display carries the Latin display cuts only — prices, hotel names,
   numerals. It has no Hebrew glyphs, so Hebrew headings resolve to Heebo by
   design via the --dk-font-display stack. Self-hosted to drop the render-
   blocking fonts.googleapis.com request the homepage used to make. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;
  src:url('../fonts/playfair-latin-var.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- 2. Tokens ---------- */
:root{
  /* The site is light-only by design. Declaring the scheme here is what lets
     the ~500 lines of duelling "Android dark-mode fix" / "FORCE LIGHT MODE"
     !important rules in single.php be deleted outright. */
  color-scheme:light;

  /* -- ink ramp (warm neutrals) -- ratios measured on --dk-bg-soft -------- */
  --dk-ink:#1A1410;          /* 17.07 AAA — headings                        */
  --dk-ink-2:#3D3028;        /* 11.90 AAA — body copy                       */
  --dk-body:#3D3028;         /* COLOUR. never a font-size. see header note.  */
  --dk-muted:#6B5D52;        /*  5.93 AA  — meta, captions                  */
  --dk-faint:#8C7B6E;        /*  3.80     — decorative only, never text     */

  /* -- surfaces ---------------------------------------------------------- */
  --dk-bg:#FFFFFF;
  --dk-bg-soft:#FAF7F2;      /* cream — page ground                          */
  --dk-bg-tint:#F2EAD8;      /* sand — raised blocks, callouts               */
  --dk-bg-deep:#1A1410;      /* inverted sections, top bar                   */

  /* -- lines -------------------------------------------------------------- */
  --dk-border-soft:#F0EAE1;  /* hairlines inside cards                       */
  --dk-border:#E5DED4;       /* default card / section edge                  */
  --dk-border-control:#94826F; /* 3.70 on white, 3.09 on sand — WCAG 1.4.11:
                                  inputs and control outlines need 3:1, the
                                  decorative border above does not reach it. */

  /* -- brand: coral. CTAs and active state -------------------------------- */
  --dk-brand:#B34820;        /* 5.09 AA on cream, 5.43 AA on white, and the
                                same both directions so white-on-coral fills
                                are legal too. The homepage's #D45A2A was
                                3.97 and failed in both directions.          */
  --dk-brand-dark:#93381A;   /* hover / pressed                              */
  --dk-brand-soft:#FDF0EB;
  --dk-brand-soft-2:#F9DFD4;

  /* -- trust: teal. links, verification, guarantees ------------------------ */
  --dk-trust:#1D5C5C;        /* 7.67 AAA on white, 7.18 AAA on cream         */
  --dk-trust-dark:#164747;
  --dk-trust-soft:#E6F2F2;
  --dk-link-visited:#6B3F6B; /* 8.24 AAA — in-article links keep a visited
                                state; on a 122-guide reference site that is
                                a real navigation aid, not decoration.       */

  /* -- gold: decorative accent -------------------------------------------- */
  --dk-gold:#C4922A;         /* 2.80 on white — borders, icon fills, rules.
                                NEVER text on a light surface. Legal at 6.51
                                on --dk-bg-deep, which is where the top bar
                                check icons use it.                          */
  --dk-gold-text:#7D5A12;    /* 5.88 AA — when gold must carry words         */
  --dk-gold-soft:#FDF4E3;

  /* -- state -------------------------------------------------------------- */
  --dk-destructive:#B3261E;  /* 6.54 AA on white                             */
  --dk-focus:#1D5C5C;        /* 7.18 AAA on cream, 6.41 AA on sand           */
  --dk-on-dark:#FAF7F2;      /* 17.07 AAA on --dk-bg-deep                    */
  --dk-on-dark-soft:#C9BFB4; /* 10.07 AAA on --dk-bg-deep                    */
  --dk-brand-on-dark:#EFA184;/*  8.77 AAA on --dk-bg-deep — the brand tint
                                for inverted sections. --dk-brand itself is
                                only 1.9:1 there and must not carry text.    */

  /* -- type --------------------------------------------------------------- */
  --dk-font:'Heebo','Assistant','Segoe UI',Arial,sans-serif;
  --dk-font-display:'Playfair Display','Heebo',Georgia,serif;

  /* UI scale — chrome, cards, nav */
  --dk-fs-xs:.8125rem;
  --dk-fs-sm:.875rem;
  --dk-fs-base:1rem;
  --dk-fs-lg:1.0625rem;
  --dk-fs-xl:clamp(1.125rem,1.6vw,1.25rem);
  --dk-fs-2xl:clamp(1.375rem,2.6vw,1.75rem);
  --dk-fs-3xl:clamp(1.75rem,4vw,2.5rem);

  /* Article scale — long-form reading. These are the values single.php used
     to declare locally; --dk-fs-body is the one that used to collide. */
  --dk-fs-small:clamp(.82rem,.8rem + .1vw,.92rem);
  --dk-fs-body:clamp(1rem,.97rem + .22vw,1.125rem);
  --dk-fs-lead:clamp(1rem,.92rem + .35vw,1.2rem);
  --dk-fs-h3:clamp(1.18rem,1.1rem + .45vw,1.45rem);
  --dk-fs-h2:clamp(1.45rem,1.28rem + .8vw,2rem);
  --dk-fs-title:clamp(2rem,1.35rem + 2vw,3.5rem);

  --dk-lh:1.65;
  --dk-lh-tight:1.25;
  --dk-lh-article:1.9;

  /* -- space — density 5 / standard ---------------------------------------- */
  --dk-s1:4px; --dk-s2:8px; --dk-s3:12px; --dk-s4:16px;
  --dk-s5:24px; --dk-s6:32px; --dk-s7:48px; --dk-s8:64px;
  --dk-s9:88px;

  /* -- radius -------------------------------------------------------------- */
  --dk-r-sm:8px; --dk-r-md:12px; --dk-r-lg:18px; --dk-r-xl:28px; --dk-r-full:999px;

  /* -- elevation — warm-tinted, matching the cream ground ------------------- */
  --dk-sh-sm:0 1px 2px rgba(26,20,16,.05),0 1px 3px rgba(26,20,16,.05);
  --dk-sh-md:0 8px 24px rgba(26,20,16,.08);
  --dk-sh-lg:0 18px 48px rgba(26,20,16,.12);
  --dk-sh-brand:0 8px 20px rgba(179,72,32,.22);

  /* -- layout --------------------------------------------------------------- */
  --dk-wrap:1240px;
  --dk-shell:min(1180px,calc(100% - 32px));
  --dk-content:760px;        /* article measure                                */
  --dk-sidebar:290px;
  --dk-pad:clamp(16px,4vw,32px);
  --dk-header-h:68px;
  --dk-tap:44px;             /* minimum hit area — see pro-rules touch targets */

  /* -- motion — standard tier, CSS-only (no GSAP payload on a CWV site) ------ */
  --dk-t-fast:150ms;
  --dk-t:220ms;
  --dk-t-slow:360ms;
  --dk-ease:cubic-bezier(.2,.7,.3,1);
}

/* Breakpoints are 640 / 768 / 1024 / 1280 everywhere. Custom properties can't
   be used in media queries, so they live here as documentation — before this
   the templates used ten different values (560/600/640/767/768/780/840/900/
   1024/1100) and components broke at each other's edges. */

/* ---------- 3. Global motion opt-out ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
