/* Ubuntu lokal (statt Google Fonts CDN) */
@font-face { font-family:'Ubuntu'; font-style:normal; font-weight:300; font-display:swap; src:url('assets/fonts/ubuntu-300-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Ubuntu'; font-style:normal; font-weight:300; font-display:swap; src:url('assets/fonts/ubuntu-300-latin.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; }
@font-face { font-family:'Ubuntu'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/ubuntu-400-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Ubuntu'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/ubuntu-400-latin.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; }
@font-face { font-family:'Ubuntu'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/fonts/ubuntu-500-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Ubuntu'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/fonts/ubuntu-500-latin.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; }

/* ============================================================
   The Wholeness Work — boot1 Prototyp
   Design-Tokens aus Bestandsaufnahme wholenesswork.eu (01.08.2026):
   Marine #1A2D4D · CTA #1E2D4B · Altrosa #D9B4AC · H-Grau #3A3A3A
   Ubuntu 300 (Headlines + Body wie Bestand), Radius 4px
   ============================================================ */

:root {
    --ww-navy: #1A2D4D;
    --ww-navy-btn: #1E2D4B;
    --ww-rose: #D9B4AC;
    --ww-rose-soft: #E8D3CE;
    --ww-heading: #3A3A3A;
    --ww-bg: #FFFFFF;
    --ww-radius: 4px;
}

body {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 300;
    color: var(--ww-navy);
    background: var(--ww-bg);
    line-height: 1.65;
}

h1, h2, h3, h4, h5 {
    font-family: 'Ubuntu', sans-serif;
    font-weight: 300;
    color: var(--ww-heading);
}
h2 { font-size: 1.66rem; margin-bottom: 1rem; }
h3 { font-size: 1.25rem; }

/* --- Navigation --- */
.ww-nav {
    background: #fff;
    border-bottom: 1px solid rgba(26, 45, 77, .08);
}
.ww-nav .nav-link {
    color: var(--ww-navy);
    font-weight: 300;
    padding-inline: .9rem;
}
.ww-nav .nav-link:hover { color: #6d5aa8; }
.ww-nav .navbar-brand img { height: 64px; width: auto; }

/* --- Hero (Altrosa wie Bestand) --- */
.ww-hero {
    background: var(--ww-rose);
    color: #fff;
    padding: 4.5rem 0;
}
.ww-hero p.lead {
    font-size: 1.15rem;
    font-weight: 300;
    line-height: 1.7;
}
.ww-hero video {
    width: 100%;
    border-radius: var(--ww-radius);
    box-shadow: 0 10px 40px rgba(26, 45, 77, .18);
}

/* --- In-Kürze-Box (AI-SEO) --- */
.ww-tldr {
    background: #FAF6F5;
    border-left: 3px solid var(--ww-rose);
    border-radius: var(--ww-radius);
    padding: 1.25rem 1.5rem;
    font-size: .98rem;
}

/* --- Sektionen --- */
.ww-section { padding: 4rem 0; }
.ww-section--alt { background: #FAF9F8; }

/* --- Buttons (Marine, radius 4 wie Bestand) --- */
.ww-btn {
    display: inline-block;
    background: var(--ww-navy-btn);
    color: #fff;
    padding: .7rem 1.6rem;
    border-radius: var(--ww-radius);
    text-decoration: none;
    font-weight: 300;
    transition: background .2s ease;
}
.ww-btn:hover { background: #2d4370; color: #fff; }
.ww-btn--ghost {
    background: transparent;
    color: var(--ww-navy);
    border: 1px solid var(--ww-navy);
}
.ww-btn--ghost:hover { background: var(--ww-navy); color: #fff; }

/* --- Karten (Videotrainings) --- */
.ww-card {
    border: 1px solid rgba(26, 45, 77, .1);
    border-radius: var(--ww-radius);
    padding: 1.75rem;
    height: 100%;
    background: #fff;
    transition: box-shadow .2s ease;
}
.ww-card:hover { box-shadow: 0 6px 24px rgba(26, 45, 77, .08); }
.ww-card .ww-price {
    color: var(--ww-heading);
    font-size: .9rem;
    opacity: .7;
}

/* --- Event-Teaser --- */
.ww-event {
    background: var(--ww-navy);
    color: #fff;
    border-radius: var(--ww-radius);
    padding: 2.5rem;
}
.ww-event h2 { color: #fff; }

/* --- Buch-Sektionen --- */
.ww-book-cover {
    max-width: 220px;
    border-radius: var(--ww-radius);
    box-shadow: 0 8px 30px rgba(26, 45, 77, .15);
}

/* --- Preis-Kalkulator (Anmutung wie register.wholenesswork.eu) --- */
.ww-calc { border: 1px solid rgba(26, 45, 77, .12); border-radius: var(--ww-radius); padding: 1.75rem; background: #fff; }
.ww-calc input[type="checkbox"] { accent-color: var(--ww-navy); width: 1.15em; height: 1.15em; }
.ww-lvl-card {
    border: 2px solid rgba(26, 45, 77, .15);
    border-radius: var(--ww-radius);
    padding: 1rem;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
    user-select: none;
    height: 100%;
}
.ww-lvl-card:hover { border-color: var(--ww-navy); }
.ww-lvl-card.active { border-color: var(--ww-navy); background: #F5F7FB; }
.ww-lvl-card .lvl-date { font-size: .82rem; opacity: .6; }
.ww-lvl-card .lvl-name { font-weight: 500; font-size: 1.05rem; margin: .15rem 0 .3rem; }
.ww-lvl-card .lvl-price { font-size: .82rem; opacity: .6; }
.ww-lvl-card .lvl-check { font-size: 1.3rem; line-height: 1; color: var(--ww-navy); visibility: hidden; }
.ww-lvl-card.active .lvl-check { visibility: visible; }
.ww-lvl-card .lvl-rep { margin-top: .6rem; font-size: .8rem; display: none; }
.ww-lvl-card.active .lvl-rep { display: block; }
.ww-bundle-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    border: 1px solid rgba(26, 45, 77, .12); border-radius: var(--ww-radius);
    overflow: hidden; margin: 1.25rem 0; text-align: center;
}
.ww-bundle-cell { padding: .7rem .3rem; border-right: 1px solid rgba(26, 45, 77, .12); font-size: .85rem; }
.ww-bundle-cell:last-child { border-right: none; }
.ww-bundle-cell .lvl { display: block; opacity: .6; font-size: .75rem; margin-bottom: 2px; }
.ww-bundle-cell .amt { font-weight: 500; }
.ww-bundle-cell.active { background: var(--ww-navy); color: #fff; }
.ww-bundle-cell.active .lvl { opacity: .75; }
.ww-calc-row { display: flex; justify-content: space-between; font-size: .95rem; padding: .2rem 0; }
.ww-calc-total {
    display: flex; justify-content: space-between; align-items: baseline;
    border-top: 2px solid var(--ww-navy); margin-top: .75rem; padding-top: .75rem;
}
.ww-calc-total .amt { font-size: 1.7rem; font-weight: 500; color: var(--ww-navy); }
@media (max-width: 575px) {
    .ww-bundle-grid { grid-template-columns: repeat(2, 1fr); }
    .ww-bundle-cell:nth-child(2n) { border-right: none; }
    .ww-bundle-cell:nth-child(-n+2) { border-bottom: 1px solid rgba(26, 45, 77, .12); }
}

/* --- Footer (Marine wie Bestand) --- */
.ww-footer {
    background: var(--ww-navy);
    color: rgba(255, 255, 255, .85);
    padding: 3rem 0 2rem;
    font-size: .92rem;
}
.ww-footer a { color: #fff; text-decoration: none; }
.ww-footer a:hover { text-decoration: underline; }
.ww-footer h5 { color: #fff; font-size: 1rem; margin-bottom: .75rem; }

img { max-width: 100%; height: auto; }

@media (max-width: 767px) {
    .ww-hero { padding: 3rem 0; }
    .ww-section { padding: 2.75rem 0; }
}

/* --- Testimonial-Karussell --- */
.ww-tcarousel {
    max-width: 780px;
    margin: 1.5rem auto 0;
    padding: 0 3.25rem;
}
.ww-tcarousel .ww-card { border-left: 3px solid var(--ww-rose); }
.ww-tcarousel .carousel-control-prev,
.ww-tcarousel .carousel-control-next { width: 2.75rem; opacity: .55; }
.ww-tcarousel .carousel-control-prev:hover,
.ww-tcarousel .carousel-control-next:hover { opacity: 1; }
.ww-tcarousel .carousel-control-prev-icon,
.ww-tcarousel .carousel-control-next-icon {
    width: 1.6rem;
    height: 1.6rem;
    filter: invert(1) grayscale(1) brightness(.35);
}
.ww-tcarousel .carousel-indicators {
    position: static;
    margin: 1rem 0 0;
}
.ww-tcarousel .carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    border: 0;
    border-radius: 50%;
    margin: 0 5px;
    background: var(--ww-navy);
    opacity: .25;
}
.ww-tcarousel .carousel-indicators .active { opacity: 1; }
@media (max-width: 767px) {
    .ww-tcarousel { padding: 0 2rem; }
}
