/* ===========================================
   WASTEX SOLUTIONS – WordPress Theme Overrides
   =========================================== */

/* ---------- WordPress Alignment ---------- */
.alignnone  { margin: 5px 20px 20px 0; }
.aligncenter, div.aligncenter { display:block; margin:5px auto; }
.alignright { float:right; margin:5px 0 20px 20px; }
.alignleft  { float:left;  margin:5px 20px 20px 0; }
.alignwide  { max-width:1200px; margin-left:auto; margin-right:auto; }
.alignfull  { max-width:100%; }

/* ---------- Custom Logo ---------- */
.custom-logo-link { display:flex; align-items:center; }
.custom-logo-link img {
    height:64px;
    width:auto;
    transition:all 0.3s;
}
@media (min-width:768px){
    .custom-logo-link img { height:80px; }
}
nav.scrolled .custom-logo-link img { height:52px; }

/* ---------- Navigation Scroll Behaviour ---------- */
nav.scrolled {
    background-color:#071D31 !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
    box-shadow:0 2px 20px rgba(0,0,0,0.25);
}

/* ---------- Services Dropdown ---------- */
.services-dropdown {
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    left:50%;
    transform:translateX(-50%);
    background:#fff;
    min-width:220px;
    padding:12px 0;
    z-index:100;
    box-shadow:0 10px 30px rgba(0,0,0,0.35);
}
.services-dropdown.active { display:block; }
.services-dropdown a {
    display:block;
    padding:10px 24px;
    font-family:'Poppins',sans-serif;
    font-size:13px;
    font-weight:400;
    color:rgba(0, 0, 0, 0.8) !important;
    transition:color 0.3s, background-color 0.3s;
}
.services-dropdown a:hover {
    color:#7ED957 !important;
    background-color:rgba(255,255,255,0.05);
}

/* ---------- Mobile Menu ---------- */
#mobile-overlay {
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.6);
    z-index:40;
}
#mobile-overlay.active { display:block; }

#mobile-menu {
    transform:translateX(100%);
    transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
#mobile-menu.open { transform:translateX(0); }

.mobile-sub-menu { display:none; }
.mobile-sub-menu.open { display:flex; flex-direction:column; }

/* ---------- Scroll Animations ---------- */
.animate-on-scroll {
    opacity:0;
    transform:translateY(30px);
    transition:opacity 0.7s ease, transform 0.7s ease;
}
.animate-on-scroll.visible { opacity:1; transform:translateY(0); }

.animate-slide-left {
    opacity:0;
    transform:translateX(-30px);
    transition:opacity 0.7s ease, transform 0.7s ease;
}
.animate-slide-left.visible { opacity:1; transform:translateX(0); }

.animate-slide-right {
    opacity:0;
    transform:translateX(30px);
    transition:opacity 0.7s ease, transform 0.7s ease;
}
.animate-slide-right.visible { opacity:1; transform:translateX(0); }

/* ---------- CF7 Dark Form Styles ---------- */
.cf7-dark-form .wpcf7-form-control-wrap { display:block; margin-bottom:0; }

