/*
Theme Name:  Bloomin' Joy
Theme URI:   https://www.bloominjoywellbeing.com
Description: Bloomin' Joy child theme, built on GeneratePress
Author:      Bloomin' Joy Ltd
Author URI:  https://www.bloominjoywellbeing.com
Template:    generatepress
Version:     1.0.1
License:     GNU General Public License v2 or later
Text Domain: bloomin-joy
*/

/* ==========================================================================
   Brand tokens
   ========================================================================== */

:root {
    /* Brand palette - "Lux" refresh 2026 (canonical site: bloominjoywellbeing.com) */
    --bj-deep-plum:      #5A1F4D;  /* H1, H4-H6, link base */
    --bj-aubergine:      #73275F;  /* mid-tone plum - panels / dark sections */
    --bj-berry-rose:     #B53B73;  /* H2, CTAs, accents */
    --bj-warm-coral:     #D45A5A;  /* H3, hover, soft accents */
    --bj-champagne-gold: #D9B26B;  /* dividers, credentials, fine detail */
    --bj-warm-ivory:     #F8F5F1;  /* page / section background */
    --bj-plum-black:     #2A1330;  /* body copy and dark-section background */

    /* Legacy aliases - keep existing selectors working unchanged */
    --bj-rich-magenta: var(--bj-berry-rose);
    --bj-terracotta:   var(--bj-warm-coral);
    --bj-warm-amber:   var(--bj-champagne-gold);
    --bj-warm-cream:   var(--bj-warm-ivory);

    --bj-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --bj-font-body:    'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */

body {
    background-color: var(--bj-warm-cream);
    color: var(--bj-plum-black);
    font-family: var(--bj-font-body);
    font-size: 17px;
    line-height: 1.7;
}

/* ==========================================================================
   Typography — headings
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title {
    font-family: var(--bj-font-heading);
    font-weight: 400;
    line-height: 1.15;
    color: var(--bj-deep-plum);
}

h1, .entry-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    color: var(--bj-deep-plum);
}

h2 {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    color: var(--bj-rich-magenta);
}

h3 {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    color: var(--bj-terracotta);
    font-style: italic;
}

h4, h5, h6 {
    font-size: 1.125rem;
    color: var(--bj-deep-plum);
}

/* ==========================================================================
   Links
   ========================================================================== */

a {
    color: var(--bj-rich-magenta);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--bj-terracotta);
    text-decoration: underline;
}

/* ==========================================================================
   Buttons / CTAs
   ========================================================================== */

.button,
.wp-block-button__link,
input[type="submit"],
button[type="submit"] {
    background-color: var(--bj-rich-magenta);
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 0.75em 1.875em;
    font-family: var(--bj-font-body);
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: var(--bj-terracotta);
    color: #fff;
    text-decoration: none;
}

/* ==========================================================================
   Dividers
   ========================================================================== */

hr {
    border: none;
    border-top: 1px solid var(--bj-warm-amber);
    opacity: 0.45;
    margin: 2.5em 0;
}

/* ==========================================================================
   Small print, captions, credentials
   ========================================================================== */

small,
.wp-caption-text,
cite,
figcaption,
.credentials {
    font-size: 0.8125rem;
    color: var(--bj-warm-amber);
    line-height: 1.5;
}

/* ==========================================================================
   Site header
   ========================================================================== */

.site-header,
#masthead {
    background-color: var(--bj-warm-cream);
    border-bottom: 1px solid rgba(212, 135, 58, 0.2);
}

.site-title a {
    color: var(--bj-deep-plum);
    font-family: var(--bj-font-heading);
    font-size: 1.75rem;
    letter-spacing: 0.02em;
}

.site-title a:hover {
    color: var(--bj-rich-magenta);
    text-decoration: none;
}

.site-description {
    color: var(--bj-terracotta);
    font-size: 0.875rem;
    font-style: italic;
}

/* ==========================================================================
   Navigation
   ========================================================================== */

.main-navigation a,
.nav-primary a,
.site-navigation a {
    font-family: var(--bj-font-body);
    color: var(--bj-plum-black);
    font-size: 0.9375rem;
    letter-spacing: 0.03em;
}

.main-navigation a:hover,
.nav-primary a:hover,
.site-navigation a:hover {
    color: var(--bj-rich-magenta);
    text-decoration: none;
}

.main-navigation .current-menu-item > a,
.nav-primary .current-menu-item > a {
    color: var(--bj-rich-magenta);
}

/* ==========================================================================
   Site footer
   ========================================================================== */

.site-footer,
#colophon {
    background-color: var(--bj-plum-black);
    color: rgba(242, 233, 223, 0.8);
    font-size: 0.875rem;
}

.site-footer a {
    color: var(--bj-warm-amber);
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--bj-warm-cream);
    text-decoration: underline;
}

/* ==========================================================================
   Credentials bar — Lou Goodwin · COSRT-registered · etc.
   ========================================================================== */

.credentials-bar {
    background-color: var(--bj-plum-black);
    color: var(--bj-warm-amber);
    font-family: var(--bj-font-body);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-align: center;
    padding: 0.75em 1em;
}

/* ==========================================================================
   Block editor overrides
   ========================================================================== */

.wp-block-quote {
    border-left: 3px solid var(--bj-rich-magenta);
    padding-left: 1.5em;
    font-family: var(--bj-font-heading);
    font-size: 1.25rem;
    font-style: italic;
    color: var(--bj-deep-plum);
}

.wp-block-pullquote {
    border-top: 2px solid var(--bj-warm-amber);
    border-bottom: 2px solid var(--bj-warm-amber);
    color: var(--bj-deep-plum);
    font-family: var(--bj-font-heading);
    font-size: 1.5rem;
    font-style: italic;
    text-align: center;
}

.wp-block-separator {
    border: none;
    border-top: 1px solid var(--bj-warm-amber);
    opacity: 0.45;
}

/* ==========================================================================
   GeneratePress layout overrides
   ========================================================================== */

.generate-columns-container,
.inside-article,
.entry-content {
    color: var(--bj-plum-black);
}

/* Sidebar widget titles */
.widget-title {
    font-family: var(--bj-font-heading);
    color: var(--bj-deep-plum);
    font-size: 1.25rem;
    border-bottom: 1px solid var(--bj-warm-amber);
    padding-bottom: 0.5em;
    margin-bottom: 0.75em;
}

/* ==========================================================================
   BJ holding page: hide front-page title (stray "Welcome" above hero)
   Targets the static front page generically (.home) so it works on any install,
   regardless of the page ID assigned. Other pages keep their titles.
   ========================================================================== */
body.home .page-header,
body.home .entry-header,
body.home .page-title,
body.home .entry-title {
    display: none !important;
}
