/*
Theme Name:   La Renova Child
Theme URI:    https://larenova.co.za
Description:  Child theme for La Renova SA built on GeneratePress. Brand styling, typography, buttons, floating WhatsApp button.
Author:       La Renova SA
Author URI:   https://larenova.co.za
Template:     generatepress
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  larenova-child
*/

/* ==========================================================================
   1. Brand variables
   ========================================================================== */
:root {
    --lr-primary:    #1F3A5F;   /* slate-blue */
    --lr-primary-2:  #2A4A78;   /* hover */
    --lr-accent:     #C7813A;   /* warm amber */
    --lr-accent-2:   #B27030;   /* hover */
    --lr-bg:         #FAFAFA;
    --lr-surface:    #FFFFFF;
    --lr-border:     #E5E7EB;
    --lr-text:       #222222;
    --lr-muted:      #5A6573;
    --lr-success:    #25D366;   /* WhatsApp green */
    --lr-radius:     6px;
    --lr-shadow:     0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.06);
    --lr-section-pad: 4rem;
}

/* ==========================================================================
   2. Typography (Inter, 17px body, 1.55 line-height)
   ========================================================================== */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 17px;
    line-height: 1.55;
    color: var(--lr-text);
    background: var(--lr-bg);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', sans-serif;
    color: var(--lr-primary);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

h1 { font-size: 2.5rem; margin-bottom: .75rem; }
h2 { font-size: 2rem;   margin-bottom: .5rem; }
h3 { font-size: 1.5rem; margin-bottom: .5rem; }
h4 { font-size: 1.25rem; }

.heading-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--lr-accent);
    margin-bottom: 0;
}

a { color: var(--lr-primary); text-decoration: none; }
a:hover { color: var(--lr-accent); text-decoration: underline; }

/* ==========================================================================
   3. Buttons
   ========================================================================== */
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
    display: inline-block;
    font-weight: 600;
    padding: 0.85rem 1.6rem;
    border-radius: var(--lr-radius);
    border: 2px solid transparent;
    transition: all 0.15s ease;
    font-size: 1rem;
    line-height: 1.2;
    text-decoration: none;
}

/* Primary — slate navy */
.wp-block-button__link {
    background-color: var(--lr-primary);
    color: #fff;
}
.wp-block-button__link:hover {
    background-color: var(--lr-primary-2);
    color: #fff;
    text-decoration: none;
}

/* Secondary — outline */
.is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--lr-primary);
    border-color: var(--lr-primary);
}
.is-style-outline .wp-block-button__link:hover {
    background: var(--lr-primary);
    color: #fff;
}

/* Accent — amber CTA */
.is-style-accent .wp-block-button__link {
    background-color: var(--lr-accent);
    color: #fff;
}
.is-style-accent .wp-block-button__link:hover {
    background-color: var(--lr-accent-2);
    color: #fff;
}

/* ==========================================================================
   4. Cards
   ========================================================================== */
.lr-card {
    background: var(--lr-surface);
    border: 1px solid var(--lr-border);
    border-radius: var(--lr-radius);
    padding: 1.5rem;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.lr-card:hover {
    box-shadow: var(--lr-shadow);
    transform: translateY(-2px);
}

/* GenerateBlocks container styling fallback */
.gb-container.lr-card-style {
    background: var(--lr-surface);
    border: 1px solid var(--lr-border);
    border-radius: var(--lr-radius);
    transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.gb-container.lr-card-style:hover {
    box-shadow: var(--lr-shadow);
    transform: translateY(-2px);
}

/* ==========================================================================
   5. Section padding rhythm
   ========================================================================== */
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns {
    margin-top: 0;
    margin-bottom: var(--lr-section-pad);
}

.lr-section {
    padding-top: var(--lr-section-pad);
    padding-bottom: var(--lr-section-pad);
}
.lr-section-alt {
    background: #F4F5F7;
}

/* ==========================================================================
   6. Cover blocks (hero)
   ========================================================================== */
.wp-block-cover {
    min-height: 60vh;
    color: #fff;
}
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3 {
    color: #fff;
}
.wp-block-cover .wp-block-cover__inner-container {
    max-width: 720px;
}

/* ==========================================================================
   7. Floating WhatsApp button
   ========================================================================== */
.lr-whatsapp-button {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 56px;
    height: 56px;
    background: var(--lr-success);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    z-index: 9999;
    transition: transform 0.15s ease;
}
.lr-whatsapp-button:hover {
    transform: scale(1.06);
    text-decoration: none;
}
.lr-whatsapp-button svg {
    width: 30px;
    height: 30px;
    fill: #fff;
}

/* ==========================================================================
   8. Mobile responsive
   ========================================================================== */
@media (max-width: 768px) {
    body  { font-size: 16px; }
    h1    { font-size: 2rem;    }
    h2    { font-size: 1.6rem;  }
    h3    { font-size: 1.3rem;  }
    :root { --lr-section-pad: 2.5rem; }

    .wp-block-cover { min-height: 50vh; }
    .lr-whatsapp-button { width: 52px; height: 52px; right: 14px; bottom: 14px; }
    .lr-whatsapp-button svg { width: 26px; height: 26px; }
}

/* ==========================================================================
   9. Form styling (WPForms)
   ========================================================================== */
.wpforms-container input[type="text"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="email"],
.wpforms-container select,
.wpforms-container textarea {
    border: 1px solid var(--lr-border) !important;
    border-radius: var(--lr-radius) !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
    font-family: 'Inter', sans-serif !important;
}
.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
    border-color: var(--lr-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(31,58,95,.12) !important;
}
.wpforms-container button.wpforms-submit {
    background: var(--lr-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--lr-radius) !important;
    padding: 0.85rem 1.6rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    cursor: pointer;
}
.wpforms-container button.wpforms-submit:hover {
    background: var(--lr-accent-2) !important;
}

/* ==========================================================================
   10. Misc utilities
   ========================================================================== */
.lr-trust-strip {
    background: var(--lr-primary);
    color: #fff;
    padding: 1.25rem 0;
    font-size: 0.95rem;
}
.lr-trust-strip a { color: #fff; }
