/* CertWay Currency Switcher v1.2 — Native SELECT covers the entire shell; FOX handles the currency URL.
   This means the arrow, flag and icon areas are real select hit targets (no synthetic click). */
.cwcs-switcher {
  --cwcs-bg:#0b3279;--cwcs-text:#fff;--cwcs-border:#46b9fa;--cwcs-accent:#63c4ff;
  --cwcs-option-bg:#0a2e72;--cwcs-width:206px;--cwcs-mobile-width:150px;
  --cwcs-height:44px;--cwcs-font-size:14px;--cwcs-radius:12px;
  --cwcs-icon-size:18px;--cwcs-flag-size:24px;
  display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end;
  gap:8px;width:var(--cwcs-width);max-width:100%;vertical-align:middle;
  box-sizing:border-box;isolation:isolate;
}
.cwcs-switcher *, .cwcs-switcher *::before, .cwcs-switcher *::after{box-sizing:border-box}
.cwcs-switcher .cwcs-caption{color:var(--cwcs-text);font-size:12px;font-weight:600;white-space:nowrap}
.cwcs-switcher .cwcs-shell{
  --cwcs-entry-left:12px;
  min-width:0;width:100%;height:var(--cwcs-height);display:flex;flex:1 1 0;
  position:relative;align-items:center;gap:5px;padding:0 9px;
  background:var(--cwcs-bg);color:var(--cwcs-text);
  border:1px solid var(--cwcs-border);border-radius:var(--cwcs-radius);
  box-shadow:0 4px 14px rgba(1,11,43,.12),inset 0 1px 0 rgba(255,255,255,.08);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.cwcs-switcher .cwcs-shell:hover{border-color:var(--cwcs-accent);box-shadow:0 4px 15px rgba(39,164,246,.18)}
.cwcs-switcher .cwcs-shell:focus-within{outline:2px solid var(--cwcs-accent);outline-offset:2px}
.cwcs-switcher .cwcs-icon{
  flex:0 0 auto;width:calc(var(--cwcs-icon-size) + 10px);height:calc(var(--cwcs-icon-size) + 10px);
  border-radius:8px;display:flex;justify-content:center;align-items:center;
  background:rgba(99,196,255,.17);color:var(--cwcs-accent);pointer-events:none;
}
.cwcs-switcher .cwcs-icon svg{display:block;width:var(--cwcs-icon-size);height:var(--cwcs-icon-size)}
.cwcs-switcher .cwcs-flag{
  width:var(--cwcs-flag-size);height:calc(var(--cwcs-flag-size) * 0.72);
  flex:0 0 var(--cwcs-flag-size);display:flex;justify-content:center;align-items:center;
  border-radius:4px;overflow:hidden;background:rgba(255,255,255,.13);
  box-shadow:0 0 0 1px rgba(255,255,255,.17);pointer-events:none;
}
.cwcs-switcher .cwcs-flag img{display:block;width:100%;height:100%;object-fit:cover;border:0;margin:0;padding:0}
.cwcs-switcher .cwcs-flag .cwcs-flag-code{color:var(--cwcs-text);font-size:10px;letter-spacing:-.25px;font-weight:800;line-height:1}
.cwcs-switcher.cwcs-flag-square .cwcs-flag{border-radius:0}
.cwcs-switcher.cwcs-flag-circle .cwcs-flag{height:var(--cwcs-flag-size);border-radius:50%}
/* Reserve space for icons at the left, while keeping the HTML select above every decoration. */
.cwcs-switcher.cwcs-has-icon .cwcs-shell{--cwcs-entry-left:calc(var(--cwcs-icon-size) + 26px)}
.cwcs-switcher.cwcs-has-flag .cwcs-shell{--cwcs-entry-left:calc(var(--cwcs-flag-size) + 17px)}
.cwcs-switcher.cwcs-has-icon.cwcs-has-flag .cwcs-shell{--cwcs-entry-left:calc(var(--cwcs-icon-size) + var(--cwcs-flag-size) + 36px)}
.cwcs-switcher .cwcs-select-wrap{position:static;min-width:0;max-width:100%;flex:1 1 0}
.cwcs-switcher .cwcs-select-wrap select,
.cwcs-switcher .cwcs-select-wrap select.woocs_clean_select,
.cwcs-switcher .cwcs-select-wrap select.cwcs-fox-select {
  /* The full-size native select makes the WHOLE shell clickable, including its chevron. */
  display:block !important;position:absolute !important;
  top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  z-index:3 !important;width:100% !important;max-width:100% !important;
  height:100% !important;min-height:0 !important;
  border:0 !important;border-radius:inherit !important;outline:0 !important;
  background:transparent !important;background-image:none !important;color:var(--cwcs-text) !important;
  appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
  padding:0 21px 0 var(--cwcs-entry-left) !important;margin:0 !important;
  box-shadow:none !important;font-family:inherit !important;
  font-size:var(--cwcs-font-size) !important;line-height:1.2 !important;
  font-weight:650 !important;text-transform:none !important;
  cursor:pointer !important;letter-spacing:0 !important;
  text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box !important;
}
.cwcs-switcher .cwcs-select-wrap select option{color:var(--cwcs-text) !important;background-color:var(--cwcs-option-bg) !important}
.cwcs-switcher .cwcs-chevron{
  position:absolute;right:12px;top:50%;width:8px;height:8px;flex:0 0 8px;
  border-right:2px solid var(--cwcs-text);border-bottom:2px solid var(--cwcs-text);
  transform:translateY(-65%) rotate(45deg);opacity:.9;pointer-events:none;
}
.cwcs-switcher.cwcs-style-light .cwcs-shell{box-shadow:0 2px 10px rgba(4,28,76,.09)}
.cwcs-switcher.cwcs-style-transparent .cwcs-shell{background:transparent;border-color:var(--cwcs-border);box-shadow:none}
.cwcs-switcher.cwcs-style-transparent .cwcs-icon{background:transparent}
.cwcs-switcher .select2,.cwcs-switcher .chosen-container{max-width:100%}
.cwcs-missing{font-size:12px;color:#be2626}
@media(max-width:767px){
  .cwcs-switcher{width:var(--cwcs-mobile-width);gap:4px}
  .cwcs-switcher .cwcs-shell{padding:0 7px;gap:4px}
  .cwcs-switcher .cwcs-icon{width:calc(var(--cwcs-icon-size) + 5px);height:calc(var(--cwcs-icon-size) + 5px);border-radius:6px}
  .cwcs-switcher.cwcs-has-icon .cwcs-shell{--cwcs-entry-left:calc(var(--cwcs-icon-size) + 17px)}
  .cwcs-switcher.cwcs-has-flag .cwcs-shell{--cwcs-entry-left:calc(var(--cwcs-flag-size) + 13px)}
  .cwcs-switcher.cwcs-has-icon.cwcs-has-flag .cwcs-shell{--cwcs-entry-left:calc(var(--cwcs-icon-size) + var(--cwcs-flag-size) + 25px)}
  .cwcs-switcher .cwcs-select-wrap select{font-size:min(var(--cwcs-font-size),13px) !important;padding-right:18px !important}
  .cwcs-switcher .cwcs-chevron{width:6px;height:6px;right:9px}
  .cwcs-switcher .cwcs-caption{display:none}
}
@media(prefers-reduced-motion:reduce){.cwcs-switcher .cwcs-shell{transition:none}}

.cwcs-switcher.cwcs-loading .cwcs-shell{opacity:.72;cursor:progress}

/* v1.3 — flag menu replaces native option rendering (which cannot display images). */
.cwcs-switcher .cwcs-trigger{display:none}
.cwcs-switcher.cwcs-enhanced .cwcs-select-wrap select{opacity:0!important;pointer-events:none!important;z-index:-1!important}
.cwcs-switcher.cwcs-enhanced .cwcs-trigger{
  display:flex!important;position:absolute;inset:0;z-index:3;min-width:0;width:100%;height:100%;
  align-items:center;justify-content:flex-start;background:transparent!important;
  border:0!important;border-radius:inherit!important;outline:none;color:var(--cwcs-text)!important;
  box-shadow:none!important;margin:0!important;padding:0 25px 0 var(--cwcs-entry-left)!important;
  font-family:inherit;font-size:var(--cwcs-font-size)!important;font-weight:650;
  line-height:1.2;cursor:pointer;text-align:left;
}
.cwcs-switcher .cwcs-current-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
.cwcs-switcher.cwcs-enhanced .cwcs-trigger:focus-visible{outline:2px solid var(--cwcs-accent)!important;outline-offset:2px}
.cwcs-switcher.cwcs-enhanced .cwcs-chevron{z-index:2}
.cwcs-switcher.cwcs-open .cwcs-shell{border-color:var(--cwcs-accent);box-shadow:0 2px 12px rgba(30,147,240,.24)}
.cwcs-menu{position:fixed;z-index:2147483000;overflow-y:auto;overflow-x:hidden;
  border:1px solid #358add;border-radius:10px;background:var(--cwcs-menu-bg,#0a2e72);color:var(--cwcs-menu-text,#fff);
  box-shadow:0 15px 34px rgba(1,11,42,.32);padding:4px;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#72c6ff transparent}
.cwcs-menu[hidden]{display:none!important}
.cwcs-menu .cwcs-menu-option{display:flex!important;align-items:center;gap:10px;width:100%;min-height:41px;
  padding:7px 10px!important;margin:0!important;text-align:left;color:inherit!important;
  background:transparent!important;border:0!important;border-radius:6px!important;box-shadow:none!important;
  font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;white-space:nowrap}
.cwcs-menu .cwcs-menu-option:hover,.cwcs-menu .cwcs-menu-option:focus-visible{background:#185dc0!important;outline:none}
.cwcs-menu .cwcs-menu-option[aria-selected="true"]{background:#134eac!important}
.cwcs-menu-flag{display:flex;align-items:center;justify-content:center;flex:0 0 var(--cwcs-menu-flag-width,26px);width:var(--cwcs-menu-flag-width,26px);height:calc(var(--cwcs-menu-flag-width,26px) * .72);overflow:hidden;border-radius:3px;
  background:rgba(255,255,255,.1)}
.cwcs-menu-flag img{display:block;width:100%;height:100%;object-fit:cover;border:0;margin:0}
.cwcs-menu-label{flex:1 1 0;overflow:hidden;text-overflow:ellipsis}
.cwcs-menu-check{opacity:0;font-weight:900;color:#a9e4ff}
.cwcs-menu-option[aria-selected="true"] .cwcs-menu-check{opacity:1}
.cwcs-option-placeholder{font-size:9px}
.cwcs-screenreader{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.cwcs-switcher.cwcs-enhanced .cwcs-trigger{padding-right:20px!important;font-size:min(var(--cwcs-font-size),13px)!important}}

.cwcs-menu.cwcs-hide-flags .cwcs-menu-flag{display:none}
.cwcs-menu.cwcs-menu-flag-square .cwcs-menu-flag{border-radius:0}
.cwcs-menu.cwcs-menu-flag-circle .cwcs-menu-flag{height:var(--cwcs-menu-flag-width,26px);border-radius:50%}
.cwcs-menu .cwcs-menu-option:hover,.cwcs-menu .cwcs-menu-option:focus-visible,.cwcs-menu .cwcs-menu-option[aria-selected="true"]{color:#fff!important}

/* v1.4: make Elementor's narrow Shortcode widget stop clamping user-configured width.
   Width is the BUTTON width, not button+caption. Specificity is intentional. */
body .cwcs-switcher:not(.cwcs-preview-switcher){
  display:inline-flex!important;flex:0 0 auto!important;
  width:max-content!important;max-width:none!important;overflow:visible!important;
  align-items:center!important;white-space:nowrap;
}
body .cwcs-switcher:not(.cwcs-preview-switcher) .cwcs-shell{
  width:var(--cwcs-width)!important;min-width:var(--cwcs-width)!important;
  max-width:none!important;flex:0 0 var(--cwcs-width)!important;
}
/* Preview uses the same shell dimensions as the frontend. */
.cwcs-preview-switcher{width:max-content!important;max-width:none!important}
.cwcs-preview-switcher .cwcs-shell{
  width:var(--cwcs-width)!important;min-width:var(--cwcs-width)!important;
  flex:0 0 var(--cwcs-width)!important;
}
/* Menu is portaled under document.body and its dimensions come from CSS settings. */
body .cwcs-menu{
  display:grid;gap:2px;padding:5px;box-sizing:border-box;
  width:var(--cwcs-dropdown-width,178px);
  max-height:none!important;overflow:visible!important;
  scrollbar-width:none;box-shadow:0 12px 28px rgba(1,11,42,.25);
}
body .cwcs-menu[hidden]{display:none!important}
body .cwcs-menu .cwcs-menu-option{
  min-width:0;min-height:var(--cwcs-row-height,30px);height:var(--cwcs-row-height,30px);
  padding:4px 9px!important;gap:8px;font-size:12.5px;line-height:1.1;
}
body .cwcs-menu .cwcs-menu-flag{flex-shrink:0}
body .cwcs-menu .cwcs-menu-check{margin-left:auto}
body .cwcs-menu .cwcs-menu-label{flex:1;min-width:0}
@media(max-width:767px){
  body .cwcs-switcher:not(.cwcs-preview-switcher) .cwcs-shell{
    width:var(--cwcs-mobile-width)!important;min-width:var(--cwcs-mobile-width)!important;
    flex-basis:var(--cwcs-mobile-width)!important;
  }
  .cwcs-preview-switcher .cwcs-shell{
    width:var(--cwcs-mobile-width)!important;min-width:var(--cwcs-mobile-width)!important;
    flex-basis:var(--cwcs-mobile-width)!important;
  }
}
/* An AJAX failure must be visible, not a silent apparent currency change. */
body .cwcs-switcher .cwcs-feedback:not([hidden]){
  display:block!important;position:absolute!important;z-index:2147482000!important;
  top:calc(100% + 6px);right:0;max-width:310px;min-width:190px;
  background:#fff4e8;color:#743509;border:1px solid #e3a762;
  border-radius:7px;padding:9px 12px;font:600 12px/1.4 Arial,sans-serif;
  box-shadow:0 5px 18px rgba(0,0,0,.16);white-space:normal;
}
body .cwcs-switcher:not(.cwcs-preview-switcher){position:relative!important;}
