/*
Theme Name:   CoolWP Pro Child
Theme URI:    https://www.pnwfyi.com
Description:  Child theme for CoolWP Pro
Author:       pnwfyi Team
Author URI:   https://www.pnwfyi.com
Template:     coolwp-pro
Version:      1.0.0
Text Domain:  coolwp-pro-child
*/

body, html {
    font-family: Arial, Helvetica, sans-serif !important;
    line-height: 1.6;
}

/* ---------------------------------------------------------------------
   RALEWAY (Google Font - already enqueued in functions.php)
--------------------------------------------------------------------- */

/* MAIN MENU: RALEWAY FONT */
.main-navigation,
.coolwp-primary-menu-container,
.coolwp-menu-primary,
.main-navigation a,
.coolwp-nav-primary a {
    font-family: 'Raleway', Arial, Helvetica, sans-serif !important;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-size: 16px !important;
}

.main-navigation .sub-menu a {
    font-family: 'Raleway', Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    text-transform: none;
}

/* pnwfyi LAYOUT: LOGO + MENU + SEARCH - MODIFIED */
.pnwfyi-logo-above-menu {
    text-align: left;
    padding: 15px 0 8px;
    background: #fff;
}

.pnwfyi-logo-above-menu img {
    max-width: 50%;
    height: auto;
}

