/*
  NOTE: The :root block has been removed from this file.
  The single source of truth for all variables is the inline style
  generated by PHP from the Customizer settings.
*/

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{display:flex;flex-direction:column;font-family:var(--vexona-font);font-size:14px;background-color:var(--vexona-color-background);color:var(--vexona-color-text-main);-webkit-font-smoothing:antialiased;}
body.no-scroll{overflow:hidden;height:100vh}

/* ─────── HEADER ─────── */
.vexona-app-header{position:fixed;top:0;left:0;right:0;height:var(--vexona-header-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;background:var(--vexona-color-surface);border-bottom:1px solid var(--vexona-color-text-inverted-subtle);z-index:200;transition: transform 0.3s ease-in-out;}
.vexona-header-left{display:flex;align-items:center;gap:12px}
.vexona-menu-btn{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--vexona-color-text-inverted);}
.vexona-logo-link,.custom-logo-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;}
.vexona-logo-link:hover,.custom-logo-link:hover{opacity:.7;}
img.custom-logo,.vexona-logo-link img{height:calc(var(--vexona-header-h) - 16px);width:auto;max-height:100%;object-fit:contain;display:block;border-radius:var(--vexona-logo-radius);}
.vexona-title-group{display:flex;flex-direction:column; color: var(--vexona-color-text-inverted);}
.vexona-title{font-size:var(--vexona-title-size);font-weight:700}
.vexona-slogan{font-size:var(--vexona-slogan-size);color:var(--vexona-color-text-inverted-subtle);display:var(--vexona-slogan-display)}
.vexona-title-link{text-decoration:none;color:inherit;}
.vexona-header-center{flex:1;display:flex;justify-content:center}
.vexona-header-right{display:flex;align-items:center;gap: 4px;}
.vexona-user-btn {display:inline-flex;align-items:center;gap:8px;background:none;border:none;font-size:16px;font-weight:500;color:var(--vexona-color-text-inverted);cursor:pointer;padding:6px 12px;border-radius:20px;transition:background-color 0.2s ease;}
.vexona-user-btn:hover {background-color:var(--vexona-color-hover);}
@media (max-width: 768px) {.vexona-tools-label-text {display: none;}}
.vexona-user-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:var(--vexona-color-surface);border:1px solid var(--vexona-color-text-inverted-subtle);border-radius:8px;list-style:none;padding:6px;min-width:200px;display:none;z-index:300}
.vexona-user-dropdown.show{display:block}

/* ─────── SEARCH ─────── */
.vexona-search-wrapper {position:fixed;top:0;left:50%;transform:translateX(-50%);height:var(--vexona-header-h);display:flex;align-items:center;width:100%;max-width:400px;padding:0 16px;z-index:201;}
.vexona-search-wrapper .vexona-search-bar {display:flex; width: 100%;}
.vexona-search-wrapper input{flex:1;padding:6px 36px 6px 12px;border:1px solid var(--vexona-color-text-inverted-subtle);border-radius:20px;background-color:var(--vexona-color-background);color:var(--vexona-color-text-main);}
.vexona-search-wrapper .vexona-submit-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);cursor:pointer;font-size:18px;background:none;border:none;padding:6px 22px;color:var(--vexona-color-text-inverted);}
.vexona-search-wrapper .vexona-close-btn, .vexona-search-wrapper .vexona-search-suggestions { display: none; }

