/*
Theme Name: TDividers Child - 2011 Edition
Theme URI: https://toiletdividers.com/
Description: Refactor based on 2011 style - High density, compact, responsive.
Author: Narayan
Template: astra
Version: 1.2.0
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');

:root {
    --y-bg: #ffffff;
    --y-header-bg: #f5f5f5;
    --y-purple: #cc4400;
    /* Dark Orange Accent */
    --y-light-blue: #2d50a1;
    --y-border: #e0e0e0;
    --y-text: #333333;
    --y-link: #16387c;
    --y-hover: #d90007;
    --container-width: 1250px;

    /* Grays */
    --lt-color-gray-100: #f8f9fc;
    --lt-color-gray-200: #f1f3f9;
    --lt-color-gray-300: #dee3ed;
    --lt-color-gray-400: #c2c9d6;
    --lt-color-gray-500: #8f96a3;
    --lt-color-gray-600: #5e636e;
    --lt-color-gray-700: #2f3237;
    --lt-color-gray-800: #1d1e20;
    --lt-color-gray-900: #111213;
}

html {
    color: var(--y-text);
    background: var(--lt-color-gray-100);
    background: linear-gradient(135deg, var(--lt-color-gray-100) 0%, var(--lt-color-gray-300) 100%);
    background-attachment: fixed;
    scroll-behavior: smooth;
}

body {
    font: 16px/1.3 'Inter', sans-serif;
    background: transparent;
    margin: 0;
    padding: 0;
}

/* 2011 Main Container */
.ast-container,
#page {
    max-width: var(--container-width) !important;
    margin: 0 auto !important;
    background: var(--y-bg);
}

/* Add box styling back for general pages, but keep homepage flat */
#page {
    border: 1px solid var(--y-border);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

/* .home #page override removed to allow global borders */

.home .ast-container {
    max-width: 1250px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif;
    color: var(--y-purple);
    font-weight: bold;
    margin: 10px 0;
    line-height: 1.1;
}

h1 {
    font-size: 2.2rem;
}

h2 {
    font-size: 1.8rem;
}

h3 {
    font-size: 1.5rem;
}

a {
    color: var(--y-link);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    color: var(--y-hover);
}

.td-status-notice {
    background: #dcfce7;
    color: #166534;
    padding: 3px 10px;
    border-radius: 3px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.td-lead-time-tag {
    /* Styles moved to parent */
}

/* Sticky Header Configuration */
.td-top-bar {
    position: sticky !important;
    top: 0;
    z-index: 10000;
}

header#masthead {
    position: sticky !important;
    top: 32px;
    /* Top Bar height */
    z-index: 9999;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    transition: top 0.3s;
}

/* Adjustments for Logged-in Users (Admin Bar) */
body.admin-bar .td-top-bar {
    top: 32px !important;
}

body.admin-bar header#masthead {
    top: 64px !important;
}

/* Mobile Adjustments (Admin Bar is taller/fixed) */
@media screen and (max-width: 600px) {
    body.admin-bar .td-top-bar {
        top: 0 !important;
    }

    body.admin-bar header#masthead {
        top: 32px !important;
    }
}

/* Header & Top Bar - Compact 2-Column Layout */
.td-top-bar {
    background: var(--y-header-bg) !important;
    border-bottom: 1px solid var(--y-border);
    padding: 3px 0 !important;
    /* Slightly tighter */
    font-size: 14px !important;
}

.td-top-bar .ast-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 15px !important;
}

.td-top-info {
    display: flex;
    gap: 15px;
}

.td-top-info a {
    color: var(--y-text) !important;
    font-weight: normal;
    text-decoration: none;
}

.td-status-notice {
    background: #fff8e1 !important;
    color: #856404 !important;
    border: 1px solid #ffeeba !important;
    padding: 2px 8px !important;
    font-size: 11px;
    font-weight: bold;
}