/* Main header container */
.coolwp-primary-menu-container-inside {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

/* Search box - left aligned and half width */
.pnwfyi-header-search {
    order: 1;
    margin: 0;
}

.pnwfyi-search-form {
    display: flex;
    align-items: center;
    background: white;
    border: 3px solid #003366;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,115,170,0.15);
}

.pnwfyi-search-form:hover,
.pnwfyi-search-form:focus-within {
    box-shadow: 0 4px 15px rgba(0,115,170,0.3);
    border-color: #003366;
}

.pnwfyi-search-form .search-field {
    padding: 8px 14px;
    font-size: 14px;
    width: 160px;
    font-family: 'Courier New', monospace;
    color: #333;
}

.pnwfyi-search-form .search-submit {
    background: #003366;
    color: white;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pnwfyi-search-form .search-submit:hover {
    background: #003366;
}

/* Menu pushed to the right */
.coolwp-nav-primary {
    flex: 1;
    margin-left: auto;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .coolwp-primary-menu-container-inside {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .pnwfyi-header-search {
        margin: 10px 0 15px 0;
    }
    
    .coolwp-nav-primary {
        width: 100%;
    }
    
    .pnwfyi-search-form .search-field {
        width: 200px;
    }
}

/* SOCIAL SHARE */
.pnwfyi-social-share {
    margin: 30px 0;
    text-align: center;
    padding: 20px;
    background: #f8fbff;
    border: 2px solid #003366;
    border-radius: 12px;
}

.pnwfyi-share-label {
    margin: 0 0 15px;
    font-weight: bold;
    color: #003366;
    font-size: 16px;
}

.pnwfyi-share-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.pnwfyi-share-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.pnwfyi-share-btn:hover {
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* IMAGE ALIGNMENT: Desktop + Mobile Responsive */
.alignleft {float: left;margin: 0.5em 1.5em 1em 0;max-width: 50%;}
.alignright {float: right;margin: 0.5em 0 1em 1.5em;max-width: 50%;}
.aligncenter {display: block;margin: 1.5em auto;text-align: center;max-width: 100%;}

.alignleft img,
.alignright img,
.aligncenter img {
    max-width: 100%;
    height: auto;
    display: block;
}

.alignleft figcaption,
.alignright figcaption,
.aligncenter figcaption {
    font-size: 0.9em;
    color: #666;
    text-align: center;
    margin-top: 0.5em;
    font-style: italic;
}

@media (max-width: 768px) {
    img {float: none !important;display: block !important;margin: 1.5em auto !important;max-width: 100% !important;height: auto !important;text-align: center !important;}
    .alignleft,.alignright,.aligncenter {float: none !important;max-width: 100% !important;margin: 1.5em auto !important;text-align: center !important;}
    .entry-content,.post-content,.content,article,main,.wp-block-post-content {overflow: hidden;}
    p, div, article {white-space: normal !important;}
}

/* ELIMINATE GAP BETWEEN TOP WIDGET AND FIRST POST ON MOBILE */
@media (max-width: 1024px) {
    .site-main,.content-area,.site-content {margin-bottom: 0 !important;padding-bottom: 0 !important;}
    #before-content,#top-full-width,.before-content,.top-full-width-widget,.full-width-top-widget-area {margin-bottom: 15px !important;padding-bottom: 0 !important;}
    .entry-header {margin-bottom: 10px !important;padding-bottom: 0 !important;min-height: auto !important;}
    .site-main > *:first-child,.content-area > *:first-child,article:first-of-type,.hentry:first-of-type {margin-top: 0 !important;padding-top: 0 !important;}
    .pnwfyi-top-widgets {padding-bottom: 20px !important;}
    #pnwfyi-main-outer-wrapper,.pnwfyi-main-content-wrapper,#coolwp-wrapper,.coolwp-content-wrapper {padding-top: 0 !important;padding-bottom: 0 !important;margin-top: 0 !important;margin-bottom: 0 !important;}
    .pnwfyi-top-widgets .widget,.pnwfyi-top-widgets {margin-bottom: 10px !important;padding-bottom: 0 !important;}
    #coolwp-content-wrapper > article:first-of-type {margin-top: 0 !important;}
    .coolwp-outer-wrapper:first-of-type {padding-bottom: 15px !important;}
    .pnwfyi-top-menu-bar,.widget {margin-bottom: 0 !important;}
    #coolwp-content-wrapper > article:first-child,
    .entry-header,
    .entry-content > *:first-child {margin-top: 0 !important;padding-top: 0 !important;}
}

/* Desktop – restore spacing */
@media (min-width: 1025px) {
    #pnwfyi-main-outer-wrapper,.pnwfyi-main-content-wrapper {padding: 50px 20px !important;}
}

/* pnwfyi LOGO – FINAL MASTER STYLES */
.pnwfyi-logo-above-menu {text-align:center; padding:20px 0;}
.pnwfyi-text-logo,
.pnwfyi-logo-link {
    display:inline-block !important;
    padding:16px 40px !important;
    background:#ffffff !important;
    border:8px solid #003366 !important;
    border-radius:60px !important;
    box-shadow:0 0 0 8px white !important;
    transition:all .4s ease !important;
    text-decoration:none !important;
}
.pnwfyi-inner-pill {
    display:block !important;
    padding:10px 30px !important;
    background:#ffffff !important;
    border:4px solid #62b538 !important;
    border-radius:50px !important;
    transition:all .4s ease !important;
}
.pnwfyi-text-logo a,
.pnwfyi-logo-link {
    font-family: 'Raleway', sans-serif !important;
    font-weight: bold !important;
    font-size:60px !important;
    color:#003366 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    text-decoration:none !important;
    display:block !important;
}

/* YEAR-ROUND HOVER EFFECT */
.pnwfyi-text-logo:hover,
.pnwfyi-logo-link:hover,
.pnwfyi-text-logo a:hover,
.pnwfyi-text-logo:hover a,
.pnwfyi-text-logo:hover .pnwfyi-logo-link {
    background: #ffffff !important;
    border: 8px solid #d6c41e !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.4) !important;
    transform: translateY(-5px) scale(1.04) !important;
    color: #d6c41e !important;
    text-shadow: 5px 5px 0 #000000, 0 0 3px rgba(0,0,0,0.6) !important;
}
.pnwfyi-text-logo:hover .pnwfyi-inner-pill {
    background: #ffffff !important;
    border: 4px solid #003366 !important;
}

/* ---------------------------------------------------------------------
   SOCIAL SHARE BUTTONS - COMPLETE & CENTERED STYLING
--------------------------------------------------------------------- */

@media (max-width: 600px) {
    .pnwfyi-text-logo,
    .pnwfyi-logo-link {
        padding: 12px 30px !important;
    }
    .pnwfyi-inner-pill {
        padding: 8px 20px !important;
    }
    .pnwfyi-text-logo a,
    .pnwfyi-logo-link {
        font-size: 40px !important;
    }
}

/* Main social share container */
.pnwfyi-social-share {
    text-align: center;
    margin: 2.5rem auto !important;
    max-width: 720px;
    padding: 1.4rem 1rem;
    background: #ffffff;
    border: 1px solid #003366;
    border-radius: 10px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.pnwfyi-share-label {
    margin: 0 0 1.1rem 0;
    font-size: 1.15rem;
    font-weight: 600;
    color: #222;
    letter-spacing: 0.3px;
}

.pnwfyi-share-buttons {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px;
}

.pnwfyi-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f7f7f7;
    color: #333;
    text-decoration: none;
    transition: all 0.22s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
}

.pnwfyi-share-btn:hover,
.pnwfyi-share-btn:focus {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    outline: none;
}

.pnwfyi-share-btn svg {
    width: 26px;
    height: 26px;
}

@media (max-width: 480px) {
    .pnwfyi-social-share {
        margin: 2rem auto !important;
        padding: 1.2rem 0.8rem;
    }
    .pnwfyi-share-buttons {
        gap: 14px;
    }
    .pnwfyi-share-btn {
        width: 44px;
        height: 44px;
    }
    .pnwfyi-share-btn svg {
        width: 24px;
        height: 24px;
    }
}

/* INDENT NESTED REPLIES */
.comment-list .children,
.comment-list ol.children,
.comment-list ul.children {
    margin-left: 50px !important;
    padding-left: 0;
    list-style: none;
}

.comment-list .children .children,
.comment-list .children ol.children,
.comment-list .children ul.children {
    margin-left: 40px !important;
}

.comment-list .children .children .children {
    margin-left: 30px !important;
}

.comment-list .children > li {
    border-left: 4px solid #003366;
    padding-left: 15px;
    margin: 20px 0 10px 0;
    background: #f8fbff;
    border-radius: 6px;
}

.comment-list > li.comment,
.comment-list > li.deep-reply {
    margin-left: 0 !important;
}

.pnwfyi-invite-request-form {
    max-width: 600px;
    margin: 40px auto;
    padding: 30px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
}

.pnwfyi-invite-request-form input,
.pnwfyi-invite-request-form textarea {
    padding: 10px;
    font-size: 16px;
}
.pnwfyi-rotating-posts {
    margin: 30px 0;
}

.pnwfyi-carousel-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 20px;
    padding: 10px 0;
    scrollbar-width: thin;
}

.pnwfyi-rotating-post {
    flex: 0 0 300px;           /* Adjust width as needed */
    scroll-snap-align: start;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    background: #fff;
}

.pnwfyi-rotating-post img {
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.pnwfyi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}
.pnwfyi-comment-titles-list {
    max-width: 100%;
    margin: 30px 0;
}

.comment-title-item {
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    font-size: 1.05em;
    line-height: 1.5;
}

.comment-title-item:last-child {
    border-bottom: none;
}

.comment-title-item a {
    color: #003366;
    text-decoration: none;
}

.comment-title-item a:hover {
    text-decoration: underline;
}
.pnwfyi-comment-titles-list {
    max-width: 100%;
    margin: 30px 0;
}

.comment-title-item {
    padding: 14px 0;
    border-bottom: 1px solid #eee;
    font-size: 1.05em;
    line-height: 1.55;
}

.comment-title-item:last-child {
    border-bottom: none;
}

.comment-title {
    color: #003366;
    font-weight: 600;
    text-decoration: none;
}

.comment-title:hover {
    text-decoration: underline;
}

.on-post {
    color: #777;
    font-size: 0.95em;
}

.post-title {
    color: #003366;
    text-decoration: none;
}

.post-title:hover {
    text-decoration: underline;
}
.comment-navigation .nav-previous a,
.comment-navigation .nav-next a,
.navigation.comment-navigation .nav-previous a,
.navigation.comment-navigation .nav-next a {
    border: 4px solid #003366 !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    display: inline-block !important;
    background: #f0f8ff !important;
    color: #003366 !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.comment-navigation .nav-previous a:hover,
.comment-navigation .nav-next a:hover {
    background: #003366 !important;
    color: #ffffff !important;
}
/* Blue pill-shaped border around REPLY links */
.comment-reply-link,
.custom-reply-link,
.pnwfyi-reply-link,
a.comment-reply-link,
p.comment-reply a {
    border: 3px solid #003366 !important;
    background: #f0f8ff !important;
    color: #003366 !important;
    padding: 6px 18px !important;
    border-radius: 50px !important;          /* ← this makes it pill-shaped */
    display: inline-block !important;
    font-weight: bold !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.comment-reply-link:hover,
.custom-reply-link:hover,
.pnwfyi-reply-link:hover,
a.comment-reply-link:hover,
p.comment-reply a:hover {
    background: #003366 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}
/* Comment Title color */
.comment-title,
.comment-title a {
    color: #003366 !important;          /* ← change this to any color you want */
    font-weight: bold;
}

/* Optional: hover color */
.comment-title a:hover {
    color: #cc0000 !important;          /* red on hover, for example */
}
/* Enlarge Comment Titles */
.comment-title,
.comment-title a {
    font-size: 1.4em !important;     /* ← increase this number to make them bigger */
    font-weight: bold;
    line-height: 1.3;
}
.comments-title {
    display: none !important;
}
#respond .comment-reply-title,
.comment-respond .comment-reply-title {
    background: #003366;
    color: #ffffff !important;
    padding: 12px 20px;
    margin: -30px -25px 25px -25px !important;
    border-radius: 8px 8px 0 0;
    font-size: 1.3em;
}
/* ===== Enhanced Comment Form Fields ===== */

/* All labels */
#respond label,
.comment-respond label,
#pnwfyi-comment-form label {
    display: block !important;
    font-weight: bold !important;
    color: #003366 !important;
    margin-bottom: 6px !important;
    font-size: 15px !important;
}

/* Required asterisk */
#respond .required,
.comment-respond .required {
    color: #d63638 !important;
}

/* Text inputs (Title + Anti-Spam) */
#respond input[type="text"],
.comment-respond input[type="text"],
#comment_title,
#pnwfyi_captcha_answer {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 3px solid #003366 !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}

#respond input[type="text"]:focus,
#comment_title:focus,
#pnwfyi_captcha_answer:focus {
    border-color: #005599 !important;
    box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.15) !important;
    outline: none !important;
}

/* Comment textarea */
#respond textarea#comment,
.comment-respond textarea#comment {
    width: 100% !important;
    padding: 14px !important;
    border: 3px solid #003366 !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    min-height: 160px !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}

#respond textarea#comment:focus {
    border-color: #005599 !important;
    box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.15) !important;
    outline: none !important;
}

/* File upload field */
#respond input[type="file"],
.comment-respond input[type="file"] {
    width: 100% !important;
    padding: 10px !important;
    border: 2px dashed #003366 !important;
    border-radius: 8px !important;
    background: #f0f8ff !important;
    cursor: pointer;
}

/* Media Position radio buttons */
#respond input[type="radio"] {
    accent-color: #003366 !important;
    margin-right: 6px;
    transform: scale(1.15);
}

/* Submit button refinement */
#respond input[type="submit"],
.comment-respond input[type="submit"] {
    background: #003366 !important;
    color: #ffffff !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: 50px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(0, 51, 102, 0.25);
}

#respond input[type="submit"]:hover {
    background: #001a33 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 51, 102, 0.3);
}