/*
Theme Name: Underground Landlord
Theme URI: https://undergroundlandlord.com
Author: Underground Landlord
Description: Purpose-built theme for the Underground Landlord platform. Lightweight, fast, zero bloat. Designed for Classic Editor + shortcode-driven pages.
Version: 1.0.3
Text Domain: ul-theme
Template: astra
*/

/* ─── Reset & Base ─── */
*, *::before, *::after { box-sizing: border-box; }
body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #2c2c2c;
    background: #fff;
    -webkit-font-smoothing: antialiased;
}
a { color: #2271b1; text-decoration: none; }
a:hover { color: #0a3d5f; text-decoration: underline; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { color: #1a1a1a; line-height: 1.3; }

/* ─── Header ─── */
.ul-site-header {
    background: #fff;
    border-bottom: 3px solid #AADDFF;
    position: relative;
    z-index: 1000;
    margin-bottom: 0 !important;
}
.ul-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 24px;
}
.ul-header-logo img {
    max-height: 80px;
    width: auto;
    display: block;
}
.ul-header-logo a {
    display: block;
    text-decoration: none;
}
.ul-header-auth {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ul-header-auth a,
.ul-header-auth .ul-auth-btn {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}
.ul-auth-btn-login {
    background: #fff;
    color: #1B2A4A;
    border: 2px solid #1B2A4A;
}
.ul-auth-btn-login:hover {
    background: #1B2A4A;
    color: #fff;
    text-decoration: none;
}
.ul-auth-btn-account {
    background: #fff;
    color: #1B2A4A;
    border: 2px solid #1B2A4A;
}
.ul-auth-btn-account:hover {
    background: #1B2A4A;
    color: #fff;
    text-decoration: none;
}
.ul-auth-btn-logout {
    background: #c0392b;
    color: #fff;
    border: 2px solid #c0392b;
}
.ul-auth-btn-logout:hover {
    background: #a93226;
    border-color: #a93226;
    text-decoration: none;
    color: #fff;
}

/* ─── Navigation ─── */
.ul-header-nav {
    background: #1B2A4A !important;
}
.ul-header-nav-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.ul-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 0;
}
.ul-nav-menu li {
    position: relative;
}
.ul-nav-menu > li > a {
    display: block;
    padding: 14px 22px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease;
    letter-spacing: 0.2px;
}
.ul-nav-menu > li > a:hover,
.ul-nav-menu > li.current-menu-item > a,
.ul-nav-menu > li.current-menu-parent > a {
    background: rgba(170, 221, 255, 0.2);
    color: #AADDFF;
    text-decoration: none;
}
.ul-nav-menu > li.menu-item-has-children > a::after {
    content: ' ▾';
    font-size: 10px;
    opacity: 0.7;
}
.ul-nav-menu li ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 240px;
    border: 1px solid #e0e0e0;
    border-top: 3px solid #AADDFF;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    border-radius: 0 0 6px 6px;
    z-index: 9999;
    list-style: none;
    margin: 0;
    padding: 6px 0;
}
.ul-nav-menu li:hover > ul.sub-menu {
    display: block;
}
.ul-nav-menu li ul.sub-menu li a {
    display: block;
    padding: 10px 20px;
    color: #1B2A4A;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.15s ease;
}
.ul-nav-menu li ul.sub-menu li a:hover {
    background: #f0f8ff;
    color: #0a3d5f;
    text-decoration: none;
}
.ul-nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    color: #1B2A4A;
}
.ul-nav-toggle svg {
    width: 28px;
    height: 28px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
}

/* ─── Main Content ─── */
.ul-site-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 60vh;
}
.ul-content-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 24px;
}
.ul-full-width .ul-content-inner {
    max-width: none;
    padding: 0;
}

/* ─── Footer ─── */
.ul-site-footer {
    background: #1B2A4A;
    color: #ccc;
    padding: 50px 24px 0;
}
.ul-footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 200px 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
}
.ul-footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.ul-footer-brand img {
    max-width: 100px;
    margin-bottom: 16px;
}
.ul-footer-brand-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}
.ul-footer-social {
    display: flex;
    gap: 8px;
}
.ul-footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: #2a3f66;
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s;
}
.ul-footer-social a:hover {
    background: #AADDFF;
    color: #1B2A4A;
    text-decoration: none;
}
.ul-footer-col h4 {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 16px;
}
.ul-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ul-footer-col ul li {
    margin-bottom: 8px;
}
.ul-footer-col ul li::before {
    content: '●';
    color: #AADDFF;
    margin-right: 8px;
    font-size: 8px;
    vertical-align: middle;
}
.ul-footer-col ul li a {
    color: #ccc;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.15s;
}
.ul-footer-col ul li a:hover {
    color: #AADDFF;
    text-decoration: none;
}
.ul-footer-bottom {
    background: #111d33;
    text-align: center;
    padding: 16px 24px;
    font-size: 13px;
    color: #888;
    margin: 0 -24px;
}

/* ─── WordPress Defaults ─── */
.alignleft { float: left; margin: 0 20px 20px 0; }
.alignright { float: right; margin: 0 0 20px 20px; }
.aligncenter { display: block; margin: 0 auto 20px; }
.wp-caption { max-width: 100%; }
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
}

