/* HYS Article Tools 2.1 — scoped, monochrome article interactions. */
.hys-at-root{
  --hys-at-black:#111111;
  --hys-at-ink:#1f1f1f;
  --hys-at-copy:#3f3f3f;
  --hys-at-muted:#666666;
  --hys-at-line:#d7d7d7;
  --hys-at-line-strong:#8a8a8a;
  --hys-at-soft:#f5f5f5;
  --hys-at-softer:#fafafa;
  --hys-at-white:#ffffff;
  --hys-at-shadow:0 14px 34px rgba(17,17,17,.09);
  width:100%;
  max-width:100%;
  min-width:0;
  margin:clamp(24px,4vw,44px) 0;
  color:var(--hys-at-copy);
  font-family:inherit!important;
  line-height:1.6;
  container-name:hys-at;
  container-type:inline-size;
  accent-color:var(--hys-at-black);
}
.hys-at-root,.hys-at-root *,.hys-at-root *::before,.hys-at-root *::after{box-sizing:border-box}
.hys-at-root button,.hys-at-root input,.hys-at-root select,.hys-at-root textarea{font:inherit!important;accent-color:var(--hys-at-black)}
.hys-at-root img,.hys-at-root svg,.hys-at-root video,.hys-at-root iframe{max-width:100%}
.hys-at-root [hidden]{display:none!important}
.hys-at-root a,.hys-at-root button,.hys-at-root input,.hys-at-root select{max-width:100%}
.hys-at-root a{color:var(--hys-at-ink);text-decoration-color:var(--hys-at-line-strong)}
.hys-at-root a:hover{color:var(--hys-at-black);text-decoration-color:var(--hys-at-black)}
.hys-at-root :where(a,button,input,select,[tabindex]):focus-visible{
  outline:2px solid var(--hys-at-black)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}
.hys-at-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Heading. */
.hys-at-heading{margin:0 0 18px}
.hys-at-title{margin:0!important;color:var(--hys-at-ink)!important;font-size:clamp(22px,2.4vw,32px)!important;line-height:1.25!important;letter-spacing:0}
.hys-at-intro{max-width:76ch;margin-top:8px;color:var(--hys-at-muted);font-size:clamp(14px,1.4vw,17px)}
.hys-at-intro>*:first-child{margin-top:0}
.hys-at-intro>*:last-child{margin-bottom:0}
.hys-at-control-label,.hys-at-field-label{display:block;margin:0 0 8px;color:var(--hys-at-ink);font-size:14px;font-weight:700;line-height:1.4}

