/* OWNER-UAT-FIX-012 — visual focus normalization only. */
:where(button,a,select,input,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--gold)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}

/* Disclosures are often full-width. A compact inset marker and text emphasis
   communicate keyboard focus without framing the entire content block. */
details>summary:focus,
details>summary:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
details>summary:focus-visible{
  color:var(--gold)!important;
  box-shadow:inset 3px 0 0 var(--gold)!important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

/* A form row must not add a second ring around its focused child. Mouse focus
   gets a border cue; keyboard focus gets one restrained outer cue. */
.f-row:focus-within{
  outline:none!important;
  box-shadow:none!important;
  border-color:rgb(from var(--brand-primary) r g b / .38);
}
.f-row :is(select,input):focus-visible{
  outline:none!important;
  box-shadow:none!important;
}

/* Composite text controls own the only visible focus treatment. */
:is(.cmp-consumption-wrap,.cmp-price-wrap,.cmp-annual-km-wrap,.am-minimal-input,.am-ownership-input):focus-within{
  outline:none!important;
  border-color:rgb(from var(--brand-primary) r g b / .55)!important;
  box-shadow:none!important;
}
:is(.cmp-consumption-wrap,.cmp-price-wrap,.cmp-annual-km-wrap,.am-minimal-input,.am-ownership-input):has(input:focus-visible){
  border-color:var(--gold)!important;
  box-shadow:0 0 0 2px rgb(from var(--brand-primary) r g b / .12)!important;
}
:is(.cmp-consumption-wrap,.cmp-price-wrap,.cmp-annual-km-wrap,.am-minimal-input,.am-ownership-input) input:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}

/* Full-width primary actions use an inset keyboard cue so focus does not bleed
   outside the layout on narrow screens. */
:is(.cta,.cmp-cta,.cookie-btn.primary):focus-visible{
  outline:none!important;
  box-shadow:inset 0 0 0 2px #fcf9f3,0 0 0 2px var(--gold)!important;
}

body:not(.result-mode):not(.compare-mode) .am-sprint2-card #form :is(select,#s-deger):focus,
body:not(.result-mode):not(.compare-mode) .am-sprint2-card #form :is(select,#s-deger):focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
body:not(.result-mode):not(.compare-mode) .am-fix001 .am-sprint2-card #form .f-row select:focus-visible{
  outline:none!important;
  outline-offset:0!important;
  box-shadow:none!important;
  background-color:rgb(from var(--brand-primary) r g b / .09)!important;
}
body:not(.result-mode):not(.compare-mode) .am-sprint2-card #form #s-annual-km:focus{
  outline:none!important;
  box-shadow:none!important;
}
body:not(.result-mode):not(.compare-mode) .am-sprint2-card #form #s-annual-km:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 2px rgb(from var(--brand-primary) r g b / .13)!important;
}
body:not(.result-mode):not(.compare-mode) .am-sprint2-card #cta:focus-visible{
  outline:none!important;
  outline-offset:0!important;
  box-shadow:inset 0 0 0 2px #fcf9f3,0 0 0 2px var(--gold)!important;
}

.cookie-btn:focus-visible,
.cookie-close:focus-visible,
.cookie-switch input:focus-visible+span{
  outline:2px solid var(--gold)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.cookie-switch input:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}

@media(max-width:600px){
  :where(button,a,select,input,textarea,[tabindex]):focus-visible{outline-offset:1px!important}
  details>summary:focus-visible{box-shadow:inset 3px 0 0 var(--gold)!important}
}
