/**
 * Theme Name:     GeneratePress Child
 * Author:         Tom Usborne
 * Template:       generatepress
 * Text Domain:	   GeneratePress Child
 * Description:    GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
 */

/*
Theme Name: Life Edit GeneratePress Child
Theme URI: https://generatepress.com/
Description: Life Edit Custom GeneratePress Child Theme
Author: Life Edit
Template: generatepress
Version: 1.0.0
Text Domain: life-edit
*/

/* =====================================
   1. BRAND COLORS
===================================== */

:root {
    --le-green: #47794B;
    --le-green-dark: #263F32;
    --le-green-light: #E6EFDF;
    --le-cream: #F8F6EF;
    --le-text: #26332F;
    --le-muted: #68756D;
    --le-border: #E5EAE2;
    --le-white: #FFFFFF;
    --le-radius: 14px;
    --le-shadow: 0 8px 28px rgba(38,63,50,0.07);
}

/* =====================================
   2. GLOBAL
===================================== */

html {
    scroll-behavior: smooth;
}

body {
    color: var(--le-text);
    background: var(--le-white);
    font-family: -apple-system, BlinkMacSystemFont,
        "Apple SD Gothic Neo", "Noto Sans KR",
        "Malgun Gothic", sans-serif;
    font-size: 16px;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--le-green);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s ease;
}

a:hover {
    color: var(--le-green-dark);
}

/* =====================================
   3. TYPOGRAPHY
===================================== */

h1, h2, h3, h4, h5, h6 {
    color: var(--le-text);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.035em;
}

.entry-title,
.page-title {
    letter-spacing: -0.04em;
}

.entry-content h2 {
    margin-top: 2em;
    margin-bottom: 0.75em;
    padding-left: 14px;
    border-left: 4px solid var(--le-green);
}

.entry-content h3 {
    margin-top: 1.6em;
    margin-bottom: 0.6em;
}

.entry-content p,
.entry-content ul,
.entry-content ol {
    margin-bottom: 1.25em;
}

.entry-content li {
    margin-bottom: 0.35em;
}

/* =====================================
   4. HEADER
===================================== */

.site-header {
    background: var(--le-white);
    border-bottom: 1px solid var(--le-border);
}

.site-branding .main-title a {
    color: var(--le-green-dark);
    font-weight: 800;
    letter-spacing: -0.045em;
}

.site-description {
    color: var(--le-muted);
}

/* =====================================
   5. NAVIGATION
===================================== */

.main-navigation,
.main-navigation .main-nav ul li a {
    background: var(--le-white);
}

.main-navigation .main-nav ul li a {
    color: var(--le-text);
    font-weight: 600;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--le-green);
    background: var(--le-green-light);
}

.main-navigation .menu-toggle {
    color: var(--le-green-dark);
    background: var(--le-green-light);
}

/* =====================================
   6. CONTENT LAYOUT
===================================== */

.site-content {
    padding-top: 32px;
    padding-bottom: 48px;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.separate-containers .widget {
    border: 1px solid var(--le-border);
    border-radius: var(--le-radius);
    background: var(--le-white);
    box-shadow: var(--le-shadow);
}

.separate-containers .inside-article {
    padding: clamp(22px, 4vw, 42px);
}

.entry-meta,
.entry-meta a,
.posted-on,
.byline,
.cat-links,
.tags-links {
    color: var(--le-muted);
    font-size: 0.9rem;
}

.entry-summary {
    color: var(--le-muted);
}

/* =====================================
   7. FEATURED IMAGE
===================================== */

.post-image img,
.featured-image img,
.post-image a img,
.inside-article .featured-image img {
    border-radius: 12px;
}

.inside-article .featured-image {
    margin-bottom: 1.5em;
}

/* =====================================
   8. BUTTONS
===================================== */

button,
.button,
.wp-block-button__link,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid var(--le-green);
    border-radius: 999px;
    padding: 11px 22px;
    color: var(--le-white);
    background: var(--le-green);
    font-weight: 700;
    line-height: 1.4;
    transition: 0.2s ease;
}

button:hover,
.button:hover,
.wp-block-button__link:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    color: var(--le-white);
    background: var(--le-green-dark);
    box-shadow: 0 5px 14px rgba(38,63,50,0.15);
    transform: translateY(-1px);
}

/* =====================================
   9. INPUTS
===================================== */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="number"],
textarea,
select {
    max-width: 100%;
    border: 1px solid var(--le-border);
    border-radius: 10px;
    padding: 11px 14px;
    color: var(--le-text);
    background: var(--le-white);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--le-green);
    outline: 2px solid rgba(71,121,75,0.14);
    outline-offset: 1px;
}

/* =====================================
   10. GUTENBERG BLOCKS
===================================== */

.wp-block-quote {
    margin: 1.8em 0;
    padding: 18px 22px;
    border-left: 4px solid var(--le-green);
    border-radius: 0 10px 10px 0;
    background: var(--le-cream);
}

.wp-block-pullquote {
    border-top: 2px solid var(--le-green-light);
    border-bottom: 2px solid var(--le-green-light);
    color: var(--le-green-dark);
}

.wp-block-table table {
    border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
    padding: 12px 14px;
    border: 1px solid var(--le-border);
}

.wp-block-table thead th {
    color: var(--le-green-dark);
    background: var(--le-green-light);
}

.wp-block-separator {
    border-color: var(--le-border);
}

.wp-block-image img {
    border-radius: 12px;
}

.wp-block-button.is-style-outline .wp-block-button__link {
    border-color: var(--le-green);
    color: var(--le-green);
    background: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    color: var(--le-white);
    background: var(--le-green);
}

/* =====================================
   11. SIDEBAR
===================================== */

.widget-title {
    color: var(--le-green-dark);
    font-size: 1.1rem;
    font-weight: 700;
}

.widget ul li {
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--le-border);
}

.widget ul li:last-child {
    border-bottom: 0;
}

/* =====================================
   12. FOOTER
===================================== */

.site-footer {
    color: #EAF0E8;
    background: var(--le-green-dark);
}

.site-footer a {
    color: #D7E8D2;
}

.site-footer a:hover {
    color: var(--le-white);
}

.site-info {
    color: #D7E0D7;
    background: var(--le-green-dark);
}

/* =====================================
   13. ACCESSIBILITY
===================================== */

:focus-visible {
    outline: 2px solid var(--le-green);
    outline-offset: 3px;
}

/* =====================================
   14. MOBILE RESPONSIVE
===================================== */

@media (max-width: 768px) {

    body {
        font-size: 15px;
        line-height: 1.75;
    }

    .site-content {
        padding-top: 18px;
        padding-bottom: 28px;
    }

    .separate-containers .inside-article {
        padding: 22px 18px;
    }

    .entry-content h2 {
        padding-left: 11px;
    }

    .main-navigation .main-nav ul li a {
        padding: 12px 18px;
    }
}

/* =====================================
   15. REDUCED MOTION
===================================== */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