/* ─── Page Template Overrides ─── */
body:not(.page-template-page-templatesfull-width-php) .ul-content-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px;
}
body.page-template-page-templatesfull-width-php .ul-site-content {
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
}
body.page-template-page-templatesfull-width-php .ul-content-inner {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.page-template-page-templatesfull-width-php .entry-content,
body.page-template-page-templatesfull-width-php .page-content {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.entry-content, .page-content { width: 100%; }

body.logged-in:not(.page-template-full-width) .ul-site-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
}

/* ─── Forms ─── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="search"],
textarea,
select {
    width: 100%;
    max-width: 400px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
}
textarea { min-height: 120px; resize: vertical; }
button, .button, a.button, input[type="submit"], input[type="button"] {
    padding: 10px 20px;
    background: #0073aa;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s ease;
}
button:hover, .button:hover, input[type="submit"]:hover, input[type="button"]:hover {
    background: #005177;
    text-decoration: none;
    color: white;
}
#pmpro_level, .pmpro_checkout, .pmpro_form { max-width: 600px; margin: 0 auto; }
.pmpro_checkout input[type="text"],
.pmpro_checkout input[type="email"],
.pmpro_checkout input[type="password"],
.pmpro_checkout select { width: 100%; max-width: 100%; }

/* =========================================================
   ROOT VARIABLES
========================================================= */
:root {
    --ul-header-match: #667278;
    --ul-blue: #AADDFF;
    --ul-nav-bg: #1B2A4A;
}

/* =========================================================
   SILVER METAL BADGE
========================================================= */
.ul-rm-brand-label-small {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: linear-gradient(180deg, #f5f5f5 0%, #d9d9d9 100%);
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.9), inset 0 -1px 3px rgba(0,0,0,0.08);
    border-top: 1px solid rgba(255,255,255,0.9);
    border-bottom: 1px solid rgba(0,0,0,0.12);
}
.ul-rm-brand-label-small img { width: 28px; height: auto; }
.ul-rm-brand-label-small span {
    font-size: 12px;
    font-weight: 700;
    color: #333;
    text-shadow: 0 1px 0 rgba(255,255,255,0.6);
}

/* =========================================================
   UL WRAPPER & GRIDS
========================================================= */
.ul-wrap { max-width: 980px; margin: 0 auto; padding: 28px 22px; }
@media (min-width: 1200px) { .ul-wrap { max-width: 1040px; } }

.ul-grid-2 { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; }
.ul-grid-3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
@media (max-width: 768px) { .ul-grid-2, .ul-grid-3 { grid-template-columns: 1fr !important; } }

/* =========================================================
   UL — HOMEPAGE ACTION PILLS
========================================================= */
.ul-wrap .ul-hp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0 24px; }
.ul-wrap .ul-hp-actions a.ul-hp-btn,
.ul-wrap .ul-hp-actions a.ul-hp-btn:visited {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 10px 16px; border-radius: 999px; background: var(--ul-blue);
    color: #000; font-weight: 700; line-height: 1; text-decoration: none;
    border: 1px solid rgba(0,0,0,.15);
}
.ul-wrap .ul-hp-actions a.ul-hp-btn:hover { filter: brightness(0.97); transform: translateY(-1px); }

/* =========================================================
   UL — HOMEPAGE GRID
========================================================= */
.ul-wrap .ul-hp-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
@media (max-width: 1024px) { .ul-wrap .ul-hp-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) { .ul-wrap .ul-hp-grid { grid-template-columns: 1fr; } }

/* =========================================================
   UL — HOMEPAGE CARDS / TILES
========================================================= */
.ul-hp-tile, .ul-hp-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    padding: 16px;
    position: relative;
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.ul-hp-tile:hover, .ul-hp-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.12); }
.ul-hp-tile--upgrade::before {
    content: "UPGRADE";
    position: absolute; top: 12px; right: -38px;
    background: #1e73be; color: #fff; font-size: 11px; font-weight: 700;
    padding: 4px 40px; transform: rotate(45deg); letter-spacing: 1px; z-index: 2;
}
.ul-hp-tile a.ul-pill, .ul-hp-tile a.ul-hp-pill, .ul-hp-card a {
    display: inline-block; padding: 8px 14px; background: var(--ul-blue);
    border-radius: 999px; color: #000; font-weight: 600; text-decoration: none; line-height: 1.2;
}
.ul-hp-tile a:hover, .ul-hp-card a:hover { filter: brightness(0.96); }

/* =========================================================
   UL — HP SECTIONS, TILES, BADGES, BUTTONS
========================================================= */
.ul-hp-section { margin-bottom: 32px; }

.ul-hp-section > h3 {
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%);
    color: #1a1a2e;
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    padding: 12px 16px;
    border-radius: 8px 8px 0 0;
}

