/* Typography + the bilingual heading component.
 * All colors/sizes come from tokens.css (surface-aware). */

h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: var(--fw-bold);
    line-height: var(--lh-heading);
    color: var(--surface-text);
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }

p { line-height: var(--lh-body); }
p + p { margin-block-start: var(--sp-4); }

strong, b { font-weight: var(--fw-bold); }
small { font-size: var(--fs-small); }

/* ---- Bilingual heading component ----
 * Hebrew display title + a gold English script subtitle (Tropical), stacked.
 * Usage:
 *   <div class="hb-heading-group">
 *     <span class="hb-heading__en">Our Story</span>
 *     <h2 class="hb-heading">הסיפור שלנו</h2>
 *   </div>
 */
.hb-heading-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-1);
    text-align: center;
}
.hb-heading-group--start { align-items: flex-start; text-align: start; }

.hb-heading {
    font-family: var(--font-display);
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    line-height: var(--lh-heading);
    color: var(--surface-text);
    margin: 0;
}
.hb-heading--display { font-size: var(--fs-display); line-height: var(--lh-tight); }

.hb-heading__en {
    font-family: var(--font-script);
    font-size: var(--fs-script);
    font-weight: 400;
    line-height: 1;
    color: var(--surface-accent-2);
    /* Tropical is an LTR English script — keep it LTR even under RTL */
    direction: ltr;
    unicode-bidi: isolate;
}

/* Eyebrow — small uppercase gold label above a heading */
.hb-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: var(--fs-eyebrow);
    font-weight: var(--fw-medium);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--surface-accent);
}

/* ---- CTA button ---- */
.hb-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    padding: 14px 28px;
    font-family: var(--font-body);
    font-size: var(--fs-body);
    font-weight: var(--fw-bold);
    color: var(--hb-charcoal);
    background: var(--hb-gold);
    border-radius: var(--radius-pill);
    transition: transform var(--dur-fast) var(--ease-out),
                background var(--dur-fast) var(--ease-out),
                box-shadow var(--dur-fast) var(--ease-out);
}
.hb-cta:hover {
    color: var(--hb-charcoal);
    background: var(--hb-gold-light);
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}
.hb-cta--ghost {
    background: transparent;
    color: var(--surface-text);
    box-shadow: inset 0 0 0 1.5px var(--surface-accent-2);
}
.hb-cta--ghost:hover {
    background: var(--surface-accent-2);
    color: var(--hb-charcoal);
}