/* Hero / Banner - Less Height */
.td-page-banner {
    background: linear-gradient(to bottom, #ffffff 0%, #f2f2f2 100%) !important;
    border-bottom: 1px solid var(--y-border) !important;
    padding: 20px 0 !important;
    text-align: left !important;
}

.home .td-page-banner {
    padding: 10px 0 !important;
    background: #fff !important;
    border-bottom: none !important;
}

.td-page-banner .ast-container {
    padding-left: 20px !important;
}

.td-page-banner h1 {
    font-size: 1.6rem !important;
    color: var(--y-text) !important;
    margin: 0 !important;
}

.td-hero-banner {
    padding: 60px 20px !important;
    /* Increased back slightly for better visibility */
    border-bottom: 1px solid var(--y-border);
}

.home .td-hero-banner {
    padding: 40px 20px !important;
    border-bottom: none !important;
}

.home .entry-header,
.home h1.entry-title {
    display: none !important;
}

.td-hero-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.td-hero-banner .ast-container,
.td-page-banner .ast-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.td-hero-badge {
    background: var(--y-purple) !important;
    color: #fff !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.td-hero-lead {
    font-size: 1.1rem !important;
    margin: 10px 0 20px !important;
    line-height: 1.3 !important;
    color: #666;
}

.td-hero-btn {
    border-radius: 3px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    padding: 6px 16px !important;
    display: inline-block;
    transition: none !important;
}

.td-hero-btn.primary {
    background: linear-gradient(to bottom, #4a90e2 0%, #357abd 100%) !important;
    color: #fff !important;
    border: 1px solid #2d50a1 !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) !important;
}

.td-hero-btn.secondary {
    background: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%) !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
    backdrop-filter: none !important;
}

/* Navigation - 2011 Yahoo Style */
.main-navigation a {
    color: var(--y-purple) !important;
    font-weight: bold !important;
    padding: 8px 12px !important;
    font-size: 16px !important;
}

.main-navigation a:hover {
    background: #f0f0f0;
    text-decoration: none !important;
}

/* ── Footer — Dark Premium Theme ─────────────────────────────────────────── */

/* Force dark background on Astra's own footer wrappers */
.site-footer,
.site-below-footer-wrap,
.ast-above-footer-wrap,
footer.site-footer {
    background: #0c1221 !important;
    color: #8492a6 !important;
    border: none !important;
    padding: 0 !important;
}

.site-footer *,
.site-below-footer-wrap * {
    border-color: rgba(255,255,255,0.08) !important;
}

.td-main-footer {
    background: #0c1221 !important;
    color: #8492a6;
    border-top: 3px solid #f97316 !important;
    padding: 60px 20px 0;
    font-size: 13.5px;
    line-height: 1.6;
}

.td-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1.4fr;
    gap: 50px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding-bottom: 50px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

/* Brand column */
.footer-col.col-about .td-footer-brand-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 12px !important;
    display: block;
}

.td-main-footer p,
.footer-col.col-about p {
    color: #8492a6 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin-top: 0 !important;
}

/* Column headings */
.footer-col h4,
.td-main-footer h4 {
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    margin: 0 0 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
    background: transparent !important;
}

/* Link lists */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 9px;
}

.footer-links a {
    color: #8492a6 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    transition: color 0.2s, padding-left 0.2s;
    display: inline-block;
}

.footer-links a:hover {
    color: #f97316 !important;
    padding-left: 4px;
}

/* Contact column */
.footer-contact .td-footer-email {
    color: #94a3b8 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    display: block;
    margin-bottom: 14px;
    transition: color 0.2s;
}

.footer-contact .td-footer-email:hover {
    color: #f97316 !important;
}

.td-main-footer .phone-large {
    display: block !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    letter-spacing: -0.5px;
    transition: color 0.2s;
    margin-bottom: 4px;
    margin-top: 8px;
}

.td-main-footer .phone-large:hover {
    color: #f97316 !important;
}

.td-footer-hours {
    font-size: 11.5px;
    color: #64748b;
    margin-bottom: 18px;
    font-style: italic;
}

/* Social icons */
.social-links {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.social-icon {
    width: 34px;
    height: 34px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8492a6;
    font-size: 16px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.social-icon:hover {
    background: #f97316;
    border-color: #f97316;
    color: #fff;
}

.social-icon .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 1;
}

/* Bottom bar */
.td-footer-bottom {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: #4b5563;
    gap: 20px;
    flex-wrap: wrap;
}

.td-footer-bottom p {
    margin: 0;
    color: #4b5563;
}

.td-footer-bottom a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s;
}

.td-footer-bottom a:hover {
    color: #f97316;
}

/* Responsive */
@media (max-width: 1024px) {
    .td-footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 35px;
    }
    .footer-col.col-about {
        grid-column: span 3;
    }
}

@media (max-width: 640px) {
    .td-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }
    .footer-col.col-about {
        grid-column: span 2;
    }
}

/* High-Density Product Configurator */
.wootd-product-configurator #wootd-form {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px 25px !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.wootd-field-group {
    margin-bottom: 5px !important;
    padding: 0 !important;
}