.ul-hp-subtext {
    background: #f0f8ff;
    border: 1px solid #AADDFF;
    border-top: none;
    padding: 10px 16px;
    margin-bottom: 16px;
    border-radius: 0 0 8px 8px;
}
.ul-hp-subtext p { margin: 0; font-size: 14px; color: #555; }

.ul-hp-tile-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%);
    margin: -16px -16px 12px -16px;
    padding: 10px 16px;
    border-radius: 13px 13px 0 0;
}
.ul-hp-tile-top h4 { margin: 0; font-size: 15px; font-weight: 700; color: #1a1a2e; }

.ul-hp-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    white-space: nowrap;
}
.ul-hp-badge--included { background: #e8f5e9; color: #2e7d32; }
.ul-hp-badge--upgrade { background: #fff3e0; color: #e65100; }

.ul-hp-tile-btn {
    display: inline-block;
    margin-top: 12px;
    padding: 8px 16px;
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%);
    color: #000;
    font-weight: 600;
    font-size: 13px;
    border-radius: 999px;
    text-decoration: none;
    border: 1px solid #77bbee;
    transition: all 0.2s ease;
}
.ul-hp-tile-btn:hover {
    background: linear-gradient(135deg, #88ccff 0%, #77bbee 100%);
    transform: translateY(-1px);
    text-decoration: none;
    color: #000;
}

.ul-hp-note { font-size: 13px; color: #888; margin-top: 8px; }

/* =========================================================
   UL — BASIC HOMEPAGE
========================================================= */
.ul-basic-homepage h2 {
    font-size: 26px;
    font-weight: 800;
    color: #0a3d5f;
    margin: 0 0 8px 0;
}
.ul-hp-subtitle {
    font-size: 16px;
    color: #555;
    margin: 0 0 12px 0;
}
.ul-hp-intro {
    background: #f0f8ff;
    border: 1px solid #AADDFF;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #444;
}

/* =========================================================
   UL — HP BUTTONS (PRIMARY) — outside pill row
========================================================= */
.ul-hp-card a.ul-hp-btn.ul-hp-btn--primary,
.ul-hp-card a.ul-hp-btn.ul-hp-btn--primary:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%);
    color: #000;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    border: 1px solid #77bbee;
    transition: all 0.2s ease;
}
.ul-hp-card a.ul-hp-btn.ul-hp-btn--primary:hover {
    background: linear-gradient(135deg, #88ccff 0%, #77bbee 100%);
    transform: translateY(-1px);
    text-decoration: none;
    color: #000;
}

/* =========================================================
   UL — PARTNER CARDS
========================================================= */
.ul-partner-card {
    border: 2px solid #E5F3FF !important;
    transition: all 0.25s ease !important;
}
.ul-partner-card:hover {
    border-color: #AADDFF !important;
    box-shadow: 0 6px 20px rgba(170,221,255,0.3) !important;
    transform: translateY(-2px) !important;
}

/* =========================================================
   STATE PILLS
========================================================= */
.ul-state-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; margin: 24px 0; }
.ul-state-pill {
    display: flex; align-items: center; justify-content: center;
    padding: 8px 16px; border-radius: 999px; font-weight: 600; font-size: 13px;
    text-decoration: none; text-align: center;
    background: linear-gradient(135deg, #AADDFF, #88ccff);
    border: 2px solid #77bbee; color: #000; transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(170,221,255,0.25);
}
.ul-state-pill:hover {
    background: linear-gradient(135deg, #88ccff, #77bbee);
    transform: translateY(-2px); box-shadow: 0 4px 12px rgba(170,221,255,0.4);
    color: #000; text-decoration: none;
}
@media (max-width: 768px) { .ul-state-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); } }
@media (max-width: 480px) { .ul-state-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* =========================================================
   PMPRO STYLING
========================================================= */
#pmpro_levels_table, .pmpro_levels_table { border: none !important; background: transparent !important; }
#pmpro_levels_table tr, .pmpro_levels_table tr {
    background: #fff !important; border: 2px solid #E5F3FF !important; border-radius: 12px !important;
    margin-bottom: 12px !important; display: block !important; padding: 16px 20px !important; transition: all 0.3s ease !important;
}
#pmpro_levels_table tr:hover, .pmpro_levels_table tr:hover {
    border-color: #AADDFF !important; box-shadow: 0 4px 15px rgba(170,221,255,0.3) !important; transform: translateY(-2px) !important;
}
#pmpro_levels_table th, #pmpro_levels_table td,
.pmpro_levels_table th, .pmpro_levels_table td { border: none !important; padding: 8px 12px !important; font-size: 15px !important; }
#pmpro_levels_table th, .pmpro_levels_table th {
    background: #E5F3FF !important; color: #0a3d5f !important; font-weight: 700 !important; border-radius: 8px !important;
}
.pmpro_btn, .pmpro_levels_table .pmpro_btn, a.pmpro_btn {
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%) !important; color: #000 !important;
    font-weight: 700 !important; font-size: 14px !important; padding: 10px 24px !important;
    border-radius: 30px !important; border: 2px solid #77bbee !important; text-decoration: none !important;
    transition: all 0.25s ease !important; box-shadow: 0 4px 15px rgba(100,180,255,0.3) !important;
}
.pmpro_btn:hover, a.pmpro_btn:hover {
    background: linear-gradient(135deg, #99ccee 0%, #77bbee 100%) !important;
    transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(100,180,255,0.4) !important; color: #000 !important;
}
.pmpro_levels_table .pmpro_level-name, #pmpro_levels_table .pmpro_level-name { font-size: 18px !important; font-weight: 800 !important; color: #1a1a1a !important; }
.pmpro_levels_table .pmpro_level-price, #pmpro_levels_table .pmpro_level-price { font-size: 16px !important; font-weight: 600 !important; color: #0a3d5f !important; }
.pmpro_checkout, #pmpro_form { max-width: 600px !important; margin: 0 auto !important; }
.pmpro_checkout .pmpro_box, .pmpro_box {
    background: #fff !important; border: 2px solid #E5F3FF !important; border-radius: 12px !important;
    padding: 24px !important; margin-bottom: 20px !important;
}
.pmpro_checkout h2, .pmpro_box h2 { color: #0a3d5f !important; font-weight: 700 !important; font-size: 20px !important; margin-bottom: 16px !important; }
.pmpro_checkout input[type="text"], .pmpro_checkout input[type="email"],
.pmpro_checkout input[type="password"], .pmpro_checkout select, .pmpro_checkout textarea {
    border: 2px solid #E5F3FF !important; border-radius: 8px !important; padding: 10px 14px !important;
    font-size: 15px !important; transition: border-color 0.25s ease !important;
}
.pmpro_checkout input:focus, .pmpro_checkout select:focus, .pmpro_checkout textarea:focus {
    border-color: #AADDFF !important; outline: none !important; box-shadow: 0 0 0 3px rgba(170,221,255,0.2) !important;
}
.pmpro_checkout .pmpro_btn-submit, input.pmpro_btn-submit, .pmpro_btn-submit {
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%) !important; color: #000 !important;
    font-weight: 700 !important; font-size: 16px !important; padding: 14px 32px !important;
    border-radius: 30px !important; border: 2px solid #77bbee !important; cursor: pointer !important;
    transition: all 0.25s ease !important; box-shadow: 0 4px 15px rgba(100,180,255,0.3) !important;
}
.pmpro_btn-submit:hover { background: linear-gradient(135deg, #99ccee 0%, #77bbee 100%) !important; transform: translateY(-2px) !important; }
.pmpro_account, #pmpro_account {
    background: #fff !important; border: 2px solid #E5F3FF !important; border-radius: 16px !important; padding: 24px !important;
}
.pmpro_account h2, #pmpro_account h2 { color: #0a3d5f !important; font-weight: 700 !important; }
.pmpro_account .pmpro_box { background: #f8f9fa !important; border: 2px solid #e9ecef !important; border-radius: 12px !important; padding: 20px !important; margin-bottom: 16px !important; }

/* =========================================================
   HOMEPAGE HERO & SECTIONS
========================================================= */
.ul-home-wrap { margin: 0 !important; padding: 0 !important; font-family: inherit !important; max-width: 100% !important; width: 100% !important; }
.ul-home-wrap * { box-sizing: border-box !important; }

.ul-home-hero { position: relative !important; width: 100% !important; height: 600px !important; overflow: hidden !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; margin-top: 0 !important; }
.ul-home-hero .hero-bg { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 0 !important; }
.ul-home-hero .hero-bg img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 30% !important; display: block !important; }
.ul-home-hero .hero-overlay { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 1 !important; background: rgba(0,0,0,0.25) !important; }
.ul-home-hero .hero-bottom-fade { position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 120px !important; z-index: 2 !important; pointer-events: none !important; background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.8) 70%, #fff 100%) !important; }
.ul-home-hero-content { position: relative !important; z-index: 3 !important; padding: 40px 50px !important; max-width: 800px !important; background: radial-gradient(ellipse at center, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.15) 50%, transparent 75%) !important; border-radius: 20px !important; }
.ul-home-hero h1 { color: #fff !important; font-size: 44px !important; font-weight: 800 !important; margin: 0 0 20px 0 !important; line-height: 1.2 !important; text-shadow: 0 2px 12px rgba(0,0,0,0.4), 0 4px 25px rgba(0,0,0,0.2) !important; }
.ul-home-hero h3 { color: rgba(255,255,255,0.92) !important; font-size: 20px !important; font-weight: 400 !important; margin: 0 0 35px 0 !important; line-height: 1.5 !important; text-shadow: 0 1px 8px rgba(0,0,0,0.5), 0 3px 16px rgba(0,0,0,0.4) !important; }
.ul-home-hero-btn { display: inline-block !important; padding: 16px 36px !important; background: linear-gradient(135deg, #fff 0%, #E5F3FF 100%) !important; color: #000 !important; font-weight: 700 !important; font-size: 17px !important; border-radius: 30px !important; text-decoration: none !important; border: 2px solid rgba(255,255,255,0.6) !important; transition: all 0.25s ease !important; box-shadow: 0 4px 20px rgba(0,0,0,0.2) !important; }
.ul-home-hero-btn:hover { background: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 6px 25px rgba(0,0,0,0.25) !important; color: #000 !important; text-decoration: none !important; }

.ul-home-features-heading { position: relative !important; z-index: 2 !important; text-align: center !important; margin-top: -160px !important; margin-bottom: 16px !important; }
.ul-home-features-heading h2 { font-size: 30px !important; font-weight: 800 !important; color: #fff !important; text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important; margin: 0 !important; }

.ul-home-features-cards { position: relative !important; z-index: 2 !important; max-width: 960px !important; margin: 0 auto !important; padding: 0 20px !important; margin-bottom: -70px !important; }
.ul-home-features-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; width: 100% !important; }
.ul-home-feature-card { background: #f5f5f5 !important; border: none !important; border-radius: 12px !important; padding: 28px 24px !important; text-align: center !important; transition: all 0.3s ease !important; position: relative !important; overflow: visible !important; box-shadow: 6px 8px 20px rgba(0,0,0,0.25), 2px 3px 6px rgba(0,0,0,0.15) !important; width: 100% !important; max-width: none !important; }
.ul-home-feature-card:hover { transform: translateY(-5px) translateX(-2px) !important; box-shadow: 10px 12px 30px rgba(0,0,0,0.3), 3px 4px 8px rgba(0,0,0,0.2) !important; }
.ul-home-feature-card .ul-feature-icon { font-size: 36px !important; margin-bottom: 12px !important; }
.ul-home-feature-card h4 { font-size: 18px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 0 8px 0 !important; }
.ul-home-feature-card p { font-size: 14px !important; color: #555 !important; margin: 0 !important; line-height: 1.5 !important; }

a.ul-home-feature-card-link, a.ul-home-who-card-link { text-decoration: none !important; color: inherit !important; display: block !important; width: 100% !important; }
a.ul-home-feature-card-link:hover, a.ul-home-who-card-link:hover { text-decoration: none !important; color: inherit !important; }

.ul-home-white-spacer { background: #fff !important; height: 90px !important; }

.ul-home-who { background: #f8f9fa !important; padding: 60px 20px !important; }
.ul-home-who-inner { max-width: 720px !important; margin: 0 auto !important; text-align: center !important; }
.ul-home-who h2 { font-size: 30px !important; font-weight: 800 !important; color: #0a3d5f !important; margin: 0 0 12px 0 !important; }
.ul-home-who-sub { font-size: 17px !important; color: #555 !important; margin: 0 0 32px 0 !important; }
.ul-home-who-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; margin-bottom: 36px !important; width: 100% !important; }
.ul-home-who-card { background: #fff !important; border: 2px solid #E5F3FF !important; border-radius: 12px !important; padding: 24px 16px !important; text-align: center !important; transition: all 0.25s ease !important; width: 100% !important; max-width: none !important; }
.ul-home-who-card:hover { border-color: #AADDFF !important; box-shadow: 0 4px 15px rgba(170,221,255,0.2) !important; }
.ul-home-who-card .ul-who-icon { font-size: 32px !important; margin-bottom: 10px !important; }
.ul-home-who-card h4 { font-size: 16px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 0 6px 0 !important; }
.ul-home-who-card p { font-size: 13px !important; color: #666 !important; margin: 0 !important; line-height: 1.4 !important; }
.ul-home-cta-btn { display: inline-block !important; padding: 16px 36px !important; background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%) !important; color: #000 !important; font-weight: 700 !important; font-size: 17px !important; border-radius: 30px !important; text-decoration: none !important; border: 2px solid #77bbee !important; transition: all 0.25s ease !important; box-shadow: 0 4px 15px rgba(100,180,255,0.3) !important; }
.ul-home-cta-btn:hover { background: linear-gradient(135deg, #99ccee 0%, #77bbee 100%) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(100,180,255,0.4) !important; color: #000 !important; text-decoration: none !important; }

.ul-home-map { background: #f8f9fa !important; padding: 20px 20px 60px 20px !important; }
.ul-home-map-text { max-width: 720px !important; margin: 0 auto !important; text-align: center !important; }
.ul-home-map h2 { font-size: 30px !important; font-weight: 800 !important; color: #0a3d5f !important; margin: 0 0 8px 0 !important; }
.ul-home-map-sub { font-size: 17px !important; color: #555 !important; margin: 0 0 30px 0 !important; }
.ul-home-map-wide { max-width: 1100px !important; margin: 0 auto !important; }

/* Homepage page width override */
body.page-id-3827 .ul-content-inner,
body.home .ul-content-inner { max-width: none !important; padding: 0 !important; }

/* =========================================================
   UL HUB CARDS
========================================================= */
.ul-hub-card {
    background: #fff;
    border: 3px solid #AADDFF !important;
    border-radius: 16px !important;
    padding: 32px !important;
    text-decoration: none !important;
    color: inherit;
    transition: all 0.3s ease !important;
    box-shadow: 0 6px 16px rgba(170, 221, 255, 0.25) !important;
    display: block;
    position: relative;
    overflow: hidden;
}
.ul-hub-card::before {
    content: '';
    position: absolute; top: 0; left: 0; width: 100%; height: 8px;
    background: linear-gradient(90deg, #AADDFF 0%, #77bbee 50%, #AADDFF 100%);
    transform: scaleX(0); transition: transform 0.4s ease;
}
.ul-hub-card:hover::before { transform: scaleX(1); }
.ul-hub-card:hover {
    transform: translateY(-12px) !important;
    box-shadow: 0 20px 40px rgba(170, 221, 255, 0.5) !important;
    border-color: #77bbee !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #ffffff 0%, #f0f8ff 100%) !important;
}
.ul-hub-card.featured {
    border: 4px solid #AADDFF !important;
    background: linear-gradient(135deg, #f0f8ff 0%, #e5f3ff 100%) !important;
    box-shadow: 0 8px 24px rgba(170, 221, 255, 0.35) !important;
}
.ul-hub-card.featured::before { height: 10px; }
.ul-hub-card-icon {
    font-size: 68px !important; margin-bottom: 20px; display: block; text-align: center;
    filter: drop-shadow(0 4px 10px rgba(170, 221, 255, 0.5)); transition: transform 0.3s ease;
}
.ul-hub-card:hover .ul-hub-card-icon { transform: scale(1.15) rotate(5deg); }

/* =========================================================
   UL LEGAL NAV
========================================================= */
.ul-legal-nav { background: #fff; padding: 15px 0; margin: 0 0 30px 0; }
.ul-legal-nav-title { font-size: 12px; font-weight: 700; color: #1a3a52; margin: 0 0 12px 0; text-transform: uppercase; letter-spacing: 0.5px; }
.ul-legal-pills { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ul-legal-pill {
    display: inline-block; padding: 10px 20px;
    background: linear-gradient(135deg, #f0f8ff 0%, #e5f3ff 100%);
    border: 2px solid #1a3a52; border-radius: 999px; color: #1a3a52;
    text-decoration: none; font-weight: 600; font-size: 14px; transition: all 0.3s ease; white-space: nowrap;
}
.ul-legal-pill:hover {
    background: linear-gradient(135deg, #d4ebff 0%, #c2e0ff 100%);
    transform: translateY(-2px); box-shadow: 0 4px 12px rgba(26, 58, 82, 0.2);
    text-decoration: none; color: #1a3a52; border-color: #2d5a7b;
}
.ul-legal-pill.active {
    background: linear-gradient(135deg, #1a3a52 0%, #2d5a7b 100%);
    border-color: #1a3a52; color: #fff; box-shadow: 0 2px 8px rgba(26, 58, 82, 0.3);
}
@media (max-width: 768px) {
    .ul-legal-pills { gap: 8px; }
    .ul-legal-pill { padding: 8px 16px; font-size: 13px; }
}

/* =========================================================
   UL CTA BOXES
========================================================= */
.ul-cta-box { border-radius: 16px; padding: 40px; margin: 40px 0; text-align: center; box-shadow: 0 6px 20px rgba(0,0,0,0.1); }
.ul-cta-box.free-signup { background: linear-gradient(135deg, #10b981 0%, #059669 100%); border: 3px solid #047857; }
.ul-cta-box.upgrade { background: linear-gradient(135deg, #AADDFF 0%, #77bbee 100%); border: 3px solid #5599dd; }
.ul-cta-box.legal-signup { background: linear-gradient(135deg, #AADDFF 0%, #77bbee 100%); border: 3px solid #5599dd; }
.ul-cta-box h3 { color: #fff; font-size: 28px; margin: 0 0 12px 0; font-weight: 800; }
.ul-cta-box p { color: #fff; font-size: 18px; margin: 0 0 24px 0; opacity: 0.95; }
.ul-cta-box .subtext { font-size: 14px; margin: 12px 0 0 0; opacity: 0.85; }
.ul-cta-box ul { text-align: left; max-width: 500px; margin: 20px auto 30px; list-style: none; padding: 0; }
.ul-cta-box ul li { color: #fff; font-size: 16px; margin-bottom: 10px; padding-left: 28px; position: relative; }
.ul-cta-box ul li:before { content: "✓"; position: absolute; left: 0; font-weight: bold; font-size: 18px; }
.ul-cta-button {
    display: inline-block; background: #fff; padding: 16px 48px; border-radius: 12px;
    font-size: 18px; font-weight: 700; text-decoration: none; transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.ul-cta-box.free-signup .ul-cta-button { color: #059669; }
.ul-cta-box.upgrade .ul-cta-button { color: #5599dd; }
.ul-cta-box.legal-signup .ul-cta-button { color: #5599dd; }
.ul-cta-button:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.25); text-decoration: none; }
@media (max-width: 768px) {
    .ul-cta-box { padding: 30px 20px; }
    .ul-cta-box h3 { font-size: 24px; }
    .ul-cta-button { padding: 14px 32px; font-size: 16px; }
}

/* =========================================================
   UL LEGAL HUB CARDS
========================================================= */
.ul-legalhub-card {
    background: #fff !important; border: 3px solid #AADDFF !important; border-radius: 16px !important;
    padding: 32px !important; text-decoration: none !important; color: inherit;
    transition: all 0.3s ease !important; box-shadow: 0 6px 16px rgba(170, 221, 255, 0.25) !important;
    display: block; position: relative; overflow: hidden;
}
.ul-legalhub-card::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 8px;
    background: linear-gradient(90deg, #AADDFF 0%, #77bbee 50%, #AADDFF 100%);
    transform: scaleX(0); transition: transform 0.4s ease;
}
.ul-legalhub-card:hover::before { transform: scaleX(1); }
.ul-legalhub-card:hover {
    transform: translateY(-12px) !important; box-shadow: 0 20px 40px rgba(170, 221, 255, 0.5) !important;
    border-color: #77bbee !important; text-decoration: none !important;
    background: linear-gradient(135deg, #ffffff 0%, #f0f8ff 100%) !important;
}
.ul-legalhub-card-icon {
    font-size: 68px !important; margin-bottom: 20px; display: block; text-align: center;
    filter: drop-shadow(0 4px 10px rgba(170, 221, 255, 0.5)); transition: transform 0.3s ease;
}
.ul-legalhub-card:hover .ul-legalhub-card-icon { transform: scale(1.15) rotate(5deg); }
.ul-legalhub-card h3 { font-size: 24px; color: #AADDFF; margin: 0 0 12px 0; font-weight: 800; text-align: center; }
.ul-legalhub-card p { color: #555; margin: 0; font-size: 16px; line-height: 1.6; text-align: center; }

/* =========================================================
   UL HUB HERO & CONTENT SECTIONS
========================================================= */
.ul-hub-hero {
    text-align: center; margin-bottom: 60px; padding: 40px;
    background: linear-gradient(135deg, #f0f8ff 0%, #e5f3ff 100%);
    border-radius: 24px; border: 3px solid #AADDFF;
}
.ul-hub-hero h1 { font-size: 48px; color: #1a1a2e; margin: 0 0 20px 0; font-weight: 800; }
.ul-hub-hero p { font-size: 20px; color: #555; margin: 0 auto; max-width: 700px; line-height: 1.6; }

.ul-disclaimer-box {
    background: #fff3cd; border: 2px solid #ffc107; border-radius: 16px;
    padding: 30px 40px; margin-bottom: 50px; box-shadow: 0 4px 12px rgba(255, 193, 7, 0.15);
}
.ul-disclaimer-box h3 { color: #856404; font-size: 22px; font-weight: 700; margin: 0 0 15px 0; text-align: center; }
.ul-disclaimer-box p { color: #856404; font-size: 16px; line-height: 1.8; margin: 0 0 12px 0; text-align: center; }
.ul-disclaimer-box p:last-child { margin: 0; }

.ul-hub-disclaimer { background: #fff3cd; border: 2px solid #ffc107; border-radius: 12px; padding: 24px 32px; margin-top: 40px; }
.ul-hub-disclaimer h4 { margin: 0 0 10px 0; color: #856404; font-size: 18px; font-weight: 700; }
.ul-hub-disclaimer p { margin: 0; color: #856404; font-size: 14px; line-height: 1.6; }

/* =========================================================
   UL SEO CONTENT
========================================================= */
.ul-seo-content {
    max-width: 900px; margin: 60px auto 0; padding: 40px;
    background: #fff; border-radius: 16px; border: 2px solid #e5e7eb;
}
.ul-seo-content h2 { font-size: 32px; color: #1a1a2e; margin: 0 0 20px 0; font-weight: 800; }
.ul-seo-content h3 { font-size: 24px; color: #AADDFF; margin: 30px 0 15px 0; font-weight: 700; }
.ul-seo-content p { color: #555; font-size: 17px; line-height: 1.8; margin: 0 0 20px 0; }
.ul-seo-content ul { margin: 15px 0 25px 30px; }
.ul-seo-content ul li { color: #555; font-size: 17px; line-height: 1.8; margin-bottom: 10px; }

@media (max-width: 768px) {
    .ul-hub-hero { padding: 40px 24px; }
    .ul-hub-hero h1 { font-size: 32px; }
    .ul-hub-hero p { font-size: 18px; }
    .ul-disclaimer-box { padding: 24px; }
    .ul-seo-content { padding: 24px; }
    .ul-seo-content h2 { font-size: 26px; }
}

/* =========================================================
   UL PRICING PAGE
========================================================= */
.ul-pricing-page .ul-pricing-hero {
    background: #fff; border: 2px solid #E5F3FF; border-radius: 16px;
    padding: 18px; box-shadow: 0 10px 26px rgba(0,0,0,.08); margin: 10px 0 22px;
}
.ul-pricing-page .ul-badge {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px;
    border-radius: 999px; font-weight: 800; font-size: 12px;
    border: 1px solid rgba(0,0,0,.12); background: #E5F3FF; color: #0a3d5f;
}
.ul-pricing-page a.ul-cta-btn,
.ul-pricing-page a.ul-cta-btn:visited {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px 18px; border-radius: 999px; background: var(--ul-blue);
    color: #000; font-weight: 800; text-decoration: none; border: 2px solid #77bbee;
    box-shadow: 0 6px 18px rgba(100,180,255,0.25);
}
.ul-pricing-page a.ul-cta-btn:hover { filter: brightness(0.97); transform: translateY(-1px); text-decoration: none; }

/* =========================================================
   MOBILE RESPONSIVE
========================================================= */
@media (max-width: 768px) {
    .ul-header-top { padding: 10px 16px; }
    .ul-header-logo img { max-height: 60px; }
    .ul-nav-toggle { display: block; }
    .ul-header-nav-inner { padding: 0; }
    .ul-nav-menu { display: none; flex-direction: column; }
    .ul-nav-menu.open { display: flex; }
    .ul-nav-menu > li > a { padding: 14px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .ul-nav-menu li ul.sub-menu { position: static; box-shadow: none; border: none; border-top: none; background: #0f1e38; border-radius: 0; }
    .ul-nav-menu li ul.sub-menu li a { padding: 12px 32px; color: #ccc; }
    .ul-nav-menu li ul.sub-menu { display: none; }
    .ul-nav-menu li.sub-open > ul.sub-menu { display: block; }
    .ul-footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
    .ul-footer-brand { grid-column: 1 / -1; align-items: center; text-align: center; }
    .ul-footer-bottom { margin: 0 -16px; }
    .ul-home-hero { height: 450px !important; }
    .ul-home-hero h1 { font-size: 30px !important; }
    .ul-home-hero h3 { font-size: 17px !important; }
    .ul-home-features-heading { margin-top: -100px !important; }
    .ul-home-features-heading h2 { font-size: 24px !important; }
    .ul-home-features-grid { grid-template-columns: 1fr !important; }
    .ul-home-features-cards { margin-bottom: -40px !important; }
    .ul-home-white-spacer { height: 60px !important; }
    .ul-home-who-grid { grid-template-columns: 1fr !important; }
    .ul-home-features-cards, .ul-home-who { padding: 0 16px !important; }
    .ul-home-who { padding: 40px 16px !important; }
    .ul-home-map { padding: 20px 16px 40px 16px !important; }
}
@media (max-width: 480px) {
    .ul-footer-inner { grid-template-columns: 1fr; }
    .ul-header-auth .ul-auth-btn { padding: 6px 14px; font-size: 12px; }
}
/* Everything from Customizer CSS not already in style.css */

/* =========================================================
   CONTACT PAGE
========================================================= */
.ul-contact-banner {
    background: #fffbeb;
    border: 2px solid #fbbf24;
    border-radius: 12px;
    padding: 18px 48px 18px 20px;
    margin-bottom: 28px;
    position: relative;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}
.ul-contact-banner h3 {
    font-size: 1.05em;
    font-weight: 700;
    color: #92400e;
    margin: 0 0 6px;
}
.ul-contact-banner p {
    color: #78350f;
    font-size: 0.92em;
    margin: 0;
    line-height: 1.6;
}
.ul-contact-banner-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    font-size: 1.2em;
    color: #92400e;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    opacity: 0.7;
}
.ul-contact-banner-close:hover { opacity: 1; }

.ul-contact-wrap {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 20px 60px;
}
.ul-contact-card {
    background: #fff;
    border: 2px solid #AADDFF;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 80, 160, 0.08);
}
.ul-contact-header {
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%);
    padding: 28px 32px 24px;
}
.ul-contact-logo {
    display: block;
    font-size: 0.9em;
    font-weight: 700;
    color: #0d2240;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.ul-contact-header h2 {
    font-size: 1.8em;
    font-weight: 700;
    color: #0d2240;
    margin: 0 0 6px;
}
.ul-contact-header p {
    color: #1a3a5c;
    font-size: 0.92em;
    margin: 0;
    line-height: 1.5;
}
.ul-contact-body { padding: 30px 32px; }
.ul-contact-info {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 26px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e5f0ff;
}
.ul-contact-info-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.92em;
    color: #1a3a5c;
}
.ul-contact-info-item a {
    color: #0d2240;
    font-weight: 600;
    text-decoration: none;
}
.ul-contact-info-item a:hover { text-decoration: underline; }
.ul-contact-field { margin-bottom: 18px; }
.ul-contact-field label {
    display: block;
    font-size: 0.8em;
    font-weight: 700;
    color: #1a3a5c;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}
.ul-contact-field input,
.ul-contact-field select,
.ul-contact-field textarea {
    width: 100%;
    padding: 11px 14px;
    border: 2px solid #d0e8ff;
    border-radius: 8px;
    font-size: 0.95em;
    color: #111827;
    background: #f5faff;
    box-sizing: border-box;
    transition: border-color 0.2s, background 0.2s;
}
.ul-contact-field input:focus,
.ul-contact-field select:focus,
.ul-contact-field textarea:focus {
    outline: none;
    border-color: #AADDFF;
    background: #fff;
}
.ul-contact-field textarea { resize: vertical; min-height: 130px; }
.ul-contact-field input[type="file"] { padding: 8px 10px; cursor: pointer; }
.ul-contact-file-hint { font-size: 0.8em; color: #6b7280; margin-top: 5px; }
.ul-contact-file-wrap { display: none; }
.ul-contact-file-wrap.visible { display: block; }
.ul-contact-error {
    background: #fef2f2;
    border: 2px solid #fca5a5;
    border-radius: 8px;
    padding: 12px 16px;
    color: #dc2626;
    font-size: 0.9em;
    margin-bottom: 14px;
}
.ul-contact-success {
    background: #f0fdf4;
    border: 2px solid #86efac;
    border-radius: 8px;
    padding: 16px 18px;
    color: #166534;
    font-size: 0.93em;
    line-height: 1.6;
    margin-bottom: 14px;
}
.ul-contact-success strong { display: block; font-size: 1.05em; margin-bottom: 4px; }
.ul-contact-btn {
    width: 100%;
    padding: 13px;
    background: linear-gradient(135deg, #AADDFF, #66bbff);
    color: #0d2240;
    border: none;
    border-radius: 8px;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
    margin-top: 6px;
}
.ul-contact-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(100, 180, 255, 0.4);
}
.ul-contact-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.ul-contact-socials {
    display: flex;
    gap: 16px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #e5f0ff;
    font-size: 0.88em;
}
.ul-contact-socials a { color: #1a3a5c; font-weight: 600; text-decoration: none; }
.ul-contact-socials a:hover { text-decoration: underline; }

/* =========================================================
   GLOBAL ASTRA OVERRIDES
========================================================= */
.ast-separate-container .ast-article-single { padding: 0 !important; }
.site-content { padding-top: 0 !important; }
#primary { padding-top: 0 !important; margin-top: 0 !important; }

body.home, body.page-id-3827 { background-color: #fff !important; }
body.home .site-content,
body.page-id-3827 .site-content,
body.home article,
body.page-id-3827 article { background-color: #fff !important; }

body.home .ast-article-single > header,
body.page-id-3827 .ast-article-single > header,
body.home .entry-header,
body.page-id-3827 .entry-header { display: none !important; }

body.home #content,
body.page-id-3827 #content,
body.home .entry-content,
body.page-id-3827 .entry-content { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }

/* =========================================================
   BLOG STYLING
========================================================= */
body.blog, body.archive, body.category, body.tag { background: #1B2A4A !important; }
body.blog .site-content,
body.archive .site-content,
body.category .site-content,
body.tag .site-content { background: #1B2A4A !important; padding: 40px 20px !important; }
body.blog article.post,
body.archive article.post,
body.category article.post,
body.tag article.post {
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    transition: all 0.3s ease !important;
    border: none !important;
}
body.blog article.post:hover,
body.archive article.post:hover,
body.category article.post:hover,
body.tag article.post:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,0.25) !important;
}
/* =========================================================
   ITEMS IN CUSTOMIZER CSS NOT IN STYLE.CSS
========================================================= */

/* =========================================================
   ADMIN BAR FIX
========================================================= */
html body.admin-bar {
    margin-top: 0 !important;
}
html body.admin-bar #wpadminbar {
    position: fixed !important;
}
html {
    margin-top: 0 !important;
}
header.ul-site-header {
    margin-top: 0 !important;
}
body.admin-bar header.ul-site-header {
    margin-top: 0 !important;
}
#wpadminbar {
    position: fixed !important;
}

/* =========================================================
   FOOTER (Customizer version - has extra classes)
========================================================= */
.ul-footer {
    background-color: #1a1a1a;
    color: #ffffff;
    padding: 60px 20px 20px;
    margin-top: 80px;
}
.ul-footer-container {
    max-width: 1200px;
    margin: 0 auto;
}
.ul-footer-logo {
    text-align: center;
    margin-bottom: 40px;
}
.footer-logo-img {
    max-width: 200px;
    height: auto;
}
.ul-footer-columns {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.ul-footer-column {
    flex: 1;
    min-width: 200px;
}
.footer-heading {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    margin-top: 0;
}
.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-menu li {
    margin-bottom: 12px;
}
.footer-menu a {
    color: #cccccc;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}
.footer-menu a:hover { color: #ffffff; }
.social-icons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #333333;
    border-radius: 50%;
    color: #ffffff;
    transition: all 0.3s ease;
}
.social-icons a:hover {
    background-color: #555555;
    transform: translateY(-3px);
}
.social-icons svg { width: 20px; height: 20px; }
.ul-footer-copyright {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid #333333;
    max-width: 1200px;
    margin: 0 auto;
}
.ul-footer-copyright p { color: #888888; font-size: 14px; margin: 0; }

@media (max-width: 768px) {
    .ul-footer { padding: 40px 20px 20px; }
    .ul-footer-columns { flex-direction: column; gap: 30px; }
    .ul-footer-column { min-width: 100%; }
    .footer-heading { font-size: 16px; }
    .social-icons { justify-content: flex-start; }
}
@media (max-width: 480px) {
    .ul-footer-logo { margin-bottom: 30px; }
    .footer-logo-img { max-width: 150px; }
    .social-icons a { width: 36px; height: 36px; }
    .social-icons svg { width: 18px; height: 18px; }
}

/* =========================================================
   HOMEPAGE FEATURE CARD DECORATIVE BORDERS
   (Customizer has ::before/::after, style.css doesn't)
========================================================= */
.ul-home-feature-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border: 2px solid #666 !important;
    border-left: 2px solid #666 !important;
    border-radius: 12px !important;
    pointer-events: none !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 100%, 0 100%, 0 50%) !important;
}
.ul-home-feature-card::after {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    right: -4px !important;
    bottom: -4px !important;
    border: 2px solid #2a6496 !important;
    border-radius: 15px !important;
    pointer-events: none !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 100%, 0 100%, 0 50%) !important;
}/* =========================================================
   ASTRA OVERRIDES
========================================================= */
.ast-separate-container .ast-article-single { padding: 0 !important; }
.site-content { padding-top: 0 !important; }
#primary { padding-top: 0 !important; margin-top: 0 !important; }

body.home, body.page-id-3827 { background-color: #fff !important; }
body.home .site-content,
body.page-id-3827 .site-content,
body.home article,
body.page-id-3827 article { background-color: #fff !important; }

body.home .ast-article-single > header,
body.page-id-3827 .ast-article-single > header,
body.home .entry-header,
body.page-id-3827 .entry-header { display: none !important; }

body.home #content,
body.page-id-3827 #content,
body.home .entry-content,
body.page-id-3827 .entry-content { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }

/* =========================================================
   ADMIN BAR FIX
========================================================= */
html { margin-top: 0 !important; }
html body.admin-bar { margin-top: 0 !important; }
html body.admin-bar #wpadminbar { position: fixed !important; }
#wpadminbar { position: fixed !important; }
header.ul-site-header { margin-top: -32px !important; }
body.admin-bar header.ul-site-header { margin-top: -32px !important; }

/* =========================================================
   BLOG / ARCHIVE STYLING
========================================================= */
body.blog, body.archive, body.category, body.tag { background: #1B2A4A !important; }
body.blog .site-content,
body.archive .site-content,
body.category .site-content,
body.tag .site-content { background: #1B2A4A !important; padding: 40px 20px !important; }
body.blog article.post,
body.archive article.post,
body.category article.post,
body.tag article.post {
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    transition: all 0.3s ease !important;
    border: none !important;
}
body.blog article.post:hover,
body.archive article.post:hover,
body.category article.post:hover,
body.tag article.post:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,0.25) !important;
}

/* =========================================================
   HOMEPAGE FEATURE CARD DECORATIVE BORDERS
========================================================= */
.ul-home-feature-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border: 2px solid #666 !important;
    border-left: 2px solid #666 !important;
    border-radius: 12px !important;
    pointer-events: none !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 100%, 0 100%, 0 50%) !important;
}
.ul-home-feature-card::after {
    content: '' !important;
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    right: -4px !important;
    bottom: -4px !important;
    border: 2px solid #2a6496 !important;
    border-radius: 15px !important;
    pointer-events: none !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 100%, 0 100%, 0 50%) !important;
}

/* =========================================================
   FOOTER EXTRA CLASSES
========================================================= */
.ul-footer {
    background-color: #1a1a1a;
    color: #ffffff;
    padding: 60px 20px 20px;
    margin-top: 80px;
}
.ul-footer-container {
    max-width: 1200px;
    margin: 0 auto;
}
.ul-footer-logo {
    text-align: center;
    margin-bottom: 40px;
}
.footer-logo-img {
    max-width: 200px;
    height: auto;
}
.ul-footer-columns {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.ul-footer-column {
    flex: 1;
    min-width: 200px;
}
.footer-heading {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    margin-top: 0;
}
.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-menu li { margin-bottom: 12px; }
.footer-menu a {
    color: #cccccc;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}
.footer-menu a:hover { color: #ffffff; }
.social-icons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #333333;
    border-radius: 50%;
    color: #ffffff;
    transition: all 0.3s ease;
}
.social-icons a:hover {
    background-color: #555555;
    transform: translateY(-3px);
}
.social-icons svg { width: 20px; height: 20px; }
.ul-footer-copyright {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid #333333;
    max-width: 1200px;
    margin: 0 auto;
}
.ul-footer-copyright p { color: #888888; font-size: 14px; margin: 0; }

@media (max-width: 768px) {
    .ul-footer { padding: 40px 20px 20px; }
    .ul-footer-columns { flex-direction: column; gap: 30px; }
    .ul-footer-column { min-width: 100%; }
    .footer-heading { font-size: 16px; }
    .social-icons { justify-content: flex-start; }
}
@media (max-width: 480px) {
    .ul-footer-logo { margin-bottom: 30px; }
    .footer-logo-img { max-width: 150px; }
    .social-icons a { width: 36px; height: 36px; }
    .social-icons svg { width: 18px; height: 18px; }
}

/* =========================================================
   CONTACT PAGE
========================================================= */
.ul-contact-banner {
    background: #fffbeb;
    border: 2px solid #fbbf24;
    border-radius: 12px;
    padding: 18px 48px 18px 20px;
    margin-bottom: 28px;
    position: relative;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}
.ul-contact-banner h3 { font-size: 1.05em; font-weight: 700; color: #92400e; margin: 0 0 6px; }
.ul-contact-banner p { color: #78350f; font-size: 0.92em; margin: 0; line-height: 1.6; }
.ul-contact-banner-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    font-size: 1.2em;
    color: #92400e;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    opacity: 0.7;
}
.ul-contact-banner-close:hover { opacity: 1; }
.ul-contact-wrap { max-width: 680px; margin: 0 auto; padding: 0 20px 60px; }
.ul-contact-card {
    background: #fff;
    border: 2px solid #AADDFF;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 80, 160, 0.08);
}
.ul-contact-header {
    background: linear-gradient(135deg, #AADDFF 0%, #88ccff 100%);
    padding: 28px 32px 24px;
}
.ul-contact-logo {
    display: block;
    font-size: 0.9em;
    font-weight: 700;
    color: #0d2240;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.ul-contact-header h2 { font-size: 1.8em; font-weight: 700; color: #0d2240; margin: 0 0 6px; }
.ul-contact-header p { color: #1a3a5c; font-size: 0.92em; margin: 0; line-height: 1.5; }
.ul-contact-body { padding: 30px 32px; }
.ul-contact-info {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 26px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e5f0ff;
}
.ul-contact-info-item { display: flex; align-items: center; gap: 7px; font-size: 0.92em; color: #1a3a5c; }
.ul-contact-info-item a { color: #0d2240; font-weight: 600; text-decoration: none; }
.ul-contact-info-item a:hover { text-decoration: underline; }
.ul-contact-field { margin-bottom: 18px; }
.ul-contact-field label {
    display: block;
    font-size: 0.8em;
    font-weight: 700;
    color: #1a3a5c;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}
.ul-contact-field input,
.ul-contact-field select,
.ul-contact-field textarea {
    width: 100%;
    padding: 11px 14px;
    border: 2px solid #d0e8ff;
    border-radius: 8px;
    font-size: 0.95em;
    color: #111827;
    background: #f5faff;
    box-sizing: border-box;
    transition: border-color 0.2s, background 0.2s;
}
.ul-contact-field input:focus,
.ul-contact-field select:focus,
.ul-contact-field textarea:focus { outline: none; border-color: #AADDFF; background: #fff; }
.ul-contact-field textarea { resize: vertical; min-height: 130px; }
.ul-contact-field input[type="file"] { padding: 8px 10px; cursor: pointer; }
.ul-contact-file-hint { font-size: 0.8em; color: #6b7280; margin-top: 5px; }
.ul-contact-file-wrap { display: none; }
.ul-contact-file-wrap.visible { display: block; }
.ul-contact-error {
    background: #fef2f2;
    border: 2px solid #fca5a5;
    border-radius: 8px;
    padding: 12px 16px;
    color: #dc2626;
    font-size: 0.9em;
    margin-bottom: 14px;
}
.ul-contact-success {
    background: #f0fdf4;
    border: 2px solid #86efac;
    border-radius: 8px;
    padding: 16px 18px;
    color: #166534;
    font-size: 0.93em;
    line-height: 1.6;
    margin-bottom: 14px;
}
.ul-contact-success strong { display: block; font-size: 1.05em; margin-bottom: 4px; }
.ul-contact-btn {
    width: 100%;
    padding: 13px;
    background: linear-gradient(135deg, #AADDFF, #66bbff);
    color: #0d2240;
    border: none;
    border-radius: 8px;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
    margin-top: 6px;
}
.ul-contact-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(100, 180, 255, 0.4); }
.ul-contact-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.ul-contact-socials {
    display: flex;
    gap: 16px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #e5f0ff;
    font-size: 0.88em;
}
.ul-contact-socials a { color: #1a3a5c; font-weight: 600; text-decoration: none; }
.ul-contact-socials a:hover { text-decoration: underline; }