/* ============================================================
   Kasaya.ph — Global Typography
   45 Google Fonts — Wedding, Birthday, all ages.
   ALL @imports must be at the top before any CSS rules.
   ============================================================ */

/* ── Wedding & formal fonts ─────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,700;1,6..96,400;1,6..96,700&family=EB+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Crimson+Pro:ital,wght@0,300;0,400;1,300;1,400&family=Lora:ital,wght@0,400;0,600;1,400;1,600&family=Marcellus&family=Cinzel:wght@400;600&family=Cardo:ital,wght@0,400;1,400&family=Gilda+Display&family=Italiana&family=Spectral:ital,wght@0,300;0,400;1,300;1,400&family=Great+Vibes&family=Alex+Brush&family=Pinyon+Script&family=Tangerine:wght@400;700&family=Allura&family=Sacramento&family=Jost:wght@300;400;500&family=DM+Sans:wght@300;400;500&family=Raleway:wght@300;400;500&family=Montserrat:wght@300;400;500&family=Josefin+Sans:ital,wght@0,300;0,400;1,300&family=Nunito:wght@300;400;500&display=swap&family=Arizonia&family=Mea+Culpa&family=Corinthia:wght@400;700&display=swap');

/* ── Birthday fonts — all ages ──────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Pacifico&family=Dancing+Script:wght@400;600;700&family=Caveat:wght@400;600;700&family=Kalam:wght@300;400;700&family=Patrick+Hand&family=Fredoka:wght@300;400;600&family=Quicksand:wght@300;400;600&family=Baloo+2:wght@400;600;800&family=Lilita+One&family=Righteous&family=Comfortaa:wght@300;400;700&family=Poppins:ital,wght@0,300;0,400;0,600;1,400&family=Outfit:wght@300;400;600&family=Satisfy&family=Cookie&family=Courgette&family=Lobster&family=Permanent+Marker&family=Architects+Daughter&family=Passero+One&family=Chango&family=Bungee+Inline&family=Akaya+Kanadaka&family=Londrina+Shadow&display=swap');
/* ============================================================
   CATEGORY 1 — SERIF DISPLAY (13 fonts)
   Best for: couple names, section titles, headers
   ============================================================ */
/* 01 */ .font-cormorant   { --inv-font-display: 'Cormorant Garamond', Georgia, serif; }
/* 02 */ .font-playfair    { --inv-font-display: 'Playfair Display', Georgia, serif; }
/* 03 */ .font-bodoni      { --inv-font-display: 'Bodoni Moda', Georgia, serif; }
/* 04 */ .font-eb-garamond { --inv-font-display: 'EB Garamond', Georgia, serif; }
/* 05 */ .font-baskerville { --inv-font-display: 'Libre Baskerville', Georgia, serif; }
/* 06 */ .font-crimson     { --inv-font-display: 'Crimson Pro', Georgia, serif; }
/* 07 */ .font-lora        { --inv-font-display: 'Lora', Georgia, serif; }
/* 08 */ .font-marcellus   { --inv-font-display: 'Marcellus', Georgia, serif; }
/* 09 */ .font-cinzel      { --inv-font-display: 'Cinzel', Georgia, serif; }
/* 10 */ .font-cardo       { --inv-font-display: 'Cardo', Georgia, serif; }
/* 11 */ .font-gilda       { --inv-font-display: 'Gilda Display', Georgia, serif; }
/* 12 */ .font-italiana    { --inv-font-display: 'Italiana', Georgia, serif; }
/* 13 */ .font-spectral    { --inv-font-display: 'Spectral', Georgia, serif; }

/* ============================================================
   CATEGORY 2 — SCRIPT / CALLIGRAPHY (6 fonts)
   Best for: names, accents, special text
   ============================================================ */

/* 14 */ .font-great-vibes { --inv-font-display: 'Great Vibes', cursive; }
/* 15 */ .font-alex-brush  { --inv-font-display: 'Alex Brush', cursive; }
/* 16 */ .font-pinyon      { --inv-font-display: 'Pinyon Script', cursive; }
/* 17 */ .font-tangerine   { --inv-font-display: 'Tangerine', cursive; }
/* 18 */ .font-allura      { --inv-font-display: 'Allura', cursive; }
/* 19 */ .font-sacramento  { --inv-font-display: 'Sacramento', cursive; }

         .font-arizonia    { --inv-font-display: 'Arizonia', cursive; }
         .font-mea-culpa   { --inv-font-display: 'Mea Culpa', cursive; }
         .font-corinthia   { --inv-font-display: 'Corinthia', cursive; }

/* ============================================================
   CATEGORY 3 — SANS-SERIF BODY (6 fonts)
   Best for: labels, body copy, details
   ============================================================ */

/* 20 */ .font-jost        { --inv-font-body: 'Jost', sans-serif; }
/* 21 */ .font-dm-sans     { --inv-font-body: 'DM Sans', sans-serif; }
/* 22 */ .font-raleway     { --inv-font-body: 'Raleway', sans-serif; }
/* 23 */ .font-montserrat  { --inv-font-body: 'Montserrat', sans-serif; }
/* 24 */ .font-josefin     { --inv-font-body: 'Josefin Sans', sans-serif; }
/* 25 */ .font-nunito      { --inv-font-body: 'Nunito', sans-serif; }

/* ============================================================
   BASE FONT APPLICATION
   ============================================================ */
.inv-page * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   NAME STYLES — for hero couple names
   ============================================================ */
.name-italic-light {
    font-family: var(--inv-font-display);
    font-style: italic;
    font-weight: 300;
    line-height: 1.15;
}
.name-italic-medium {
    font-family: var(--inv-font-display);
    font-style: italic;
    font-weight: 400;
    line-height: 1.15;
}
.name-bold-upright {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 700;
    line-height: 1.1;
}
.name-light-upright {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: .04em;
}
.name-script {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
}
.name-caps {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.2;
}

