/* Clean Theme Customizer Add-on - public/admin shared */
:root{
  --theme-public-header:#ffffff;
  --theme-public-footer:#103c68;
  --theme-public-bg:#fffaf3;
  --theme-public-text:#1f2933;
  --theme-public-button:#cda873;
  --theme-public-button-text:#ffffff;
  --theme-public-bar:#103c68;
  --theme-admin-header:#ffffff;
  --theme-admin-sidebar:#103c68;
  --theme-admin-bg:#f6f7fb;
  --theme-admin-text:#1f2933;
  --theme-admin-button:#cda873;
  --theme-admin-button-text:#ffffff;
  --theme-admin-bar:#103c68;
}

body.theme-public{
  background:var(--theme-public-bg)!important;
  color:var(--theme-public-text)!important;
}
body.theme-public header,
body.theme-public .site-header,
body.theme-public .topbar,
body.theme-public .navbar{
  background:var(--theme-public-header)!important;
  color:var(--theme-public-text)!important;
}
body.theme-public footer,
body.theme-public .site-footer,
body.theme-public .footer{
  background:var(--theme-public-footer)!important;
  color:#fff!important;
}
body.theme-public .bar,
body.theme-public .section-title:after,
body.theme-public .hero-bar{
  background:var(--theme-public-bar)!important;
}
body.theme-public button,
body.theme-public .btn,
body.theme-public .primary-btn,
body.theme-public .cta,
body.theme-public a.button{
  background:var(--theme-public-button)!important;
  color:var(--theme-public-button-text)!important;
  border-color:var(--theme-public-button)!important;
}
body.theme-public a{color:var(--theme-public-bar)}

body.theme-admin,
body.admin-theme-applied{
  background:var(--theme-admin-bg)!important;
  color:var(--theme-admin-text)!important;
}
body.theme-admin header,
body.theme-admin .admin-header,
body.theme-admin .topbar,
body.theme-admin .top-header,
body.admin-theme-applied header,
body.admin-theme-applied .admin-header,
body.admin-theme-applied .topbar,
body.admin-theme-applied .top-header{
  background:var(--theme-admin-header)!important;
  color:var(--theme-admin-text)!important;
}
body.theme-admin aside,
body.theme-admin .sidebar,
body.theme-admin .admin-sidebar,
body.theme-admin .side-menu,
body.admin-theme-applied aside,
body.admin-theme-applied .sidebar,
body.admin-theme-applied .admin-sidebar,
body.admin-theme-applied .side-menu{
  background:var(--theme-admin-sidebar)!important;
}
body.theme-admin .bar,
body.theme-admin .section-title:after,
body.theme-admin .admin-bar,
body.admin-theme-applied .bar,
body.admin-theme-applied .section-title:after,
body.admin-theme-applied .admin-bar{
  background:var(--theme-admin-bar)!important;
}
body.theme-admin button,
body.theme-admin .btn,
body.theme-admin .primary-btn,
body.theme-admin .save-btn,
body.admin-theme-applied button,
body.admin-theme-applied .btn,
body.admin-theme-applied .primary-btn,
body.admin-theme-applied .save-btn{
  background:var(--theme-admin-button)!important;
  color:var(--theme-admin-button-text)!important;
  border-color:var(--theme-admin-button)!important;
}

.theme-control-panel{
  margin:18px 0;
  padding:18px;
  border:1px solid rgba(16,60,104,.12);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,60,104,.08);
  direction:rtl;
}
.theme-control-panel h3{margin:0 0 12px;font-size:1.15rem;color:#103c68}
.theme-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.theme-control-group{padding:14px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fafafa}
.theme-control-group h4{margin:0 0 10px;font-size:1rem;color:#103c68}
.theme-color-field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}
.theme-color-field label{font-weight:700;font-size:.9rem}
.theme-color-field input[type="color"]{width:48px;height:36px;border:0;background:transparent;cursor:pointer}
.theme-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.theme-actions button{border:0;border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:800}
.theme-save{background:#103c68!important;color:#fff!important}
.theme-reset{background:#eee!important;color:#222!important}
.theme-message{margin-top:10px;font-weight:700;color:#0f7b3d}

/* Extra admin theme targets */
:root{
  --theme-admin-logo-section:#103c68;
  --theme-admin-popup-header:#103c68;
}
body.theme-admin #adminFixedTopLogo,
body.theme-admin .admin-fixed-top-logo,
body.theme-admin .admin-sidebar-logo-fixed,
body.theme-admin #adminSidebarLogoFixed,
body.theme-admin .admin-sidebar-logo,
body.theme-admin .sidebar-brand,
body.theme-admin #adminSidebarLogo,
body.theme-admin #adminLogo,
body.admin-theme-applied #adminFixedTopLogo,
body.admin-theme-applied .admin-fixed-top-logo,
body.admin-theme-applied .admin-sidebar-logo-fixed,
body.admin-theme-applied #adminSidebarLogoFixed,
body.admin-theme-applied .admin-sidebar-logo,
body.admin-theme-applied .sidebar-brand,
body.admin-theme-applied #adminSidebarLogo,
body.admin-theme-applied #adminLogo{
  background:var(--theme-admin-logo-section)!important;
}
body.theme-admin .modal-header,
body.theme-admin .popup-header,
body.theme-admin .dialog-header,
body.theme-admin .admin-modal-header,
body.theme-admin .theme-popup-head,
body.theme-admin [class*="modal"] header,
body.theme-admin [class*="popup"] header,
body.admin-theme-applied .modal-header,
body.admin-theme-applied .popup-header,
body.admin-theme-applied .dialog-header,
body.admin-theme-applied .admin-modal-header,
body.admin-theme-applied .theme-popup-head,
body.admin-theme-applied [class*="modal"] header,
body.admin-theme-applied [class*="popup"] header{
  background:var(--theme-admin-popup-header)!important;
  color:#fff!important;
}
body.theme-admin .modal-header *,
body.theme-admin .popup-header *,
body.theme-admin .dialog-header *,
body.theme-admin .admin-modal-header *,
body.theme-admin .theme-popup-head *,
body.admin-theme-applied .modal-header *,
body.admin-theme-applied .popup-header *,
body.admin-theme-applied .dialog-header *,
body.admin-theme-applied .admin-modal-header *,
body.admin-theme-applied .theme-popup-head *{
  color:#fff!important;
}

/* Visual identity palette extractor inside theme popup */
.visual-identity-box{
  margin-bottom:14px;
  background:linear-gradient(135deg, rgba(16,60,104,.06), rgba(205,168,115,.10))!important;
}
.theme-small-note{
  margin:0 0 12px;
  color:#667085;
  font-size:.92rem;
  line-height:1.7;
}
.visual-identity-file{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:4px 0 10px;
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  color:#475467;
  border:1px solid rgba(16,60,104,.12);
  font-size:.85rem;
}
.visual-identity-upload input[type="file"]{
  width:100%;
  padding:12px;
  border:1px dashed rgba(16,60,104,.35);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}
.brand-palette-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:12px 0;
}
.brand-palette-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:82px;
  height:38px;
  padding:0 10px;
  border-radius:999px;
  color:#fff;
  font-size:.75rem;
  font-weight:900;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35), 0 6px 14px rgba(15,23,42,.10);
}
.brand-preset-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.brand-preset-actions button{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:900;
  background:var(--theme-admin-button,#cda873)!important;
  color:var(--theme-admin-button-text,#fff)!important;
  box-shadow:0 8px 18px rgba(16,60,104,.14);
}
.visual-identity-status{
  margin-top:10px;
}
