/**
Theme Name: usct
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: usct
Template: astra
*/

/* =============================================================
   USCT — Phase 4-B / 4-D full-bleed section override
   Phase 4 page CSS sets #usct-home / #usct-product / #usct-quote-page
   to max-width:1180px which constrains section backgrounds to a
   centered 1180px box. This override releases that constraint so
   section backgrounds extend edge-to-edge while inner content
   auto-centers at ~1180px via responsive side padding that floors
   at 32px on narrow viewports.

   ALSO neutralizes Astra's wrapper chain (#content / .ast-container /
   .content-area / .site-main) on page-builder-layout pages so the
   full-bleed reaches viewport edges. Only applies when body has
   .ast-page-builder-template — other pages keep their boxed layout.
   ============================================================= */

/* Neutralize Astra's container chain on page-builder pages */
.ast-page-builder-template #content,
.ast-page-builder-template .ast-container,
.ast-page-builder-template .content-area,
.ast-page-builder-template .site-main,
.ast-page-builder-template article.ast-article-single,
.ast-page-builder-template .entry-content {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Hide Astra's auto-rendered entry-header (page title) on Phase 4-D pages — */
/* their hero h1 lives inside #usct-home, so the auto-title creates a duplicate. */
.ast-page-builder-template .entry-header {
    display: none !important;
}

/* Same hide for Phase 4-F legal/info pages that ship a branded H1 inside */
/* their post_content. These use normal-width-container layout so the      */
/* page-builder selector above doesn't catch them — target by page-id.    */
/* Pages: 39 = privacy-policy, 267083 = terms-of-service, 267084 = sitemap, */
/* 30 = about-us (pending Phase 4-F rebuild).                              */
.page-id-39 .entry-header,
.page-id-267083 .entry-header,
.page-id-267084 .entry-header,
.page-id-30 .entry-header {
    display: none !important;
}

#usct-home,
#usct-product,
#usct-quote-page {
    max-width: 100% !important;
    margin: 0 !important;
}

#usct-home > *,
#usct-product > *,
#usct-quote-page > * {
    padding-left: max(32px, calc((100vw - 1180px) / 2)) !important;
    padding-right: max(32px, calc((100vw - 1180px) / 2)) !important;
}

/* =============================================================
   Astra Header / Footer brand styling
   Targeting the Builder header/footer wrappers directly via CSS
   instead of fighting Astra's nested option arrays.
   ============================================================= */

/* Header — concrete white surface with charcoal text + yellow top accent rule */
.ast-hfb-header .main-header-bar {
    background-color: #FAFAF7 !important;
    border-top: 4px solid #FFB81C !important;
    border-bottom: 1px solid #D9DBDF !important;
}

/* Site title (wordmark) — Anton uppercase charcoal — KEPT for fallback styling
   if logo image fails to render, but display:none on the wrap below since the
   SVG logo provides the wordmark. */
.ast-site-identity .site-title,
.ast-site-identity .site-title a {
    font-family: 'Anton', sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #1F2328 !important;
}

/* Hide Astra's site-title text wrap — the SVG logo provides the lockup. */
/* Astra renders .ast-site-title-wrap unconditionally even when             */
/* `display-site-title=false` is set on legacy themes.                       */
.ast-site-identity .ast-site-title-wrap {
    display: none !important;
}

/* SVG logo image: render at 56px tall on desktop. preserveAspectRatio in    */
/* the SVG ensures the chevron + wordmark scale together cleanly.            */
.ast-site-identity .site-logo-img img.custom-logo {
    height: 56px !important;
    width: auto !important;
    max-width: 360px !important;
}
@media (max-width: 921px) {
    .ast-site-identity .site-logo-img img.custom-logo {
        height: 44px !important;
    }
}

/* Primary menu — Inter uppercase charcoal */
.main-header-menu > li > a,
.ast-builder-menu-1 .menu-item > a {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #1F2328 !important;
}
.main-header-menu > li > a:hover,
.ast-builder-menu-1 .menu-item > a:hover {
    color: #E69E00 !important;
}