/* ============================================================
   SECTION TITLE STYLES
   ============================================================ */
.title-serif-italic {
    font-family: var(--inv-font-display);
    font-style: italic;
    font-weight: 300;
    font-size: 34px;
    line-height: 1.2;
}
.title-serif-bold {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.15;
}
.title-serif-light {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 300;
    font-size: 32px;
    line-height: 1.2;
    letter-spacing: .02em;
}
.title-sans-medium {
    font-family: var(--inv-font-body);
    font-weight: 500;
    font-size: 22px;
    letter-spacing: .04em;
    line-height: 1.2;
}
.title-sans-light {
    font-family: var(--inv-font-body);
    font-weight: 300;
    font-size: 24px;
    letter-spacing: .08em;
    line-height: 1.3;
}
.title-caps {
    font-family: var(--inv-font-display);
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    letter-spacing: .2em;
    text-transform: uppercase;
    line-height: 1.3;
}

/* ============================================================
   LABEL STYLES
   ============================================================ */
.label-uppercase-spaced {
    font-family: var(--inv-font-body);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .28em;
    text-transform: uppercase;
    line-height: 1.4;
}
.label-italic-soft {
    font-family: var(--inv-font-display);
    font-style: italic;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4;
}
.label-sans-small {
    font-family: var(--inv-font-body);
    font-size: 11px;
    font-weight: 300;
    letter-spacing: .06em;
    line-height: 1.5;
}
.label-caps-tight {
    font-family: var(--inv-font-body);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .35em;
    text-transform: uppercase;
    line-height: 1.4;
}
.label-serif-small {
    font-family: var(--inv-font-display);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

/* ============================================================
   BODY TEXT STYLES
   ============================================================ */
.body-serif {
    font-family: var(--inv-font-display);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.8;
}
.body-sans {
    font-family: var(--inv-font-body);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.7;
}
.body-serif-italic {
    font-family: var(--inv-font-display);
    font-style: italic;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.8;
}


/* ── Baby & Young Kids (0–8) ────────────────────────────────── */
/* 26 */ .font-baloo        { --inv-font-display: 'Baloo 2', cursive; }
/* 27 */ .font-fredoka      { --inv-font-display: 'Fredoka', sans-serif; }
/* 28 */ .font-lilita       { --inv-font-display: 'Lilita One', cursive; }
/* 29 */ .font-patrick-hand { --inv-font-display: 'Patrick Hand', cursive; }
/* 30 */ .font-architects   { --inv-font-display: 'Architects Daughter', cursive; }

/* ── Tweens & Teens (9–17) ──────────────────────────────────── */
/* 31 */ .font-pacifico     { --inv-font-display: 'Pacifico', cursive; }
/* 32 */ .font-righteous    { --inv-font-display: 'Righteous', cursive; }
/* 33 */ .font-lobster      { --inv-font-display: 'Lobster', cursive; }
/* 34 */ .font-permanent    { --inv-font-display: 'Permanent Marker', cursive; }
/* 35 */ .font-caveat       { --inv-font-display: 'Caveat', cursive; }

/* ── Young Adult / Debut (18–25) ────────────────────────────── */
/* 36 */ .font-dancing      { --inv-font-display: 'Dancing Script', cursive; }
/* 37 */ .font-satisfy      { --inv-font-display: 'Satisfy', cursive; }
/* 38 */ .font-cookie       { --inv-font-display: 'Cookie', cursive; }
/* 39 */ .font-courgette    { --inv-font-display: 'Courgette', cursive; }
/* 40 */ .font-kalam        { --inv-font-display: 'Kalam', cursive; }

/* ── Adult Milestone (30–60+) ───────────────────────────────── */
/* 41 */ .font-poppins      { --inv-font-display: 'Poppins', sans-serif; }
/* 42 */ .font-outfit       { --inv-font-display: 'Outfit', sans-serif; }
/* 43 */ .font-quicksand    { --inv-font-display: 'Quicksand', sans-serif; }
/* 44 */ .font-comfortaa    { --inv-font-display: 'Comfortaa', cursive; }

/* ── Golden Years (60+) ─────────────────────────────────────── */
/* 45 */ .font-nunito-round { --inv-font-display: 'Nunito', sans-serif; }

/* ── Birthday body fonts ────────────────────────────────────── */
.font-poppins-body    { --inv-font-body: 'Poppins', sans-serif; }
.font-quicksand-body  { --inv-font-body: 'Quicksand', sans-serif; }
.font-outfit-body     { --inv-font-body: 'Outfit', sans-serif; }
.font-nunito-body     { --inv-font-body: 'Nunito', sans-serif; }
.font-comfortaa-body  { --inv-font-body: 'Comfortaa', cursive; }
.font-fredoka-body    { --inv-font-body: 'Fredoka', sans-serif; }


/* ── Updated 6.27 ────────────────────────────────────── */
/* ── Display / Decorative — Birthday & Celebration ─────────── */

/* Passero One — bold rounded display, fun and friendly */
.font-passero {
    --inv-font-display: 'Passero One', cursive;
}

/* Chango — heavy impact display, bold statement */
.font-chango {
    --inv-font-display: 'Chango', cursive;
}

/* Bungee Inline — retro inline style, striking headers */
.font-bungee-inline {
    --inv-font-display: 'Bungee Inline', cursive;
}

/* Akaya Kanadaka — playful rounded, festive feel */
.font-akaya {
    --inv-font-display: 'Akaya Kanadaka', cursive;
}

/* Londrina Shadow — vintage shadow display, dramatic */
.font-londrina-shadow {
    --inv-font-display: 'Londrina Shadow', cursive;
}
