/**
 Theme Name:        Coachava Child
 Template:   		coachava 
 Text Domain: coachavachild
*/

/* CSS Variables */
:root { --pink: #eabdd8; --sage: #697967; --clay: #c05c4f; --blue: #9ac3bf; --blue60: #c0dbd9; --darkblue: #82b9b5; --neutral: #f4f7de; --neutral30: #fcfdf5; --sage20: #dce4e1; --pink50: #f1deeb; --blue50: #c9e1df; --blue80: #afcfcc; }

/* Typography */
h1, h2, h3, h4, h5, h6, p { margin: 0 0 15px 0!important; }
h4 { margin-bottom: 20px!important; }
h5 { margin-bottom: 5px!important; }

/* Base styles */
body { padding-top: 111px; }
a { transition: all 0.3s ease; }

/* Header styles */
header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; transition: all 0.9s ease; }
header .wp-block-site-logo a, header .wp-block-site-logo a img { max-width: 300px; transition: all 0.9s ease; }
header.shrink .wp-block-site-logo a, header.shrink .wp-block-site-logo a img { max-width: 190px; transition: all 0.9s ease; }
header nav li { padding-bottom: 2px; }
header nav > ul > li.current-menu-ancestor, header nav > ul > li:hover, header nav > ul > li.current-menu-item { border-bottom: 1px solid var(--blue); color: var(--blue); }

/* Navigation styles */
nav.wp-block-navigation { padding-top: 10px; }
:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover) { text-decoration: none!important; }
.wp-block-navigation__submenu-container a:hover { color: var(--clay); }
.wp-block-navigation__submenu-container ul { font-size: 14px; padding: 15px; }
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container { width: 215px!important; line-height: 1.1!important; padding: 15px!important; overflow: hidden; border: 1px solid var(--blue)!important; font-size: 14px!important; font-family: 'DM Sans'; background: var(--neutral30)!important; border-radius: 35px!important; border-top-right-radius: 0!important; }
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container li.current-menu-item, .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container a:hover { color: var(--pink)!important; }

/* Button styles */
#loadMoreBtn, #gform_submit_button_1 { background: var(--blue60); border-radius: 4px; border: none; color: var(--sage); font-family: 'DM Sans'; padding: 10px 15px; font-size: 17px; font-weight: 500; cursor: pointer; }
#loadMoreBtn:hover, #gform_submit_button_1:hover { color: var(--neutral); background: var(--sage)!important; }
#gform_submit_button_1, .wp-block-button .wp-block-button__link { padding: 10px 15px!important; font-size: 15px; }
.wp-block-buttons a:hover { color: var(--neutral)!important; background: var(--sage)!important; }
.wp-block-buttons .scrollneutral a:hover { background: var(--neutral)!important; color: var(--sage)!important; }