.wootd-field-group label {
    font-size: 14px !important;
    margin-bottom: 4px !important;
    font-weight: 600 !important;
    color: #444 !important;
}

.wootd-field-group select,
.wootd-field-group input {
    height: 38px !important;
    font-size: 14px !important;
    padding: 2px 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    width: 100% !important;
}

/* Ensure full width for sections that need it */
.wootd-field-group.full-width,
.wootd-form-actions {
    grid-column: span 2 !important;
}

/* Mobile Responsive Configurator */
@media (max-width: 768px) {
    .wootd-product-configurator #wootd-form {
        grid-template-columns: 1fr !important;
    }

    .wootd-field-group.full-width,
    .wootd-form-actions {
        grid-column: span 1 !important;
    }
}

/* Collapsible Product Tabs */
.td-tabs-collapsible-wrap {
    max-width: 1400px;
    margin: 20px auto;
    border: 1px solid var(--y-border);
    background: #fff;
    border-radius: 4px;
}

.td-tabs-trigger {
    width: 100%;
    background: #f8fafc !important;
    border: none !important;
    padding: 15px 20px !important;
    text-align: left !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--y-purple) !important;
    cursor: pointer;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    transition: background 0.2s;
    outline: none !important;
    box-shadow: none !important;
}

.td-tabs-trigger:hover {
    background: #f1f5f9 !important;
}

.td-tabs-content-hidden {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    padding: 0 20px;
}

.td-tabs-content-show {
    max-height: 2000px;
    /* High enough to fit content */
    padding: 20px;
    border-top: 1px solid var(--y-border);
}

.td-tabs-trigger .toggle-icon {
    font-size: 24px;
    line-height: 1;
    color: #94a3b8;
}

/* Hide Astra Default Footer Rows to prevent duplicate copyright */
.site-below-footer-wrap,
.site-primary-footer-wrap,
.site-above-footer-wrap {
    display: none !important;
}

/* WooCommerce Archive Style */
.woocommerce ul.products {
    display: grid !important;
    gap: 15px !important;
    margin: 15px 0 !important;
    grid-template-columns: repeat(3, 1fr) !important;
}

.woocommerce ul.products li.product {
    border: 1px solid #eee !important;
    background: #fff !important;
    padding: 10px !important;
    transition: border-color 0.2s;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product:hover {
    border-color: var(--y-purple) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-size: 15px !important;
    font-weight: bold !important;
    color: var(--y-link) !important;
    margin: 5px 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    min-height: auto !important;
    text-align: left !important;
}

.woocommerce ul.products li.product img {
    border: 1px solid #eee !important;
    padding: 5px !important;
    margin: 0 0 5px 0 !important;
    width: 100% !important;
    max-height: 220px !important;
    object-fit: contain !important;
}

.woocommerce ul.products li.product .price {
    font-size: 16px !important;
    color: var(--y-text) !important;
    font-weight: bold !important;
    text-align: left !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product .archive-qty-form,
.woocommerce ul.products li.product form.cart {
    padding: 5px 0 !important;
    border-top: none !important;
    gap: 5px !important;
    display: flex !important;
    align-items: center !important;
}

.woocommerce ul.products li.product .add_to_cart_button {
    background: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%) !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
    font-size: 14px !important;
    padding: 4px 8px !important;
    height: auto !important;
    line-height: normal !important;
}

/* Search Results style */
.search-results article.ast-article-post {
    border: none !important;
    border-bottom: 1px solid #eee !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    background: none !important;
}

.search-results article.ast-article-post .entry-title a {
    font-size: 14px !important;
    color: var(--y-link) !important;
    text-decoration: none !important;
}

.search-results article.ast-article-post .entry-title a:hover {
    text-decoration: underline !important;
}

.search-results article.ast-article-post .price {
    font-size: 12px !important;
    color: #008000 !important;
}

/* Global compactness */
.ast-container {
    padding: 0 15px !important;
}

.home .site-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.site-content {
    padding: 15px 0 !important;
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .ast-container {
        width: 100% !important;
        margin: 0 !important;
        border: none !important;
    }

    .td-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .td-top-bar .ast-container {
        flex-direction: column !important;
        gap: 5px !important;
    }
}

@media (max-width: 500px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 5px;
}

/* Product Page Refinements */
.single-product #product-318 {
    border: none !important;
    padding: 0 !important;
}

.single-product .site-content {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.single-product div.product {
    border: none !important;
}

.single-product .summary.entry-summary {
    margin-bottom: 10px !important;
}