/* ─────── SIDEBAR ─────── */
.vexona-sidebar{position:fixed;left:0;top:var(--vexona-header-h);width:var(--vexona-w-closed);height:calc(100vh - var(--vexona-header-h));background:var(--vexona-color-surface);border-right:1px solid var(--vexona-color-text-inverted-subtle);transition:all .25s ease;z-index:250;display:flex;flex-direction:column;}
.vexona-sidebar-header { display: none; }
.vexona-sidebar-content { flex: 1; overflow-y: auto; padding: 8px;font-size:16px; }
.vexona-sidebar-content::-webkit-scrollbar{width:8px;background:var(--vexona-color-surface);}
.vexona-sidebar-content::-webkit-scrollbar-thumb{background:var(--vexona-color-text-inverted-subtle);border-radius:4px;}
.vexona-sidebar.expand,.vexona-sidebar.pinned{width:var(--vexona-w-open)}
.vexona-nav-item{margin-bottom: 4px;}
.vexona-nav-link{display:flex;align-items:center;gap:12px;padding:10px 16px;color:var(--vexona-color-text-inverted);border-radius:6px;text-decoration:none;white-space:nowrap}
.vexona-sidebar ul,
.vexona-user-dropdown {
    list-style: none;
    padding: 0;
    margin: 0;
}
.vexona-user-dropdown .vexona-nav-link {padding-left: 16px;padding-right: 16px;}
.vexona-nav-link:hover{background:var(--vexona-color-hover)}
.vexona-nav-link:hover .vexona-icon i {color: var(--vexona-color-primary);}
.vexona-nav-link:hover .label {color: var(--vexona-color-text-inverted);}
.vexona-nav-item.active .vexona-nav-link, .current-menu-item > .vexona-nav-link {font-weight:700;color:var(--vexona-color-text-inverted);background-color:transparent!important;}
.vexona-nav-item.active .vexona-nav-link .vexona-icon i, .current-menu-item > .vexona-nav-link .vexona-icon i {color: var(--vexona-color-primary);}
.vexona-icon{width:24px;text-align:center;font-size:18px}
.vexona-home-pin{width:28px;height:28px;border:none;background:transparent;font-size:14px;border-radius:50%;cursor:pointer; margin-left: auto;color:var(--vexona-color-text-inverted);}
.vexona-home-pin:hover{background:var(--vexona-color-hover)}
.vexona-home-pin.pinned{color:var(--vexona-color-primary)}
.vexona-section-heading{display:flex;align-items:center;gap:10px;padding:12px 16px 4px;font-size:13px;font-weight:600;color:var(--vexona-color-text-inverted-subtle);text-transform:uppercase;cursor:pointer;white-space:nowrap;min-height:40px}
hr{border:none;border-top:1px solid var(--vexona-color-text-inverted-subtle);margin:8px 0}

/* =========================================================================
 *  REVISED COLLAPSIBLE & SUBMENU STYLES
 * ========================================================================= */

.vexona-section-heading .vexona-chevron { margin-left: auto; font-size: 14px; transition: transform .2s ease; }
.vexona-section-heading:not(.is-open) .vexona-chevron { transform: rotate(-90deg); }
.vexona-nav-collapsible { overflow: hidden; max-height: 0; transition: max-height .25s ease-in-out; }
.vexona-nav-collapsible.is-open { max-height: 500px; }
.has-submenu { flex-wrap: wrap; }
.has-submenu > .vexona-nav-link { width: 100%; }
.vexona-submenu-chevron { margin-left: auto; font-size: 12px; color: var(--vexona-color-text-inverted-subtle); padding: 4px; transition: transform 0.25s ease; transform: rotate(-90deg); }
.has-submenu:not(.collapsed) .vexona-submenu-chevron {
    transform: rotate(0);
}
ul.sub-menu {
    list-style: none;
    overflow: hidden;
    background-color: var(--vexona-color-hover);
    border-radius: 8px;
    margin-top: 4px;
    padding: 0 8px;
    width: 100%;
    max-height: 500px; /* Default open height */
    transition: max-height 0.25s ease-in-out, margin-top 0.25s ease-in-out, padding-top 0.25s ease-in-out, padding-bottom 0.25s ease-in-out;
}
.has-submenu.collapsed > ul.sub-menu {
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
}
ul.sub-menu .vexona-nav-link { padding: 8px 12px 8px 24px; font-size: 15px; }
ul.sub-menu .vexona-nav-link:hover { background: var(--vexona-color-hover); }
ul.sub-menu .vexona-icon { width: 20px; font-size: 16px; }
.vexona-sidebar:not(.open):not(.pinned):not(.expand) .sub-menu { display: none; }


@media (min-width:769px){
  .vexona-sidebar:not(.open):not(.pinned):not(.expand) .vexona-sidebar-content .label,
  .vexona-sidebar:not(.open):not(.pinned):not(.expand) .vexona-sidebar-content .vexona-chevron,
  .vexona-sidebar:not(.open):not(.pinned):not(.expand) .vexona-sidebar-content .vexona-home-pin {
    opacity: 0; visibility: hidden; transition: opacity .1s ease;
  }
}