/* Load more button */
.load-more-container { margin-top: 20px; }
.load-more-btn { padding: 12px 24px; background: #0073aa; color: white; border: none; border-radius: 4px; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; }
.load-more-btn:disabled { cursor: not-allowed; opacity: 0.7; }
.load-more-btn.loading { background: #666; }
.load-more-btn.loading .spinner { display: inline-block; }
.spinner { display: none; width: 16px; height: 16px; border: 2px solid #ffffff; border-top: 2px solid transparent; border-radius: 50%; animation: spin 1s linear infinite; margin-right: 8px; }

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Form styles */
.gform_body textarea, .gform_body input { border: 1px solid var(--clay); border-radius: 0; }

/* Layout utilities */
.colpad { padding: 30px 50px; }
.noleftpad { padding-left: 0!important; }
.editor-styles-wrapper { background: var(--neutral); }
.nomarginrightbottom { padding-right: 0!important; padding-bottom: 0!important; }
.iconboxes .wp-block-column { padding: 30px; }
.insights h6 { margin-bottom: 10px!important; }

/* Alignment classes */
.alignwide, .wp-block-group.alignwide, .wp-block-cover.alignwide, .wp-block-image.alignwide { max-width: var(--wp--style--global--wide-size, 1000px); margin-left: auto; margin-right: auto; width: 100%; }
.alignfull, .wp-block-group.alignfull, .wp-block-cover.alignfull, .wp-block-image.alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

/* Home page styles */
.home main { padding: 0!important; }
.home .alignfull { margin-top: 0; }

/* Post styles */
li.wp-block-post a { text-decoration: none; }
li.wp-block-post .preview-text { padding: 40px; font-size: 35px; line-height: 1.1; font-family: "Bricolage Grotesque", sans-serif; font-weight: 300; }

/* Icon and border styles */
.icon-img { margin-bottom: 20px; }
.borderbox { font-size: 12px; padding: 5px 10px; font-weight: 500; display: inline-block!important; width: fit-content; }

/* Color theme classes */
.neutralonred { color: var(--neutral); background: var(--clay); }
.redonpink { color: var(--clay); background: var(--pink); }
.sageonblue { color: var(--sage); background: var(--blue); }
.neutralonsage { color: var(--neutral); background: var(--sage); }
.neutralonred .preview-text { color: var(--neutral); }
.redonpink .preview-text { color: var(--clay); }
.sageonblue .preview-text { color: var(--sage); }
.neutralonsage .preview-text { color: var(--neutral); }

/* Footer styles */
footer { line-height: 1.1; letter-spacing: .2px; }
footer > div { padding: 50px 0!important; }
footer p { margin: 0!important; padding: 0 0 5px 0!important; }
footer .wp-block-group { margin: 0!important; padding: 0!important; }

/* Page-specific styles */
.page-id-13 .btn-about { display: none; }
.page-id-22 .btn-contact { display: none; }

/* Archive styles */
.archive .alignwide, .category .alignwide { padding-left: 0!important; padding-right: 0!important; }
.archive .alignwide, .category .alignwide ul li h2 { margin-bottom: 5px!important; }

/* Entry content */
.entry-content h6 { margin-top: 25px!important; }

/* Sidebar styles */
.sidebar p { margin: 5px 0!important; }
.ginput_counter { padding-top: 0!important; }
.sidebar .is-layout-flex { gap: 10px!important; }
.ginput_counter { font-style: italic!important; font-size: 13.008px!important; color: #c02b0a!important; }
.editor-styles-wrapper.block-editor-writing-flow { background: var(--neutral)!important; }

/* Desktop Media Query */
@media only screen and (max-width: 1100px) {
    .archive .alignwide, .category .alignwide { padding-left: 20px!important; padding-right: 20px!important; box-sizing: border-box; }
    .archive .alignwide > .alignwide .alignwide, .archive .alignwide > .alignwide, .category .alignwide > .alignwide { padding-left: 0!important; padding-right: 0!important; box-sizing: border-box; }
    footer .wp-block-columns.alignwide .wp-block-columns.alignwide { padding: 0!important; }
    .wp-container-core-post-template-is-layout-6d3fbd8f { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    header > div { padding-left: 20px!important; padding-right: 20px!important; }
    .insights > div { padding-left: 20px!important; padding-right: 20px!important; }
}

/* Mobile Media Query */
@media only screen and (max-width: 786px) {
    .insights > div { padding-left: 0!important; padding-right: 0!important; }

    footer > div { padding: 30px!important; }
    .alignfull { padding: 0 20px; box-sizing: border-box; }
    h2 { font-size: 50px; }
    h3 { font-size: 35px; }
    .wp-block-site-logo { text-align: center; display: block; width: 100%; }
    figure { margin-left: 0!important; padding: 5px 0; margin-top: 0!important; }
    .nomarginrightbottom { padding: 20px!important; }
    ul.wp-block-list { margin-right: 0!important; }
    .colpad { padding: 30px; }
    body { padding-top: 158px; }
    .mobile-menu-active .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container { width: 100%!important; display: block!important; opacity: 1!important; visibility: visible!important; height: fit-content!important; border: none!important; border-radius: 0!important; background: transparent!important; color: var(--neutral)!important; padding: 0 0 15px 0!important; transition: none!important; }
    ul.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container li { font-size: 18px!important; padding: 0!important; border: none!important; }
    .wp-block-navigation__container { display: none; }
    .entry-content h6 { margin-top: 0!important; }
    li.wp-block-post { padding-bottom: 20px!important; }
    li.wp-block-post figure { padding-bottom: 10px; }
    .wp-block-post .wp-block-columns { margin-bottom: 0px; }
    .insights h2 { padding-bottom: 20px; }
    .mobismall { height: 10px!important; }
    footer .wp-block-column > p { padding-top: 20px!important; }
    .contactbox { display: none!important; }
    p.has-x-large-font-size { font-size: 28px!important; }
    .page-id-22 .contactbox { display: block!important; }
    footer .wp-block-columns.alignwide .wp-block-columns.alignwide { padding: 0!important; }
    .insights > div { padding-left: 0!important; padding-right: 0!important; }
    .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container li a { color: var(--neutral)!important; transition: none!important; }
}