/* TARGA shared microinteractions — native links and controls retain their behaviour. */
#main{
  --targa-motion-time:180ms;
  --targa-motion-ease:cubic-bezier(.2,.65,.3,1);
  --targa-interaction-rgb:170,17,44;
}
#main :is(.targa-teuvan-v6,.targa-teuvan-template,.card.green,.brand-panel.teuvan,a.card[href*="teuvan"],.about-brand-card:has(a[href*="teuvan"])){
  --targa-interaction-rgb:59,118,50;
}
#main :is(.targa-data-center-template,.card.blue){--targa-interaction-rgb:36,94,134}
#main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]){
  position:relative;
  transition:transform var(--targa-motion-time) var(--targa-motion-ease),box-shadow var(--targa-motion-time) var(--targa-motion-ease),border-color var(--targa-motion-time) ease,background-color var(--targa-motion-time) ease;
}
#main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]):is(:focus-visible,:has(:focus-visible)){
  border-color:rgba(var(--targa-interaction-rgb),.65);
  box-shadow:0 12px 30px rgba(var(--targa-interaction-rgb),.12);
  outline:2px solid rgba(var(--targa-interaction-rgb),.75);
  outline-offset:4px;
}
#main :is(.card:not(a):not(:has(a[href],button,input)),.process-step,.person,.dc-compare-card,.tdrc-choice,.tdrc-steps>div,.ttv-steps>li){
  transition:box-shadow var(--targa-motion-time) ease,border-color var(--targa-motion-time) ease;
}
/* Single-destination Teuvan cards keep one native, keyboard-accessible link.
   The KGW/catering card has two destinations and keeps both separate. */
#main .ttv-card:not(:has(>.ttv-text-link~.ttv-text-link))>.ttv-text-link::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
}
/* Keep text dark enough on the light Teuvan surface in every state. */
#main .targa-teuvan-v6 a:not(.btn):is(:hover,:focus-visible){
  color:#245d28;
  text-decoration-color:currentColor;
}
#main :is(.tdrc-button,.tdrc-categories a,.tdrc-language a,.tdrc-model-links a,.tdrc-check,.tdrc-compare-options label,summary){
  transition:background-color var(--targa-motion-time) ease,border-color var(--targa-motion-time) ease,color var(--targa-motion-time) ease,box-shadow var(--targa-motion-time) ease;
}
#main .tdrc-check{border-radius:4px}
#main .tdrc-check:has(input:checked){background:#f9edef;color:#851027}
#main .tdrc-card:has(input:checked){
  border-color:var(--tc-red);
  box-shadow:inset 0 0 0 1px var(--tc-red);
}
#main .tdrc-primary:focus-visible{background:#861025;border-color:#861025;color:#fff}
#main :is(.tdrc-categories a,.tdrc-model-links a):focus-visible{background:#f7eff0;color:#851027}
#main summary:focus-visible{color:#851027}
@media(hover:hover) and (pointer:fine){
  #main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]):hover{
    transform:translateY(-3px);
    border-color:rgba(var(--targa-interaction-rgb),.65);
    box-shadow:0 12px 30px rgba(var(--targa-interaction-rgb),.12);
  }
  #main .ttv-card:hover{background:#f8fbf5}
  #main :is(.card:not(a):not(:has(a[href],button,input)),.process-step,.person,.dc-compare-card,.tdrc-choice,.tdrc-steps>div,.ttv-steps>li):hover{
    border-color:rgba(var(--targa-interaction-rgb),.45);
    box-shadow:0 5px 16px rgba(var(--targa-interaction-rgb),.06);
  }
  #main .tdrc-card:has(input:checked):hover{
    box-shadow:inset 0 0 0 1px var(--tc-red),0 12px 30px rgba(var(--targa-interaction-rgb),.12);
  }
  #main :is(.tdrc-check,.tdrc-compare-options label):hover{background:#f9edef}
  #main summary:hover{color:#851027}
}
#main :is(a.card,a.knowledge-card,a.realization-card,a.route-card,a.tdrc-process-card):active{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(var(--targa-interaction-rgb),.12);
}
#main :is(a.tdrc-process-card,a.knowledge-card,a.realization-card,a.route-card):is(:hover,:focus-visible){text-decoration:none}
/* Touch does not rely on hover. Focus and selected states remain visible. */
@media(hover:none),(pointer:coarse){
  #main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]):hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  #main *,#main *::before,#main *::after{transition:none!important;animation:none!important}
  #main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]),#main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]):hover,#main :is(a.card,.card:has(a[href],button),a.link-card,a.knowledge-card,a.realization-card,a.route-card,.download-card:has(a[href]),.brand-panel:has(a[href]),.about-brand-card:has(a[href]),.team-contact-card:has(a[href]),.tdrc-card,a.tdrc-process-card,.ttv-card,.ttv-documents,.ttv-contact,[data-interactive-card]):active{transform:none}
  #main :is(.btn,button,input[type="submit"]):is(:hover,:focus-visible,:active){transform:none}
}
