/**
 * VACBP Design Tokens — Single Source of Truth
 *
 * All other plugin stylesheets consume only var(--vacbp-*).
 * Color tokens fall back to WordPress block-theme presets
 * (--wp--preset--color--*) and then to WooCommerce variables
 * (--wc-color-primary etc.) so that Appearance → Global Styles /
 * Customizer controls automatically propagate into plugin UI.
 * Typography is always inherited from the active theme — plugin rules
 * only set layout, spacing, and structural properties.
 *
 * @package VACBP
 * @since   1.0.0
 */

:root {

   --wp--preset--color--primary: #000000 !important;

   --wp--preset--color--secondary: #667085 !important;

    /* -------------------------------------------------------------------------
       Primary action color
       Falls back: WP block-theme primary → WC primary → safe blue
       ------------------------------------------------------------------------- */
    --vacbp-color-primary:         var(--wp--preset--color--primary,
                                   var(--wc-color-primary,
                                   #0071CE)) !important;
    --vacbp-color-primary-hover:   #1a1a1a !important;
    --vacbp-color-primary-text:    #ffffff !important; /* text on primary bg */

    /* -------------------------------------------------------------------------
       Surfaces & backgrounds
       ------------------------------------------------------------------------- */
    --vacbp-color-bg:              var(--wp--preset--color--base,      #ffffff) !important;
    --vacbp-color-bg-subtle:       #F1F2F4 !important;
    --vacbp-color-bg-active:       var(--wp--preset--color--contrast-3,#eef2ff) !important;

    /* -------------------------------------------------------------------------
       Text
       Plugin components use color:inherit for body text so the theme controls it.
       Only muted/secondary text needs a specific value.
       ------------------------------------------------------------------------- */
    --vacbp-color-heading:         #1a1a1a !important;
    --vacbp-color-text-muted:      #21262e !important;
    --vacbp-color-text-faint:      #4c505b !important;

    /* -------------------------------------------------------------------------
       Borders
       ------------------------------------------------------------------------- */
    --vacbp-color-border:          var(--wp--preset--color--contrast-3, #e9ecef) !important;
    --vacbp-color-border-strong:   var(--wp--preset--color--contrast-2, #ced4da) !important;
    --vacbp-color-border-focus:    var(--vacbp-color-primary) !important;

    /* -------------------------------------------------------------------------
       Semantic status colors (not typically set by themes, so hard-coded here)
       ------------------------------------------------------------------------- */
    --vacbp-color-success:         #28a745 !important;
    --vacbp-color-success-bg:      #e8f5e9 !important;
    --vacbp-color-success-border:  #a5d6a7 !important;

    --vacbp-color-warning:         #997404 !important;
    --vacbp-color-warning-bg:      #fff8e1 !important;
    --vacbp-color-warning-border:  #ffe082 !important;

    --vacbp-color-danger:          #d2042d !important;
    --vacbp-color-reserve-badge:   #e6607b !important;
    --vacbp-color-no-reserve-badge:#5b91d6 !important;
    --vacbp-color-danger-bg:       #ffebee !important;
    --vacbp-color-danger-border:   #ef9a9a !important;

    --vacbp-color-info:            #01579B !important;
    --vacbp-blue-modal-btn:        #f2f7fc !important;
    --vacbp-color-info-bg:         #e3f2fd !important;
    --vacbp-color-info-border:     #90caf9 !important;

    /* Component-specific accent colors (not semantic — do not override lightly) */
    --vacbp-color-sidebar-accent:  #344F7A !important; /* vehicle card sidebar header panel   */
    --vacbp-color-account-bg:      #344d86 !important; /* My Account page full-bleed backdrop */
    --vacbp-color-auth-page-bg:    #3d4880 !important; /* Login / Register page full-bleed background */
    --vacbp-color-reserve-text:    #ffd54f !important; /* reserve pill text on dark bg        */
    --vacbp-color-watch-active:    #f39c12 !important; /* "is watching" heart/star indicator  */

    /* -------------------------------------------------------------------------
       Typography
       font-family and base color are ALWAYS inherited — never set by the plugin.
       Sizes use em so they scale with the theme's body font-size.
       ------------------------------------------------------------------------- */
    --vacbp-font-size-xs:    0.75rem;    /*  ~12 px at 16 px base */
    --vacbp-font-size-sm:    0.875rem;   /*  ~14 px */
    --vacbp-font-size-2sm:   0.9375rem;  /*  ~15 px */
    --vacbp-font-size-base:  1rem;       /*  ~16 px */
    --vacbp-font-size-md:    1.0625rem;  /*  ~17 px */
    --vacbp-font-size-lg:    1.125rem;   /*  ~18 px */
    --vacbp-font-size-xl:    1.25rem;    /*  ~20 px */
    --vacbp-font-size-2xl:   1.5rem;     /*  ~24 px */
    --vacbp-font-size-3xl:   1.75rem;    /*  ~28 px */
    --vacbp-font-size-4xl:   2.0rem;     /*  ~32 px */

    /* -------------------------------------------------------------------------
       Spacing — 4-point scale
       ------------------------------------------------------------------------- */
    --vacbp-space-1:    4px;
    --vacbp-space-2:    8px;
    --vacbp-space-3:   12px;
    --vacbp-space-4:   16px;
    --vacbp-space-5:   20px;
    --vacbp-space-6:   24px;
    --vacbp-space-8:   32px;
    --vacbp-space-10:  40px;
    --vacbp-space-12:  48px;
    --vacbp-space-14:  56px;
    --vacbp-space-16:  64px;

   /* -------------------------------------------------------------------------
       Margin — 
       ------------------------------------------------------------------------- */
   --vacbp-margin-ssm:  var(--vacbp-space-1) !important;
   --vacbp-margin-sm:  var(--vacbp-space-2) !important;
   --vacbp-margin-md:  var(--vacbp-space-4) !important;
   --vacbp-margin-lg:  var(--vacbp-space-6) !important;
   --vacbp-margin-xl:  var(--vacbp-space-8) !important;
   --vacbp-margin-2xl:  var(--vacbp-space-12) !important;
   --vacbp-margin-3xl:  var(--vacbp-space-14) !important;
   --vacbp-margin-4xl:  var(--vacbp-space-16) !important;

    /* -------------------------------------------------------------------------
       Border radius
       ------------------------------------------------------------------------- */
    --vacbp-radius-sm:    4px;
    --vacbp-radius-md:    8px;
    --vacbp-radius-lg:   12px;
    --vacbp-radius-xl:   16px;
    --vacbp-radius-pill: 100px;

    /* -------------------------------------------------------------------------
       Shadows
       ------------------------------------------------------------------------- */
    --vacbp-shadow-sm:    0 1px 3px rgba(0, 0, 0, .06);
    --vacbp-shadow-md:    0 2px 8px rgba(0, 0, 0, .08);
    --vacbp-shadow-lg:    0 4px 16px rgba(0, 0, 0, .12);
    --vacbp-shadow-hover: 0 6px 20px rgba(0, 0, 0, .14);

    /* -------------------------------------------------------------------------
       Motion
       ------------------------------------------------------------------------- */
    --vacbp-transition:      150ms ease;
    --vacbp-transition-slow: 300ms ease;

    /* -------------------------------------------------------------------------
       Layout maximums (structural, not visual)
       ------------------------------------------------------------------------- */
    --vacbp-max-narrow:   700px;
    --vacbp-max-form:     760px;
    --vacbp-max-content: 1200px;
    --vacbp-max-wide:    1400px;

    /* -------------------------------------------------------------------------
       Container widths (visual, not structural)
       ------------------------------------------------------------------------- */
    --container-content: 1300px !important;
}

body #primary { 
   min-height: 550px;
   background-color: white;
}


:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(h1, h2, h3, h4, h5, h6, button, a) {
   font-family: "Jost", "Segoe UI", sans-serif !important;
   font-weight: 500 !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(p, th, td, li, ul, ol, input, label, blockquote, select, textarea),
:is(.vacbp-general-wrapper, .vacbp-body-wrapper) span:not([class*="dashicons"]) {
   text-decoration: none !important;
   font-family: "Segoe UI","Jost", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) a, a:where(:not(.wp-element-button)) {
   text-decoration: none !important;
}
#primary .d-flex, #primary .vacbp-ya-card-title-row .vacbp-ya-card-title a {
	font-family: "Segoe UI","Jost", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
#primary .vacbp-ya-card-title-row .vacbp-ya-card-title a {
	font-weight: 600 !important;
}
body #primary :is(.prose :not(:where([class~='not-prose'],[class~='not-prose'] *))):where(img) {
   margin-top: 0 !important;
   margin-bottom: 0 !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(.prose :not(:where([class~='not-prose'],[class~='not-prose'] *))):where(h4) {
   margin-top: 0 !important;
   font-size: var(--vacbp-font-size-xl);
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(.prose :not(:where([class~='not-prose'],[class~='not-prose'] *))):where(p) {
    margin-top: var( --vacbp-margin-sm );
    margin-bottom: var( --vacbp-margin-sm );
}
 
:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(.prose :not(:where([class~='not-prose'],[class~='not-prose'] *))):where(h2), h2{
   margin-top: auto !important;
   margin-bottom: auto !important;
   font-size: var( --vacbp-font-size-3xl ) !important;
	font-weight: 500 !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(.prose :not(:where([class~='not-prose'],[class~='not-prose'] *))):where(h3), h3 {
   margin-top: auto !important;
   margin-bottom: auto !important;
   font-weight: 500 !important;
   font-size: var( --vacbp-font-size-lg ) !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) h1.entry-title{
   /* padding: 0 40px !important;
   text-align: center !important; */
   display: none !important;
}

/* body #primary button {
   background-color: var(--wp--preset--color--primary);
} */

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) :is(.prose :not(:where([class~='not-prose'],[class~='not-prose'] *))):where(h1), h1{
   font-weight: 500 !important;
   font-size: var( --vacbp-font-size-3xl ) !important;
   margin-top: auto !important;
   margin-bottom: auto !important;
}

/* header:is(.entry-header, .entry-footer) {
   display: block !important;
   color: var(--vacbp-color-primary) !important;
} */

/* ==========================================================================
   General
   ========================================================================== */

.d-flex{
   display: flex !important;
}

.d-none{
   display: none !important;
}

.w-50 {
   width: 50% !important;
}

.font-weight-600 {
   font-weight: 600 !important;
}

.color-black {
   color: var(--vacbp-color-heading) !important;
}

.d-none{
   display: none !important;
}
.flex-direction-column {
   flex-direction: column !important;
}

.w-50 {
   width: 50% !important;
}

.font-weight-600 {
   font-weight: 600 !important;
}

.font-weight-600 {
   font-weight: 500 !important;
}

.color-black {
   color: var(--vacbp-color-heading) !important;
}

.option-name {
   font-size: 1.2em !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) [class*='-actions'] button:not(.vacbp-ya-btn.vacbp-ar-btn-reject), 
:is(.vacbp-general-wrapper, .vacbp-body-wrapper) button.vacbp-general-button, 
:is(.vacbp-general-wrapper, .vacbp-body-wrapper) button.woocommerce-Button.button {
	width: auto;
   font-weight: 700;
   border-radius: 5px !important;
   cursor: pointer;
   color: var(--vacbp-color-primary-text);
   background-color: var(--wp--preset--color--primary);
   border: none;
   padding: 10px;
   border-radius: 10px !important;
   font-family: inherit;
   transition: all 0.2s;
   letter-spacing: 0.3px;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button.button,
:is(.vacbp-general-wrapper, .vacbp-body-wrapper) .vacbp-connect-actions button {
   display: block !important;
   width: 100% !important;
   background-color: var(--vacbp-color-primary) !important;
   color: var(--vacbp-color-primary-text) !important;
   border: none !important;
   border-radius: var(--vacbp-radius-sm) !important;
   padding: var(--vacbp-space-3) var(--vacbp-space-6) !important;
   font-size: var(--vacbp-font-size-lg) !important;
   font-weight: 500 !important;
   cursor: pointer !important;
   /* margin-top: var(--vacbp-space-2) !important; */
   transition: background-color var(--vacbp-transition) !important;
   text-align: center;
   height: 48px;
}
.woocommerce-ResetPassword .woocommerce-form-row.form-row {
	width: 100% !important;
}
.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button.button:hover {
    background-color: var(--vacbp-color-primary-hover) !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) .vacbp-ready-banner h2 {
   font-weight: 400 !important;
}

:is(.vacbp-general-wrapper, .vacbp-body-wrapper) .vacbp-ready-banner p.not-prose{
   font-weight: 300 !important;
   opacity: 0.9 !important;
}

@media (max-width: 768px) {
   h1.entry-title{
      padding: 0 20px !important;
   }
}