/*
 * Bizxpo Child — Global Design System
 * Version: 1.0.1
 * Shared foundation for the theme and the later WooCommerce / vendor styling phases.
 */

:root {
    --site-primary: #126AB1;
    --site-primary-hover: #0F5996;
    --site-primary-soft: #EAF3FA;
    --site-navy: #0B2540;
    --site-text: #263746;
    --site-muted: #637789;
    --site-border: #DCE5EE;
    --site-surface: #FFFFFF;
    --site-page-bg: #F6F9FC;
    --site-radius-sm: 6px;
    --site-radius-md: 8px;
    --site-radius-lg: 12px;
    --site-shadow-sm: 0 2px 8px rgba(11, 37, 64, 0.06);
    --site-shadow-md: 0 8px 24px rgba(11, 37, 64, 0.08);
    --site-transition: 180ms ease;
}

/* Typography: retain the font families already supplied by Bizxpo. */
body {
    color: var(--site-text);
    font-family: "Open Sans", Arial, sans-serif;
}

html.fonts-loaded body {
    font-family: "Open Sans", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--site-navy);
    font-family: "Barlow", Arial, sans-serif;
}

html.fonts-loaded h1,
html.fonts-loaded h2,
html.fonts-loaded h3,
html.fonts-loaded h4,
html.fonts-loaded h5,
html.fonts-loaded h6 {
    font-family: "Barlow", Arial, sans-serif;
}

/* Shared link and Bizxpo theme accents. */
body a {
    color: var(--site-primary);
    transition: color var(--site-transition);
}

body a:hover,
body a:focus {
    color: var(--site-primary-hover);
}

.entry-header .entry-title a,
.widget-title,
.post-title a,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    color: var(--site-navy);
}

.widget-title:before,
.block-title.title-border .title-bg,
.block-title.title-border .title-bg::before,
.header .navbar-light .navbar-nav > li.active > a:before,
.pagination li.active a,
.pagination li:hover a {
    background-color: var(--site-primary);
}

.header .navbar-light .navbar-nav li.active > a,
.header .navbar-light .navbar-nav li a:hover,
.post-readmore:hover,
.btn-link,
.btn-link:hover,
.post-footer .btn-readmore:hover {
    color: var(--site-primary);
}

.block-title.title-border {
    border-bottom-color: var(--site-primary);
}

.block-title.title-border .title-bg::after {
    border-left-color: var(--site-primary);
}

/* Bizxpo and WordPress block buttons. WooCommerce/vendor buttons are refined later. */
body .btn:not(.btn-round),
body .elementor-button,
body .wp-block-button__link,
body .wp-element-button {
    border-radius: var(--site-radius-md);
    transition: background-color var(--site-transition), border-color var(--site-transition), color var(--site-transition), box-shadow var(--site-transition);
}

body .btn:not(.btn-round) {
    min-height: 46px;
    height: auto;
    padding: 11px 24px;
    line-height: 1.35;
    color: #FFFFFF;
    background-color: var(--site-primary);
    border: 1px solid var(--site-primary);
    text-transform: none;
}

body .btn:not(.btn-round):hover,
body .btn:not(.btn-round):focus,
body .elementor-button:hover,
body .elementor-button:focus,
body .wp-block-button__link:hover,
body .wp-element-button:hover {
    color: #FFFFFF;
    background-color: var(--site-primary-hover);
    border-color: var(--site-primary-hover);
}

/* Common form controls. Specific WooCommerce and vendor refinements follow in their own phase. */
body input[type="text"],
body input[type="email"],
body input[type="url"],
body input[type="password"],
body input[type="search"],
body input[type="tel"],
body input[type="number"],
body input[type="date"],
body select,
body textarea {
    max-width: 100%;
    color: var(--site-text);
    background-color: var(--site-surface);
    border: 1px solid var(--site-border);
    border-radius: var(--site-radius-md);
    box-shadow: none;
    font: inherit;
    transition: border-color var(--site-transition), box-shadow var(--site-transition);
}

body input[type="text"],
body input[type="email"],
body input[type="url"],
body input[type="password"],
body input[type="search"],
body input[type="tel"],
body input[type="number"],
body input[type="date"],
body select {
    min-height: 48px;
    padding: 10px 14px;
}

body textarea {
    min-height: 120px;
    padding: 12px 14px;
}

body input[type="checkbox"],
body input[type="radio"] {
    accent-color: var(--site-primary);
}

body input[type="text"]:focus,
body input[type="email"]:focus,
body input[type="url"]:focus,
body input[type="password"]:focus,
body input[type="search"]:focus,
body input[type="tel"]:focus,
body input[type="number"]:focus,
body input[type="date"]:focus,
body select:focus,
body textarea:focus {
    border-color: var(--site-primary);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(18, 106, 177, 0.14);
}

/* Consistent visible keyboard focus without removing native interaction semantics. */
body :focus-visible {
    outline: 2px solid var(--site-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body a,
    body .btn,
    body .elementor-button,
    body .wp-block-button__link,
    body .wp-element-button,
    body input,
    body select,
    body textarea {
        transition-duration: 0.01ms;
    }
}