/* Below footer (the credit bar) — charcoal with concrete white text + yellow rule */
.site-below-footer-wrap {
    background-color: #1F2328 !important;
    color: #FAFAF7 !important;
    border-top: 4px solid #FFB81C !important;
    padding: 24px 16px !important;
}
.site-below-footer-wrap .ast-builder-footer-grid-col,
.site-below-footer-wrap .ast-footer-copyright,
.site-below-footer-wrap p,
.site-below-footer-wrap a {
    color: #FAFAF7 !important;
    font-size: 13px !important;
}
.site-below-footer-wrap a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.site-below-footer-wrap a:hover {
    color: #FFB81C !important;
}

/* Body base size honoring style-guide 17px */
body {
    font-size: 17px !important;
    line-height: 1.55 !important;
}

/* =============================================================
   Phase 4-G — hide Astra's auto-rendered featured image header on
   #usct-product / #usct-home / #usct-quote-page page-builder pages.
   Their hero already uses the same image as background-image with
   a charcoal scrim + branded text overlay. Leaving Astra's auto-render
   in place produces a duplicate full-bleed image stacked above our hero.
   The featured image is still emitted in OG/Twitter card meta and schema.
   ============================================================= */
.ast-page-builder-template .ast-single-post-featured-section,
.ast-page-builder-template .post-thumb-img-content,
.ast-page-builder-template article > .post-thumbnail {
    display: none !important;
}

/* Hide Astra's auto-rendered comments/pingback list on Phase 4-D/4-G page-builder rebuilds.
   Many legacy pages collected pingback spam over a decade and rendering the list under
   a brand-new landing page is jarring. Pingbacks remain in the DB; only the front-end
   comments-area template is suppressed for these full-bleed product/landing pages. */
.ast-page-builder-template .comments-area,
.ast-page-builder-template #comments,
.ast-page-builder-template .comments-title,
.ast-page-builder-template .comment-list,
.ast-page-builder-template .no-comments {
    display: none !important;
}

/* Phase 4-G — decision table responsive containment. Default browser table-layout:auto
   lets long anchor text in the rightmost column blow out the table beyond the section's
   centered ~1180px column. Force fixed layout + word-wrap so cells reflow inside the
   parent width on every viewport. */
#usct-product .decision-table,
#usct-home .decision-table,
#usct-quote-page .decision-table {
    table-layout: fixed !important;
    width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}
#usct-product .decision-table td,
#usct-product .decision-table th,
#usct-home .decision-table td,
#usct-home .decision-table th,
#usct-quote-page .decision-table td,
#usct-quote-page .decision-table th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* =============================================================
   Phase 4-G — blog index polish.
   1) Hide empty featured-image placeholders. Most legacy keep-list posts
      don't have featured images set yet (Phase 5 work). Empty grey boxes
      look broken; suppress them until images land.
   2) Compress main-nav menu item padding so all 8 items fit on one row at
      typical desktop widths (1280-1440 + admin-bar). Default Astra padding
      is ~20px each side; 10px each side reclaims enough horizontal space.
   ============================================================= */
.blog article:not(.has-post-thumbnail) .post-thumb,
.blog article:not(.has-post-thumbnail) .ast-blog-featured-section,
.archive article:not(.has-post-thumbnail) .post-thumb,
.archive article:not(.has-post-thumbnail) .ast-blog-featured-section {
    display: none !important;
}

@media (min-width: 922px) {
    .ast-builder-menu-1 .menu-item > .menu-link,
    .main-header-menu .menu-item > .menu-link {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    /* Promote QUOTES to a CTA-styled menu item for visual weight + density */
    .ast-builder-menu-1 .menu-item:last-child > .menu-link,
    .main-header-menu .menu-item:last-child > .menu-link {
        background: #FFB81C !important;
        color: #1F2328 !important;
        margin-left: 12px !important;
        padding: 8px 16px !important;
        border: 2px solid #1F2328 !important;
        border-radius: 2px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
    .ast-builder-menu-1 .menu-item:last-child > .menu-link:hover,
    .main-header-menu .menu-item:last-child > .menu-link:hover {
        background: #E69E00 !important;
        color: #1F2328 !important;
    }
}

/* Blog post-card hover - lift slightly, keep brand discipline */
.blog article.ast-article-post,
.archive article.ast-article-post {
    transition: transform 80ms ease, box-shadow 80ms ease;
}
.blog article.ast-article-post:hover,
.archive article.ast-article-post:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 0 0 #FFB81C;
}
