/*
Theme Name: Black Bands Track Co.
Theme URI: https://blackbands.com/
Description: Custom WooCommerce theme for Black Bands Track Co. Factory-direct rubber tracks and pads, dealer portal, track finder and quote list.
Author: DNG Studio
Author URI: https://dngstudio.co/
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bb-dealer
Tags: e-commerce, custom-menu, featured-images, one-column
*/

/*
 * The design tokens and shared components live in header.php so every
 * template gets them without a second request. Anything that must apply
 * site-wide, including inside Elementor or block content, goes here.
 */

.bb-site .wp-block-image img,
.bb-site .entry-content img {
    max-width: 100%;
    height: auto;
}

/* Generic page content (page.php, index.php) */
.bb-page-content {
    padding: 48px 0 90px;
    max-width: 1100px;
    margin: 0 auto;
}
.bb-page-content > p,
.bb-page-content > ul,
.bb-page-content > ol,
.bb-page-content > h2,
.bb-page-content > h3,
.bb-page-content > table,
.bb-page-content > blockquote {
    max-width: 75ch;
}
.bb-page-content a {
    color: #000;
    font-weight: 500;
}
.bb-page-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.5em;
}
.bb-page-content th,
.bb-page-content td {
    text-align: left;
    padding: 11px 0;
    border-bottom: 1px solid #E4E4E7;
}

/* WooCommerce notices: replace WooCommerce's default blue/green bars with the theme's notice style.
   functions.php adds a Phosphor icon (.bb-notice-icon) to each notice. */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    font-family: "Inter", Arial, sans-serif;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 20px;
    padding: 13px 16px;
    border: 0;
    border-top: 0;
    border-radius: 8px;
    background: #F5F5F5;
    color: #111;
    font-weight: 500;
    list-style: none;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
    display: none;
}
.woocommerce-error li {
    list-style: none;
    margin: 0;
}
.woocommerce-message { background: #E8F6EE; color: #166534; }
.woocommerce-error   { background: #FDECEC; color: #B91C1C; }
.woocommerce-info    { background: #F5F5F5; color: #111; }
.bb-notice-icon { font-size: 20px; flex: none; }
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
    margin-left: auto;
    background: #000;
    color: #fff;
    border-radius: 4px;
    padding: 8px 14px;
    text-decoration: none;
    font-weight: 600;
}

/* Contact Form 7 forms rendered inside the theme's form cards */
.bb-cf7 .wpcf7-form p { margin: 0 0 16px; }
.bb-cf7 .wpcf7-form label { display: block; font-weight: 500; font-size: .95rem; margin-bottom: 6px; }
.bb-cf7 .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-radio) {
    width: 100%;
    font: inherit;
    font-size: 1rem;
    padding: 12px 15px;
    border: 1px solid #D9D9DE;
    border-radius: 6px;
    background: #fff;
    color: #111;
    box-sizing: border-box;
}
.bb-cf7 .wpcf7-form-control:focus { border-color: #000; outline: 2px solid rgba(0,0,0,.12); }
.bb-cf7 textarea.wpcf7-form-control { min-height: 130px; resize: vertical; }
.bb-cf7 .wpcf7-submit {
    display: inline-flex; align-items: center; justify-content: center;
    font: inherit; font-weight: 600; font-size: 1.05rem;
    border: 1px solid #000; background: #000; color: #fff;
    padding: 14px 26px; border-radius: 4px; cursor: pointer;
}
.bb-cf7 .wpcf7-submit:hover { background: #2a2a2a; }
.bb-cf7 .wpcf7-spinner { margin-left: 10px; }
.bb-cf7 .wpcf7-not-valid { border-color: #B91C1C !important; }
.bb-cf7 .wpcf7-not-valid-tip { color: #B91C1C; font-size: .85rem; margin-top: 4px; }
.bb-cf7 .wpcf7-response-output {
    margin: 12px 0 0; padding: 13px 16px; border: 0 !important; border-radius: 8px; font-weight: 500;
    background: #F5F5F5; color: #111;
}
.bb-cf7 .wpcf7-form.sent .wpcf7-response-output { background: #E8F6EE; color: #166534; }
.bb-cf7 .wpcf7-form.invalid .wpcf7-response-output,
.bb-cf7 .wpcf7-form.failed .wpcf7-response-output,
.bb-cf7 .wpcf7-form.spam .wpcf7-response-output { background: #FDECEC; color: #B91C1C; }
.bb-cf7 .bb-cf7-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.bb-cf7 .bb-cf7-grid .bb-full { grid-column: 1 / -1; }
@media (max-width: 560px) { .bb-cf7 .bb-cf7-grid { grid-template-columns: 1fr; } }

/* Screen-reader text used by WordPress core */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}
