/* ==========================================================================
   jQuery UI Theme (custom, no external assets)
   File: /Content/jQueryUI.css
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root{
    --ui-primary:#0a58ca;
    --ui-primary-600:#0a58ca;
    --ui-primary-700:#094eb3;
    --ui-primary-800:#084499;
    --ui-bg:#ffffff;
    --ui-elev:#ffffff;
    --ui-text:#0f172a;
    --ui-muted:#64748b;
    --ui-border:#e2e8f0;
    --ui-border-strong:#cbd5e1;
    --ui-focus:#94c0ff;
    --ui-shadow:0 8px 16px rgba(2,6,23,.12);
    --ui-shadow-lg:0 24px 48px rgba(2,6,23,.16);
    --ui-radius:10px;
    --ui-radius-sm:6px;
  }
  
  body[data-appearance="dark"], @media (prefers-color-scheme: dark){
    :root{
      --ui-bg:#0b1220;
      --ui-elev:#0f172a;
      --ui-text:#e5e7eb;
      --ui-muted:#94a3b8;
      --ui-border:#243042;
      --ui-border-strong:#334155;
      --ui-focus:#3b82f6;
      --ui-shadow:0 8px 16px rgba(0,0,0,.35);
      --ui-shadow-lg:0 24px 48px rgba(0,0,0,.45);
    }
  }
  
  /* ---------- Base / Widget ---------- */
  .ui-widget{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--ui-text)}
  .ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font:inherit}
  .ui-widget-content{border:1px solid var(--ui-border);background:var(--ui-elev);color:var(--ui-text);border-radius:var(--ui-radius)}
  .ui-widget-header{border-bottom:1px solid var(--ui-border);background:linear-gradient(0deg,rgba(255,255,255,.0),rgba(255,255,255,.0));color:var(--ui-text);}
  
  /* States */
  .ui-state-default{background:#fff;color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}
  .ui-state-hover{background:#f8fafc;border-color:var(--ui-border-strong);color:var(--ui-text)}
  .ui-state-active{background:rgba(10,88,202,.08);border-color:var(--ui-primary);color:var(--ui-primary)}
  .ui-state-disabled,.ui-widget-content .ui-state-disabled{opacity:.5;pointer-events:none}
  
  /* Corners & helpers */
  .ui-corner-all{border-radius:var(--ui-radius)}
  .ui-corner-top{border-top-left-radius:var(--ui-radius);border-top-right-radius:var(--ui-radius)}
  .ui-corner-bottom{border-bottom-left-radius:var(--ui-radius);border-bottom-right-radius:var(--ui-radius)}
  .ui-helper-hidden{display:none}
  .ui-helper-clearfix::after{content:"";display:block;clear:both}
  .ui-front{z-index:1005}
  
  /* Focus ring */
  .ui-widget :focus{outline:2px solid var(--ui-focus);outline-offset:2px}
  
  /* ---------- Icons (CSS mask, no images) ---------- */
  .ui-icon{display:inline-block;width:16px;height:16px;line-height:1;color:currentColor;background:currentColor;
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
    -webkit-mask-size:16px 16px;mask-size:16px 16px;vertical-align:middle}
  
  /* Common glyphs */
  .ui-icon-triangle-1-n{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10 5l6 8H4z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10 5l6 8H4z'/%3E%3C/svg%3E");}
  .ui-icon-triangle-1-s{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10 15L4 7h12z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M10 15L4 7h12z'/%3E%3C/svg%3E");}
  .ui-icon-triangle-1-e{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M12 10L6 4v12z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M12 10L6 4v12z'/%3E%3C/svg%3E");}
  .ui-icon-triangle-1-w{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M8 10l6 6V4z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M8 10l6 6V4z'/%3E%3C/svg%3E");}
  .ui-icon-circle-triangle-e{color:var(--ui-primary)}
  .ui-icon-circle-triangle-w{color:var(--ui-primary)}
  .ui-icon-closethick{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.3 5.7 12 12l6.3 6.3-1.4 1.4L10.6 13.4 4.3 19.7 2.9 18.3 9.2 12 2.9 5.7 4.3 4.3l6.3 6.3 6.3-6.3z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.3 5.7 12 12l6.3 6.3-1.4 1.4L10.6 13.4 4.3 19.7 2.9 18.3 9.2 12 2.9 5.7 4.3 4.3l6.3 6.3 6.3-6.3z'/%3E%3C/svg%3E");}
  .ui-icon-check{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M7.5 13.5 3.5 9.5 2 11l5.5 5.5L18 6l-1.5-1.5z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M7.5 13.5 3.5 9.5 2 11l5.5 5.5L18 6l-1.5-1.5z'/%3E%3C/svg%3E");}
  
  /* ---------- Button ---------- */
  .ui-button,.ui-widget .ui-button{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--ui-border);
    background:#fff;color:var(--ui-text);
    border-radius:var(--ui-radius-sm);
    padding:8px 12px;cursor:pointer;box-shadow:0 1px 2px rgba(2,6,23,.06);
    transition:filter .15s ease,transform .05s ease,background .15s ease,border-color .15s ease
  }
  .ui-button:hover{background:#f8fafc;border-color:var(--ui-border-strong)}
  .ui-button:active{transform:translateY(1px)}
  .ui-button.ui-state-active{background:var(--ui-primary);border-color:var(--ui-primary);color:#fff}
  .ui-button .ui-icon{color:currentColor}
  .ui-button-icon-only{width:36px;height:36px;justify-content:center;padding:0}
  .ui-button-icon-only .ui-icon{margin:0}
  .ui-button-text-only .ui-button-text{padding:0}
  .ui-buttonset .ui-button{margin-right:4px}
  .ui-button-disabled,.ui-state-disabled .ui-button{opacity:.5;pointer-events:none}
  
  /* ---------- Menu / Autocomplete ---------- */
  .ui-menu{list-style:none;margin:0;padding:6px;border:1px solid var(--ui-border);background:var(--ui-elev);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
  .ui-menu .ui-menu-item{margin:0}
  .ui-menu .ui-menu-item-wrapper{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:var(--ui-text)}
  .ui-menu .ui-state-active{background:rgba(10,88,202,.08);color:var(--ui-primary)}
  .ui-autocomplete{position:absolute;top:0;left:0;z-index:1006}
  
  /* ---------- Dialog ---------- */
  .ui-dialog{position:fixed;padding:0;border:1px solid var(--ui-border);background:var(--ui-elev);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-lg)}
  .ui-dialog .ui-dialog-titlebar{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:12px 14px;border-bottom:1px solid var(--ui-border)
  }
  .ui-dialog .ui-dialog-title{margin:0;font-size:16px;font-weight:600}
  .ui-dialog .ui-dialog-titlebar-close{
    position:relative;border:1px solid var(--ui-border);border-radius:999px;background:#fff;width:34px;height:34px;display:grid;place-items:center
  }
  .ui-dialog .ui-dialog-titlebar-close .ui-icon{color:var(--ui-muted)}
  .ui-dialog .ui-dialog-titlebar-close:hover{filter:brightness(1.03)}
  .ui-dialog .ui-dialog-content{padding:16px}
  .ui-dialog .ui-dialog-buttonpane{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--ui-border)}
  .ui-widget-overlay{position:fixed;inset:0;background:rgba(2,6,23,.5);z-index:1000}
  
  /* ---------- Tooltip ---------- */
  .ui-tooltip{position:absolute;z-index:1007;max-width:320px;border:1px solid var(--ui-border);background:var(--ui-elev);color:var(--ui-text);border-radius:8px;padding:8px 10px;box-shadow:var(--ui-shadow);font-size:14px}
  
  /* ---------- Datepicker ---------- */
  .ui-datepicker{width:280px;padding:10px;border:1px solid var(--ui-border);background:var(--ui-elev);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
  .ui-datepicker .ui-datepicker-header{
    position:relative;display:flex;align-items:center;justify-content:space-between;
    padding:6px 8px;border-bottom:1px solid var(--ui-border);margin-bottom:6px
  }
  .ui-datepicker .ui-datepicker-title{font-weight:600}
  .ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{
    width:32px;height:32px;border:1px solid var(--ui-border);border-radius:999px;background:#fff;display:grid;place-items:center;color:var(--ui-primary);cursor:pointer
  }
  .ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{filter:brightness(1.03)}
  .ui-datepicker .ui-datepicker-prev .ui-icon{mask-size:14px 14px;-webkit-mask-size:14px 14px}
  .ui-datepicker .ui-datepicker-next .ui-icon{mask-size:14px 14px;-webkit-mask-size:14px 14px}
  .ui-datepicker table{width:100%;border-collapse:collapse;margin:4px 0}
  .ui-datepicker th{padding:6px 4px;text-align:center;font-weight:600;color:var(--ui-muted)}
  .ui-datepicker td{padding:2px}
  .ui-datepicker td span,.ui-datepicker td a{
    display:block;text-align:center;padding:8px 0;border-radius:8px;
    border:1px solid transparent;color:var(--ui-text);text-decoration:none
  }
  .ui-datepicker .ui-state-default{background:#fff;border-color:transparent}
  .ui-datepicker .ui-state-hover{background:#f8fafc;border-color:var(--ui-border)}
  .ui-datepicker .ui-state-active{background:var(--ui-primary);color:#fff;border-color:var(--ui-primary)}
  .ui-datepicker .ui-datepicker-today a{box-shadow:inset 0 0 0 2px var(--ui-primary)}
  .ui-datepicker .ui-datepicker-unselectable span{opacity:.45}
  
  /* ---------- Slider ---------- */
  .ui-slider{position:relative;border:1px solid var(--ui-border);background:#f8fafc;border-radius:999px;height:6px}
  .ui-slider .ui-slider-range{position:absolute;height:100%;background:var(--ui-primary);border-radius:inherit}
  .ui-slider .ui-slider-handle{
    position:absolute;top:50%;transform:translate(-50%,-50%);
    width:18px;height:18px;border-radius:999px;background:#fff;border:1px solid var(--ui-border-strong);box-shadow:var(--ui-shadow)
  }
  .ui-slider-horizontal .ui-slider-handle{top:50%}
  .ui-slider-vertical{width:6px;height:120px}
  .ui-slider-vertical .ui-slider-range{width:100%}
  .ui-slider-vertical .ui-slider-handle{left:50%}
  
  /* ---------- Progressbar ---------- */
  .ui-progressbar{position:relative;height:10px;background:#f1f5f9;border:1px solid var(--ui-border);border-radius:999px;overflow:hidden}
  .ui-progressbar .ui-progressbar-value{background:var(--ui-primary);height:100%;border-radius:inherit;transition:width .2s ease}
  
  /* ---------- Tabs ---------- */
  .ui-tabs{border:0;background:transparent}
  .ui-tabs .ui-tabs-nav{display:flex;gap:8px;border-bottom:1px solid var(--ui-border);padding:0 0 8px;margin:0 0 12px}
  .ui-tabs .ui-tabs-tab{list-style:none;margin:0}
  .ui-tabs .ui-tabs-anchor{
    display:inline-block;padding:8px 12px;border-radius:8px;color:var(--ui-text);text-decoration:none
  }
  .ui-tabs .ui-state-active .ui-tabs-anchor,
  .ui-tabs .ui-tabs-anchor:focus{background:rgba(10,88,202,.08);color:var(--ui-primary)}
  .ui-tabs .ui-tabs-panel{padding:0}
  
  /* ---------- Accordion ---------- */
  .ui-accordion .ui-accordion-header{
    margin:0;border:1px solid var(--ui-border);border-radius:8px;background:#fff;color:var(--ui-text);
    padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer
  }
  .ui-accordion .ui-accordion-header.ui-state-active{border-color:var(--ui-primary);background:rgba(10,88,202,.06)}
  .ui-accordion .ui-accordion-content{
    border:1px solid var(--ui-border);border-top:0;border-radius:0 0 8px 8px;padding:12px;background:var(--ui-elev)
  }
  
  /* ---------- Selectmenu ---------- */
  .ui-selectmenu-button{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    width:100%;padding:10px 12px;border:1px solid var(--ui-border);border-radius:8px;background:#fff;color:var(--ui-text)
  }
  .ui-selectmenu-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ui-selectmenu-icon{color:var(--ui-muted)}
  .ui-selectmenu-menu{
    position:absolute;z-index:1006;margin-top:6px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-elev);box-shadow:var(--ui-shadow);overflow:auto;max-height:240px
  }
  .ui-selectmenu-menu .ui-menu{border:0;box-shadow:none;padding:6px}
  
  /* ---------- Spinner ---------- */
  .ui-spinner{display:inline-flex;align-items:stretch;border:1px solid var(--ui-border);border-radius:8px;overflow:hidden;background:#fff}
  .ui-spinner-input{border:0;padding:8px 10px;min-width:80px;background:transparent;color:var(--ui-text);outline:none}
  .ui-spinner-button{width:34px;border-left:1px solid var(--ui-border);display:grid;place-items:center;background:#fff;cursor:pointer}
  .ui-spinner-up .ui-icon{transform:rotate(180deg)}
  .ui-spinner .ui-state-hover{background:#f8fafc}
  
  /* ---------- Resizable / Draggable handles (minimal) ---------- */
  .ui-resizable-handle{position:absolute;background:transparent}
  .ui-resizable-e{right:0;top:0;width:10px;height:100%;cursor:e-resize}
  .ui-resizable-s{left:0;bottom:0;width:100%;height:10px;cursor:s-resize}
  .ui-resizable-se{right:0;bottom:0;width:14px;height:14px;cursor:se-resize}
  .ui-draggable-handle{cursor:move}
  
  /* ---------- Z-index integration with site ---------- */
  .video-player .ui-widget,.modal-window .ui-widget{z-index:1005}
  
  /* ---------- Small tweaks for your blocks ---------- */
  .related-content .ui-tooltip{max-width:420px}
  .web-promo .ui-button{background:#fff}
  
  /* End of /Content/jQueryUI.css */
  