/**
 * Main Stylesheet
 * 
 * @package InsurishLink
 */

/* ==========================================================================
   CSS Variables
   ========================================================================== */
:root {
    --color-primary: #008A00;
    --color-primary-dark: #006600;
    --color-primary-light: #00B300;
    --color-secondary: #374151;
    --color-secondary-dark: #1f2937;

    --color-text: #333;
    --color-text-light: #666;
    --color-text-muted: #999;

    --color-bg: #f5f7fa;
    --color-bg-white: #ffffff;
    --color-bg-light: #fafafa;

    --color-border: #e5e7eb;
    --color-border-light: #f0f0f0;
    --color-border-dark: #d1d5db;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.08);

    --header-height: 60px;
    --sidebar-width: 240px;

    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;

    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-xl: 12px;
}

/* ==========================================================================
   Global Reset
   ========================================================================== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ==========================================================================
   Base Styles
   ========================================================================== */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
        Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: var(--color-text);
    background-color: var(--color-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a.view-details-btn:hover {
    color: white;
}

img {
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   Layout Structure
   ========================================================================== */
.site-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.site-content {
    flex: 1;
    padding-top: var(--header-height);
    transition: margin-left var(--transition-normal);
}

.site-content.has-sidebar {
    margin-left: var(--sidebar-width);
}

.site-main {
    padding: 30px 30px 30px;
    max-width: 100%;
    overflow-x: hidden;
}

.site-main.single-carrier {
    overflow-x: visible !important;
}


/* Adjust for WordPress admin bar */
.site-header {
    position: relative;
    z-index: 100;
}

body.admin-bar .site-header {
    margin-top: 32px;
}

body.admin-bar .site-content {
    padding-top: calc(var(--header-height) + 32px);
}

body.admin-bar .site-main {
    padding-top: calc(80px + 32px);
}

@media screen and (max-width: 782px) {
    body.admin-bar .site-header {
        margin-top: 46px;
    }

    body.admin-bar .site-content {
        padding-top: calc(var(--header-height) + 46px);
    }

    /* body.admin-bar .site-main {
        padding-top: calc(80px + 46px);
    } */
}


/* ==========================================================================
   Site Header
   ========================================================================== */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--header-height);
    background-color: var(--color-bg-white);
    box-shadow: var(--shadow-sm);
    z-index: 100;
}

.header-inner {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 40px;
}

/* Logo */
.site-branding {
    flex-shrink: 0;
}

.site-logo {
    display: flex;
    align-items: center;
    height: var(--header-height);
}

.site-logo img {
    height: 40px;
    width: auto;
}

/* Navigation */
.main-navigation {
    margin-right: auto;
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 30px;
    align-items: center;
}

.nav-menu li {
    margin: 0;
}

.nav-menu a {
    color: var(--color-text-light);
    font-weight: 500;
    transition: color var(--transition-fast);
    display: flex;
    justify-content: center;
    align-items: center;
}

.nav-menu li a:hover {
    color: var(--color-primary);
}

.nav-menu,
.nav-menu .current-menu-item a {
    color: var(--color-text);
}

/* Header Search */
.header-search {
    flex: 1;
    max-width: 400px;
}

/* ==========================================================================
   Page Header
   ========================================================================== */
.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    gap: 30px;
}

.page-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--color-text);
    margin: 0;
}

.page-header-search {
    flex: 1;
    max-width: 400px;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */
.screen-reader-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.desktop-only {
    display: block;
}

.mobile-only {
    display: none;
}

/* ==========================================================================
   Site Footer
   ========================================================================== */
.site-footer {
    background-color: var(--color-bg-white);
    border-top: 1px solid var(--color-border-light);
    padding: 20px 0;
    margin-top: auto;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

.footer-copyright {
    text-align: center;
    color: var(--color-text-light);
    font-size: 14px;
    margin: 0;
}

/* =================================================================== */
/* Custom Ultimate Member Styles for the InsurishLink Theme
/* =================================================================== */

/* --- Primary Color: Links & Active States --- */
/* Replaces the default blue #3ba1da with your primary green */
.um a.um-link,
.um .um-tip:hover,
.um .um-field-radio.active:not(.um-field-radio-state-disabled) i,
.um .um-field-checkbox.active:not(.um-field-radio-state-disabled) i,
.um .um-member-name a:hover,
.um .um-member-more a:hover,
.um .um-member-less a:hover,
.um .um-members-pagi a:hover,
.um .um-cover-add:hover,
.um .um-profile-subnav a.active,
.um .um-item-meta a,
.um-account-name a:hover,
.um-account-nav a.current,
.um-account-side li a.current span.um-account-icon,
.um-account-side li a.current:hover span.um-account-icon,
.um-dropdown li a:hover,
i.um-active-color,
span.um-active-color {
    color: var(--color-primary) !important;
}

/* --- Primary Color Hover --- */
/* Replaces the hover blue #44b0ec with your darker primary green */
.um a.um-link:hover,
.um a.um-link-hvr:hover {
    color: var(--color-primary-dark) !important;
}

/* --- Primary Color: Buttons & Backgrounds --- */
/* Replaces the default blue #3ba1da with your primary green */
.um .um-field-group-head,
.picker__box,
.picker__nav--prev:hover,
.picker__nav--next:hover,
.um .um-members-pagi span.current,
.um .um-members-pagi span.current:hover,
.um .um-profile-nav-item.active a,
.um .um-profile-nav-item.active a:hover,
.upload,
.um-modal-header,
.um-modal-btn,
.um-modal-btn.disabled,
.um-modal-btn.disabled:hover,
div.uimob800 .um-account-side li a.current,
div.uimob800 .um-account-side li a.current:hover,
.um .um-button,
.um a.um-button,
.um a.um-button.um-disabled:hover,
.um a.um-button.um-disabled:focus,
.um a.um-button.um-disabled:active,
.um input[type=submit].um-button,
.um input[type=submit].um-button:focus,
.um input[type=submit]:disabled:hover {
    background-color: var(--color-primary) !important;
}

/* --- Primary Color Hover: Buttons & Backgrounds --- */
/* Replaces the hover blue #44b0ec with your darker primary green */
.um .um-field-group-head:hover,
.picker__footer,
.picker__header,
.picker__day--infocus:hover,
.picker__day--outfocus:hover,
.picker__day--highlighted:hover,
.picker--focused .picker__day--highlighted,
.picker__list-item:hover,
.picker__list-item--highlighted:hover,
.picker--focused .picker__list-item--highlighted,
.picker__list-item--selected,
.picker__list-item--selected:hover,
.picker--focused .picker__list-item--selected,
.um .um-button:hover,
.um a.um-button:hover,
.um input[type=submit].um-button:hover {
    background-color: var(--color-primary-dark) !important;
}

/* --- Alternative Button Colors (e.g., Cancel buttons) --- */
/* Replaces the default light gray with your theme's border color */
.um .um-button.um-alt,
.um input[type=submit].um-button.um-alt {
    background-color: var(--color-border) !important;
}

.um .um-button.um-alt:hover,
.um input[type=submit].um-button.um-alt:hover {
    background-color: var(--color-border-dark) !important;
}