/* ─────── MAIN CONTENT & FOOTER ─────── */
.vexona-main{flex:1;margin-left:var(--vexona-w-closed);padding:calc(var(--vexona-header-h) + 24px) 24px 100px;transition: margin-left .25s ease;}
.vexona-sidebar.pinned~.vexona-main{margin-left:var(--vexona-w-open)}
.vexona-footer{display:flex;align-items:center;padding:24px;background:var(--vexona-color-surface);border-top:1px solid var(--vexona-color-text-inverted-subtle);margin-left:var(--vexona-w-closed);transition: all .25s ease;}
.vexona-sidebar.pinned~.vexona-footer{margin-left:var(--vexona-w-open);}
.footer-links{margin:0;padding:0;list-style:none;display:flex;gap:24px;margin-right:auto;}
.footer-links a{color:var(--vexona-color-text-inverted);text-decoration:none;}
.footer-links a:hover{text-decoration:underline;}
ul.vexona-social-icons{margin:0 auto;display:flex;gap:16px;list-style:none;padding: 0;}
ul.vexona-social-icons a{font-size:18px;color:inherit;text-decoration:none; color: var(--vexona-color-text-inverted);}
ul.vexona-social-icons a:hover{color:var(--vexona-color-primary);}
.footer-brand{margin-left:auto;font-size:12px;color:var(--vexona-color-text-inverted-subtle);}
.vexona-fallback-link{background:var(--vexona-color-hover);font-weight:600;padding:8px 12px;border-radius:6px;}

/* =============================================================
 *  MOBILE & OVERLAY STYLES
 * ============================================================= */