/* Shared controls. */
.hys-at-native-select,.hys-at-input,.hys-at-combobox{
  display:block;
  width:100%;
  min-width:0;
  min-height:50px;
  margin:0!important;
  padding:11px 44px 11px 14px!important;
  border:1px solid var(--hys-at-line-strong)!important;
  border-radius:8px!important;
  background:var(--hys-at-white)!important;
  color:var(--hys-at-ink)!important;
  font-size:15px!important;
  line-height:1.4!important;
  box-shadow:none!important;
}
.hys-at-input{padding-right:14px!important}
.hys-at-native-select{appearance:auto!important;-webkit-appearance:menulist!important;color-scheme:light}
.hys-at-native-select.hys-at-native-enhanced{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.hys-at-input:disabled,.hys-at-native-select:disabled,.hys-at-combobox:disabled{background:#eeeeee!important;color:#737373!important;cursor:not-allowed}
.hys-at-number-wrap{position:relative;display:flex;min-width:0;align-items:stretch}
.hys-at-number-wrap .hys-at-input{padding-right:62px!important}
.hys-at-unit{position:absolute;top:50%;right:13px;max-width:48px;overflow:hidden;color:var(--hys-at-muted);font-size:13px;font-weight:700;line-height:1;transform:translateY(-50%);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}

/* Plugin-owned combobox/listbox. No native open-state styling is relied upon. */
.hys-at-listbox-host{position:relative;width:100%;min-width:0}
.hys-at-combobox{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer}
.hys-at-combobox-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hys-at-combobox-arrow{width:9px;height:9px;flex:0 0 9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.hys-at-combobox[aria-expanded="true"]{border-color:var(--hys-at-black)!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}
.hys-at-combobox[aria-expanded="true"] .hys-at-combobox-arrow{transform:translateY(3px) rotate(225deg)}
.hys-at-listbox{
  position:absolute;
  z-index:40;
  top:calc(100% - 1px);
  right:0;
  left:0;
  width:auto;
  max-width:100%;
  max-height:min(320px,48vh);
  margin:0!important;
  padding:5px!important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  list-style:none!important;
  border:1px solid var(--hys-at-black);
  border-radius:0 0 8px 8px;
  background:var(--hys-at-white);
  box-shadow:var(--hys-at-shadow);
}
.hys-at-option{display:block;margin:0!important;padding:10px 11px;border-radius:5px;color:var(--hys-at-ink);font-size:14px;line-height:1.35;overflow-wrap:anywhere;cursor:pointer}
.hys-at-option+.hys-at-option{margin-top:2px!important}
.hys-at-option:hover,.hys-at-option.is-active{background:#e6e6e6;color:var(--hys-at-black)}
.hys-at-option[aria-selected="true"]{background:var(--hys-at-black);color:var(--hys-at-white);font-weight:700}
.hys-at-option[aria-disabled="true"]{background:transparent;color:#929292;cursor:not-allowed}

/* Buttons. */
.hys-at-button{
  display:inline-flex!important;
  min-height:46px;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:100%;
  padding:10px 18px!important;
  border:1px solid var(--hys-at-black)!important;
  border-radius:7px!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.25!important;
  text-align:center;
  text-decoration:none!important;
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.hys-at-button-primary{background:var(--hys-at-black)!important;color:var(--hys-at-white)!important}
.hys-at-button-secondary,.hys-at-button-text{background:var(--hys-at-white)!important;color:var(--hys-at-black)!important}
.hys-at-button:hover{transform:translateY(-1px)}
.hys-at-button-primary:hover{background:#333333!important;color:var(--hys-at-white)!important}
.hys-at-button-secondary:hover,.hys-at-button-text:hover{background:#ededed!important;color:var(--hys-at-black)!important}
.hys-at-button:disabled{border-color:#a8a8a8!important;background:#dedede!important;color:#747474!important;cursor:not-allowed;transform:none}

/* Switcher. Panels intentionally remain visible without JS. */
.hys-at-switcher{width:100%;max-width:100%;min-width:0}
.hys-at-switcher-control{width:100%;max-width:100%;min-width:0}
.hys-at-panels{width:100%;max-width:100%;min-width:0;margin-top:12px;border:1px solid var(--hys-at-line);border-radius:10px;background:var(--hys-at-white);box-shadow:0 6px 24px rgba(17,17,17,.05);overflow:hidden}
.hys-at-panel{width:100%;max-width:100%;min-width:0;padding:clamp(18px,3vw,30px)}
.hys-at-panel+.hys-at-panel{border-top:1px solid var(--hys-at-line)}
.hys-at-switcher.is-enhanced .hys-at-panel[hidden]{display:none!important}
.hys-at-switch-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,38px);align-items:center;min-width:0}
.hys-at-switch-content.no-image{grid-template-columns:1fr}
.hys-at-switch-content.hys-at-image-right .hys-at-switch-media{order:2}
.hys-at-switch-media{min-width:0;margin:0}
.hys-at-switch-media img{display:block;width:100%;max-height:440px;object-fit:contain;border:1px solid var(--hys-at-line);border-radius:8px;background:var(--hys-at-soft)}
.hys-at-switch-copy,.hys-at-richtext,.hys-at-shortcode-content{min-width:0;overflow-wrap:anywhere}
.hys-at-panel-title{margin:0 0 8px!important;color:var(--hys-at-ink)!important;font-size:clamp(20px,2.1vw,27px)!important;line-height:1.32!important}
.hys-at-panel-subtitle{margin:0 0 14px!important;color:var(--hys-at-muted);font-weight:650}
.hys-at-richtext>*:first-child,.hys-at-shortcode-content>*:first-child{margin-top:0}
.hys-at-richtext>*:last-child,.hys-at-shortcode-content>*:last-child{margin-bottom:0}
.hys-at-inline-cta,.hys-at-item-products{margin-top:22px}

/* Locally scrollable data tables never widen the page. */
.hys-at-table-wrap{width:100%;max-width:100%;margin:22px 0 0;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--hys-at-line);border-radius:8px;background:var(--hys-at-white);-webkit-overflow-scrolling:touch}
.hys-at-table{width:100%;min-width:640px;margin:0!important;border:0!important;border-collapse:collapse;color:var(--hys-at-ink);font-size:14px;line-height:1.5}
.hys-at-table th,.hys-at-table td{padding:12px 13px;border-right:1px solid var(--hys-at-line);border-bottom:1px solid var(--hys-at-line);vertical-align:top;text-align:left;overflow-wrap:anywhere}
.hys-at-table th:last-child,.hys-at-table td:last-child{border-right:0}
.hys-at-table tr:last-child>*{border-bottom:0}
.hys-at-table thead th,.hys-at-table tbody th{background:var(--hys-at-soft);font-weight:750}

/* Selector. */
.hys-at-selector{width:100%;max-width:100%;min-width:0;padding:clamp(16px,2.8vw,24px);border:1px solid var(--hys-at-line);border-radius:10px;background:var(--hys-at-white);box-shadow:0 8px 28px rgba(17,17,17,.05)}
.hys-at-selector-form{width:100%;max-width:100%;min-width:0}
.hys-at-form-status{min-height:1px;margin:0 0 12px;color:var(--hys-at-muted);font-size:13px}
.hys-at-form-status:empty{display:none}
.hys-at-form-status.is-error,.hys-at-error{padding:12px 14px;border:1px solid var(--hys-at-line-strong);border-left:4px solid var(--hys-at-black);border-radius:7px;background:var(--hys-at-soft);color:var(--hys-at-ink);font-weight:650}
.hys-at-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;width:100%;min-width:0}
.hys-at-field{min-width:0;margin:0;padding:0;border:0}
.hys-at-field-dimensions{grid-column:1/-1;padding:16px;border:1px solid var(--hys-at-line);border-radius:8px;background:var(--hys-at-softer)}
.hys-at-field.is-disabled{opacity:.68}
.hys-at-field-help{margin:7px 0 0!important;color:var(--hys-at-muted);font-size:12px;line-height:1.45}
.hys-at-validation{margin:7px 0 0!important;color:var(--hys-at-ink);font-size:12px;font-weight:750}
.hys-at-field.has-error :where(.hys-at-input,.hys-at-combobox,.hys-at-segmented,.hys-at-dimensions-grid){border-color:var(--hys-at-black)!important;box-shadow:inset 0 0 0 1px var(--hys-at-black)!important}
.hys-at-segmented,.hys-at-unit-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,92px),1fr));gap:1px;padding:1px;border:1px solid var(--hys-at-line-strong);border-radius:8px;background:var(--hys-at-line);overflow:hidden}
.hys-at-segmented-input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hys-at-segment{display:flex;min-width:0;min-height:47px;align-items:center;justify-content:center;padding:9px 10px;background:var(--hys-at-white);color:var(--hys-at-ink);font-size:14px;font-weight:700;text-align:center;overflow-wrap:anywhere;cursor:pointer}
.hys-at-segmented-input:checked+.hys-at-segment{background:var(--hys-at-black);color:var(--hys-at-white)}
.hys-at-segmented-input:focus-visible+.hys-at-segment{outline:2px solid var(--hys-at-black);outline-offset:-4px}
.hys-at-segmented-input:disabled+.hys-at-segment{background:#ededed;color:#777777;cursor:not-allowed}
.hys-at-dimensions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.hys-at-dimension{min-width:0}
.hys-at-sub-label{display:block;margin-bottom:5px;color:var(--hys-at-muted);font-size:12px;font-weight:700}
.hys-at-unit-switch{width:min(220px,100%);margin-top:10px;grid-template-columns:1fr 1fr}
.hys-at-unit-switch .hys-at-segment{min-height:40px;text-transform:none}
.hys-at-form-actions{display:flex;justify-content:flex-end;margin-top:18px}
.hys-at-form-actions .hys-at-button{min-width:190px}
.hys-at-noscript{padding:16px;border:1px solid var(--hys-at-line);border-radius:8px;background:var(--hys-at-soft)}
.hys-at-noscript p{margin-top:0}

/* Results and evidence states. */
.hys-at-results{width:100%;max-width:100%;min-width:0;margin-top:24px}
.hys-at-loading{display:flex;min-height:96px;align-items:center;justify-content:center;gap:12px;color:var(--hys-at-muted);font-weight:700}
.hys-at-spinner{width:21px;height:21px;border:3px solid var(--hys-at-line);border-top-color:var(--hys-at-black);border-radius:50%;animation:hys-at-spin .8s linear infinite}
@keyframes hys-at-spin{to{transform:rotate(360deg)}}
.hys-at-result-shell{animation:hys-at-fade .2s ease}
@keyframes hys-at-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.hys-at-result-heading{margin:0 0 14px!important;color:var(--hys-at-ink)!important;font-size:clamp(20px,2vw,27px)!important;line-height:1.3!important}
.hys-at-result-message{margin:0 0 16px!important;color:var(--hys-at-copy)}
.hys-at-answer-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:9px;margin:0 0 20px}
.hys-at-answer-summary>div{min-width:0;padding:10px 12px;border:1px solid var(--hys-at-line);border-radius:7px;background:var(--hys-at-soft)}
.hys-at-answer-summary dt{color:var(--hys-at-muted);font-size:12px;font-weight:700}
.hys-at-answer-summary dd{margin:3px 0 0;color:var(--hys-at-ink);font-weight:800;overflow-wrap:anywhere}
.hys-at-empty{padding:20px;border:1px solid var(--hys-at-line);border-radius:8px;background:var(--hys-at-soft);color:var(--hys-at-ink);text-align:center}
.hys-at-result-actions{display:flex;justify-content:center;margin-top:18px}

/* Product cards. */
.hys-at-product-module{width:100%;max-width:100%;min-width:0}
.hys-at-product-grid{display:grid;grid-template-columns:repeat(var(--hys-at-cols-desktop,3),minmax(0,1fr));gap:18px;align-items:stretch;width:100%;max-width:100%;min-width:0}
.hys-at-product-card{position:relative;display:flex;min-width:0;max-width:100%;flex-direction:column;border:1px solid var(--hys-at-line);border-radius:10px;background:var(--hys-at-white);overflow:hidden;box-shadow:0 6px 20px rgba(17,17,17,.04);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.hys-at-product-card:hover{transform:translateY(-2px);border-color:var(--hys-at-black);box-shadow:var(--hys-at-shadow)}
.hys-at-compare-check{position:absolute;z-index:2;top:10px;right:10px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:6px 8px;border:1px solid var(--hys-at-line-strong);border-radius:6px;background:rgba(255,255,255,.96);color:var(--hys-at-ink);font-size:12px;font-weight:700;cursor:pointer}
.hys-at-compare-check input{accent-color:var(--hys-at-black)}
.hys-at-product-image{display:flex;aspect-ratio:1.32/1;align-items:center;justify-content:center;min-width:0;padding:18px;background:var(--hys-at-soft);color:var(--hys-at-ink)!important;text-decoration:none!important;overflow:hidden}
.hys-at-product-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .18s ease}
.hys-at-product-card:hover .hys-at-product-image img{transform:scale(1.02)}
.hys-at-image-placeholder{display:block;width:54%;height:54%;border:2px dashed var(--hys-at-line-strong);border-radius:8px}
.hys-at-product-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:17px;overflow-wrap:anywhere}
.hys-at-root .hys-at-product-head,.hys-at-root .hys-at-product-specs-section,.hys-at-root .hys-at-product-evidence{min-width:0}
.hys-at-root .hys-at-product-evidence{display:flex;flex-direction:column}
.hys-at-status{align-self:flex-start;margin:0 0 9px!important;padding:4px 7px;border:1px solid var(--hys-at-line-strong);border-radius:4px;background:var(--hys-at-soft);color:var(--hys-at-ink);font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.hys-at-status-verified{background:var(--hys-at-black);color:var(--hys-at-white)}
.hys-at-status-conditional{border-style:dashed;background:var(--hys-at-white)}
.hys-at-product-model{margin:0 0 5px!important;color:var(--hys-at-muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hys-at-product-title{margin:0 0 12px!important;color:var(--hys-at-ink)!important;font-size:18px!important;line-height:1.38!important;overflow-wrap:anywhere}
.hys-at-product-title a{color:inherit!important;text-decoration:none!important}
.hys-at-product-intro{margin:0 0 14px!important;color:var(--hys-at-muted);font-size:14px}
.hys-at-specs{display:grid;gap:0;margin:0 0 16px}
.hys-at-specs>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--hys-at-line);font-size:13px}
.hys-at-specs dt{color:var(--hys-at-muted)}
.hys-at-specs dd{margin:0;color:var(--hys-at-ink);font-weight:750;text-align:right;overflow-wrap:anywhere}
.hys-at-match-reasons,.hys-at-missing-evidence{margin:0 0 14px;padding:11px 12px;border:1px solid var(--hys-at-line);border-radius:7px;background:var(--hys-at-softer);font-size:12px}
.hys-at-missing-evidence{border-style:dashed}
.hys-at-reason-title{margin:0 0 5px!important;color:var(--hys-at-ink);font-weight:800}
.hys-at-match-reasons ul,.hys-at-missing-evidence ul{margin:0!important;padding-left:18px!important}
.hys-at-match-reasons li,.hys-at-missing-evidence li{margin:2px 0!important}
.hys-at-product-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.hys-at-product-actions .hys-at-button{min-width:0;padding:9px 10px!important;font-size:13px!important}

/* Comparison stays inside the component. */
.hys-at-compare-bar{position:sticky;z-index:12;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(100%,760px);max-width:100%;margin:18px auto 0;padding:11px 13px;border:1px solid var(--hys-at-line-strong);border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(17,17,17,.12);backdrop-filter:blur(8px)}
.hys-at-compare-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hys-at-comparison{width:100%;max-width:100%;margin-top:20px;padding:16px;border:1px solid var(--hys-at-line);border-radius:8px;background:var(--hys-at-white)}
.hys-at-comparison-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hys-at-comparison-head h4{margin:0!important;color:var(--hys-at-ink)!important}
.hys-at-comparison-table{min-width:760px}
.hys-at-admin-message{padding:12px 14px;border:1px dashed var(--hys-at-line-strong);background:var(--hys-at-soft);color:var(--hys-at-ink);font-size:13px}

/* Container-first responsive behavior handles narrow Elementor article columns. */
@container hys-at (max-width:900px){
  .hys-at-product-grid{grid-template-columns:repeat(var(--hys-at-cols-tablet,2),minmax(0,1fr))}
  .hys-at-switch-content,.hys-at-switch-content.hys-at-image-right{grid-template-columns:1fr}
  .hys-at-switch-content.hys-at-image-right .hys-at-switch-media{order:0}
}
@container hys-at (max-width:680px){
  .hys-at-fields{grid-template-columns:1fr}
  .hys-at-dimensions-grid{grid-template-columns:1fr}
  .hys-at-form-actions .hys-at-button{width:100%;min-width:0}
  .hys-at-product-grid{grid-template-columns:repeat(var(--hys-at-cols-mobile,1),minmax(0,1fr))}
  .hys-at-product-actions{grid-template-columns:1fr}
  .hys-at-compare-bar{align-items:stretch;flex-direction:column;bottom:8px}
  .hys-at-compare-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .hys-at-comparison{padding:12px}
  .hys-at-comparison-head{align-items:flex-start;flex-direction:column}
}
@container hys-at (max-width:420px){
  .hys-at-selector{padding:14px}
  .hys-at-panel{padding:16px 13px}
  .hys-at-answer-summary{grid-template-columns:1fr}
  .hys-at-compare-check span{display:none}
}

/* Viewport fallbacks for browsers without container queries. */
@media (max-width:900px){
  .hys-at-root .hys-at-switch-content,.hys-at-root .hys-at-switch-content.hys-at-image-right{grid-template-columns:1fr}
  .hys-at-root .hys-at-switch-content.hys-at-image-right .hys-at-switch-media{order:0}
  .hys-at-root .hys-at-product-grid{grid-template-columns:repeat(var(--hys-at-cols-tablet,2),minmax(0,1fr))}
}
@media (max-width:680px){
  .hys-at-root .hys-at-fields,.hys-at-root .hys-at-dimensions-grid{grid-template-columns:1fr}
  .hys-at-root .hys-at-form-actions .hys-at-button{width:100%;min-width:0}
  .hys-at-root .hys-at-product-grid{grid-template-columns:repeat(var(--hys-at-cols-mobile,1),minmax(0,1fr))}
  .hys-at-root .hys-at-product-actions{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .hys-at-root *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media (forced-colors:active){
  .hys-at-root :where(.hys-at-segmented-input:checked+.hys-at-segment,.hys-at-status-verified){forced-color-adjust:auto}
}