.cf7-dark-form .wpcf7-text,
.cf7-dark-form .wpcf7-email,
.cf7-dark-form .wpcf7-tel,
.cf7-dark-form .wpcf7-textarea,
.cf7-dark-form .wpcf7-select {
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(255,255,255,0.2);
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    font-weight:300;
    padding:8px 0;
    outline:none;
    transition:border-color 0.3s;
    border-radius:0;
    -webkit-appearance:none;
}
.cf7-dark-form .wpcf7-text:focus,
.cf7-dark-form .wpcf7-email:focus,
.cf7-dark-form .wpcf7-tel:focus,
.cf7-dark-form .wpcf7-textarea:focus,
.cf7-dark-form .wpcf7-select:focus {
    border-bottom-color:#7ED957;
}
.cf7-dark-form .wpcf7-select option { background:#071D31; color:#fff; }
.cf7-dark-form .wpcf7-textarea { resize:none; }
.cf7-dark-form .wpcf7-submit {
    font-family:'Poppins',sans-serif;
    background-color:#7ED957;
    color:#fff;
    padding:16px 32px;
    text-transform:uppercase;
    letter-spacing:0.1em;
    font-size:14px;
    font-weight:500;
    border:none;
    cursor:pointer;
    width:100%;
    margin-top:16px;
    transition:background-color 0.3s, color 0.3s;
}
.cf7-dark-form .wpcf7-submit:hover {
    background-color:#fff;
    color:#071D31;
}
.cf7-dark-form .wpcf7 form .wpcf7-response-output {
    border-color:#7ED957;
    color:#7ED957;
    font-family:'Poppins',sans-serif;
    font-size:13px;
    margin-top:16px;
}
.cf7-dark-form .wpcf7-not-valid-tip {
    color:#ff6b6b;
    font-size:12px;
    font-family:'Poppins',sans-serif;
}

/* ---------- FAQ Accordion ---------- */
.wastex-faq-item {
    border-bottom:1px solid rgba(7,29,49,0.1);
    padding:20px 0;
}
.wastex-faq-question {
    font-family:'Playfair Display',serif;
    font-size:20px;
    font-weight:600;
    color:#071D31;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:none;
    border:none;
    width:100%;
    text-align:left;
    padding:0;
}
.wastex-faq-question svg {
    flex-shrink:0;
    transition:transform 0.3s;
}
.wastex-faq-question.open svg { transform:rotate(180deg); }
.wastex-faq-answer {
    display:none;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    font-weight:300;
    color:rgba(7,29,49,0.7);
    line-height:1.8;
    padding-top:16px;
}
.wastex-faq-answer.open { display:block; }

/* ---------- Single Post Content ---------- */
.single-post-content h2 {
    font-family:'Playfair Display',serif;
    font-size:2rem;
    color:#071D31;
    margin-bottom:16px;
    margin-top:32px;
}
.single-post-content h3 {
    font-family:'Playfair Display',serif;
    font-size:1.5rem;
    color:#071D31;
    margin-bottom:12px;
    margin-top:24px;
}
.single-post-content p {
    font-family:'Poppins',sans-serif;
    font-size:15px;
    font-weight:300;
    color:rgba(7,29,49,0.7);
    line-height:1.8;
    margin-bottom:20px;
}
.single-post-content ul,
.single-post-content ol {
    margin-left:24px;
    margin-bottom:20px;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    font-weight:300;
    color:rgba(7,29,49,0.7);
    line-height:1.8;
}
.single-post-content a { color:#7ED957; text-decoration:underline; }
.single-post-content img { max-width:100%; height:auto; margin:24px 0; }
.single-post-content blockquote {
    border-left:4px solid #7ED957;
    padding-left:24px;
    margin:24px 0;
    font-style:italic;
    color:rgba(7,29,49,0.6);
}

/* ---------- Pagination ---------- */
.wastex-pagination {
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:48px;
}
.wastex-pagination .page-numbers {
    font-family:'Poppins',sans-serif;
    font-size:14px;
    font-weight:500;
    padding:10px 16px;
    border:1px solid #071D31;
    color:#071D31;
    transition:all 0.3s;
    text-decoration:none;
}
.wastex-pagination .page-numbers.current,
.wastex-pagination .page-numbers:hover {
    background:#071D31;
    color:#fff;
}

/* ---------- Footer menu reset ---------- */
.footer-quick-links ul { list-style:none; margin:0; padding:0; }
.footer-quick-links ul li { margin-bottom:16px; }
.footer-quick-links ul li a {
    font-family:'Poppins',sans-serif;
    color:rgba(255,255,255,0.7);
    font-size:15px;
    font-weight:300;
    letter-spacing:0.025em;
    text-decoration:none;
    transition:color 0.3s;
}
.footer-quick-links ul li a:hover { color:#7ED957; }