@media (max-width: 768px) {
	.vexona-menu-btn { display: block; }
    .vexona-app-header.header-hidden { transform: translateY(-100%); }
	.vexona-title { font-size: 20px; }
	.vexona-footer { flex-direction: column; align-items: center; gap: 20px; padding-top: 24px; padding-bottom: 24px; }
	.footer-links, .vexona-social-icons, .footer-brand { margin: 0 !important; }
	.footer-links { flex-direction: column; align-items: center; gap: 16px; }
}
body.vexona-force-mobile .vexona-menu-btn { display: block !important; }
.vexona-sidebar.open {top:0!important;left:0!important;height:100vh!important;width:min(100%, 320px)!important;transform:translateX(0)!important;z-index:10000;}
@media (max-width: 768px) {
    .vexona-sidebar:not(.open) { transform: translateX(-100%); }
    .vexona-main { margin-left: 0 !important; }
    .vexona-footer { margin-left: 0 !important; }
}
body.vexona-force-mobile .vexona-sidebar:not(.open) {transform: translateX(-100%);}
.vexona-sidebar.open .vexona-sidebar-header {display:flex;align-items:center;justify-content:space-between;height:var(--vexona-header-h);padding:0 16px;border-bottom:1px solid var(--vexona-color-text-inverted-subtle);flex-shrink:0;}
.vexona-sidebar.open .vexona-close-btn { display: block; }
.vexona-close-btn { display: none; font-size: 24px; background: transparent; border: none; cursor: pointer; color: var(--vexona-color-text-inverted); padding: 8px; line-height: 1; }
.vexona-sidebar.open .vexona-sidebar-content {padding: 16px;}
.vexona-sidebar.open .vexona-home-pin { display: none !important; }
.vexona-sidebar.open .vexona-nav-link { font-size: 16px; padding: 12px 16px; gap: 20px; white-space: normal; }
.vexona-sidebar.open .vexona-section-heading { font-size: 14px; padding: 16px 16px 8px; white-space: normal; }
.vexona-sidebar.open hr { margin: 16px 0; }
body.vexona-force-mobile .vexona-main { margin-left: 0 !important; }
body.vexona-force-mobile .vexona-footer { left: 0 !important; width: 100% !important; }
body.no-scroll::after { content: ''; position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 9999; }
#vexona-mobile-search-btn {display: none;}
@media (max-width: 768px) {#vexona-mobile-search-btn {display: inline-flex;}}
@media (max-width: 768px) {
    .vexona-search-wrapper { position: static; transform: none; height: auto; max-width: none; padding: 0; }
    .vexona-search-wrapper input, .vexona-search-wrapper .vexona-submit-btn { display: none; }
    .vexona-search-wrapper.show { position: fixed; inset: 0; padding: 0 16px; background: var(--vexona-color-background); z-index: 10001; display: flex; flex-direction: column; align-items: center; gap: 32px; padding-top: var(--vexona-header-h); overflow-y: auto; }
    .vexona-search-wrapper.show .vexona-close-btn { display: block; position: absolute; top: 10px; right: 16px; }
    .vexona-search-wrapper.show .vexona-search-bar { display: flex; gap: 8px; width: 100%; max-width: 500px; }
    .vexona-search-wrapper.show input { display: block; flex: 1; padding: 14px 16px; font-size: 18px; border: 1px solid var(--vexona-color-text-subtle); border-radius: 8px; background-color:var(--vexona-color-surface);color:var(--vexona-color-text-main); }
    .vexona-search-wrapper.show .vexona-submit-btn { display: flex; align-items: center; justify-content: center; width: 56px; border: none; border-radius: 8px; background: var(--vexona-color-primary); color: #fff; cursor: pointer; position: static; transform: none; }
    .vexona-search-wrapper.show .vexona-search-suggestions { display: flex; gap: 24px; width: 100%; max-width: 500px; text-align: left; }
    .vexona-suggestion-column { flex: 1; }
    .vexona-suggestion-column h3 { font-size: 12px; font-weight: 700; color: var(--vexona-color-text-subtle); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }
    ul.vexona-suggestion-list { list-style: none; padding: 0; margin: 0; }
    ul.vexona-suggestion-list li a { display: block; padding: 10px 0; font-size: 18px; font-weight: 500; text-decoration: none; color: var(--vexona-color-text-main); border-radius: 0; background: none !important; transition: color 0.2s ease; }
    ul.vexona-suggestion-list li a:hover { color: var(--vexona-color-primary); }
}

/* =============================================================
 *  ACCESSIBILITY ENHANCEMENTS
 * ============================================================= */
.vexona-nav-link:focus-visible,
.vexona-user-btn:focus-visible,
.vexona-menu-btn:focus-visible,
.vexona-close-btn:focus-visible,
.vexona-home-pin:focus-visible,
.vexona-search-wrapper.show input:focus-visible,
.vexona-search-wrapper.show .vexona-submit-btn:focus-visible {
    outline: 2px solid var(--vexona-color-primary);
    outline-offset: 2px;
    border-radius: 4px;
}
.current-menu-ancestor > .vexona-nav-link {
    font-weight: 700;
    color: var(--vexona-color-text-inverted);
}
.current-menu-ancestor > .vexona-nav-link .vexona-icon i {
    color: var(--vexona-color-primary);
}


/* =============================================================
 *  ADMIN BAR SPACING FIX (REVISED & COMPLETE)
 * ============================================================= */

/* 
 * This variable will hold the height of the admin bar.
 * It defaults to 0 if the admin bar is not present.
 */
:root {
    --wp-admin--admin-bar--height: 0px;
}
body.admin-bar {
    --wp-admin--admin-bar--height: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        --wp-admin--admin-bar--height: 46px;
    }
}

/* Apply the variable to all fixed/absolute top elements */
/* Apply the variable to all fixed/absolute top elements */
.vexona-app-header,
.vexona-sidebar.open,
.vexona-search-wrapper {
    top: var(--wp-admin--admin-bar--height);
}
.vexona-sidebar {
    top: calc(var(--vexona-header-h) + var(--wp-admin--admin-bar--height));
    height: calc(100vh - var(--vexona-header-h) - var(--wp-admin--admin-bar--height));
}
.vexona-search-wrapper.show {
    padding-top: calc(var(--vexona-header-h) + var(--wp-admin--admin-bar--height));
}

/* Adjust the main content area's top padding */
.vexona-main {
    padding-top: calc(var(--vexona-header-h) + 24px);
}