/* GAU site-wide hover veil, 11 November 2026. Uses the existing family colours. */
@property --gsu-orbit { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.gsu-surface {
  --gsu-glow: var(--gsu-family,var(--gau-menu-head,var(--gau-item-glow,var(--gau-context-accent,#245e5a))));
  --gsu-halo: color-mix(in srgb,var(--gsu-glow) 25%,transparent);
  --gsu-light: color-mix(in srgb,var(--gsu-glow) 24%,white);
}
.gsu-anchor { position: relative !important; }
/* Mixed home/shop grids keep the individual destination's identity. */
.gsu-surface:is([href*="/textilien/"],.product_cat-textilien) { --gsu-family:#247542; }
.gsu-surface:is([href*="/arbeitskleidung/"],.product_cat-arbeitskleidung) { --gsu-family:#244c75; }
.gsu-surface:is([href*="/tassen-trinkgefaesse/"],.product_cat-tassen-trinkgefaesse) { --gsu-family:#246875; }
.gsu-surface:is([href*="/wohnen-deko/"],.product_cat-wohnen-deko) { --gsu-family:#754624; }
.gsu-surface:is([href*="/accessoires-schmuck/"],.product_cat-accessoires-schmuck) { --gsu-family:#5b2475; }
.gsu-surface:is([href*="/geschenke/"],.product_cat-geschenke) { --gsu-family:#752437; }
.gsu-surface:is([href*="/selbst-gestalten/"],.gau-self-nav) { --gsu-family:#247563; }
.gsu-surface:is([href*="/dominchen/"],.product_cat-dominchen) { --gsu-family:#b21f35; }
body[class*="dominchen"] #main .gsu-surface { --gsu-family:#b21f35; }
/* Dedicated decorative child preserves existing arrows, disclosure signs and spinners. */
.gsu-surface > .gsu-aura {
  all: initial;
  display: block;
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  border-radius: inherit;
  padding: 2px;
  pointer-events: none;
  user-select: none;
  z-index: 2;
  opacity: 0;
  background: conic-gradient(from var(--gsu-orbit),transparent 0deg,var(--gsu-glow) 42deg,var(--gsu-light) 75deg,transparent 125deg,transparent 180deg,var(--gsu-glow) 224deg,var(--gsu-light) 258deg,transparent 310deg,transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite: exclude;
  filter: blur(.55px);
  transition: opacity .18s ease;
}
@keyframes gsu-orbit { to { --gsu-orbit:360deg; } }
@media (hover:hover) and (pointer:fine) {
  html body .gsu-surface:hover:not(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"],.disabled,.loading) {
    box-shadow: 0 0 0 1px var(--gsu-halo),0 0 13px var(--gsu-halo),0 6px 18px color-mix(in srgb,var(--gsu-glow) 12%,transparent);
  }
  .gsu-surface:hover:not(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"],.disabled,.loading) > .gsu-aura {
    opacity: .95;
    animation: gsu-orbit 8s linear infinite;
  }
}
.gsu-surface:focus-visible > .gsu-aura,
.gsu-surface:has(:focus-visible) > .gsu-aura,
.gaum-mug-order input:focus-visible + .gsu-surface > .gsu-aura {
  opacity: .8;
  --gsu-orbit: 35deg;
}
.gsu-surface:active:not(:disabled,[aria-disabled="true"]) > .gsu-aura { opacity:1; }
.gsu-surface:is(:disabled,[disabled],[aria-disabled="true"],[aria-busy="true"],.disabled,.loading) > .gsu-aura,
[aria-busy="true"] .gsu-surface > .gsu-aura { display:none; }
/* Native upload buttons cannot contain the ring. Keep their feedback equally clear. */
input[type="file"]::file-selector-button {
  border: 1px solid var(--gau-context-head,#245e5a);
  border-radius: 8px;
  background: var(--gau-context-photo,#f0f6f5);
  color:#172d3b;
  padding:.65em .9em;
  margin-inline-end:.7em;
  cursor:pointer;
  font:inherit;
}
@media (hover:hover) and (pointer:fine) {
  input[type="file"]:not(:disabled)::file-selector-button:hover {
    box-shadow:0 0 12px color-mix(in srgb,var(--gau-context-accent,#245e5a) 30%,transparent);
    border-color:var(--gau-context-accent,#245e5a);
  }
}
input[type="file"]:disabled::file-selector-button { cursor:not-allowed; }
@media (prefers-reduced-motion:reduce) {
  .gsu-surface > .gsu-aura { animation:none!important;transition:none!important;--gsu-orbit:35deg; }
}
@media (forced-colors:active) {
  .gsu-surface > .gsu-aura { display:none!important; }
  input[type="file"]::file-selector-button { border-color:ButtonText;color:ButtonText;background:ButtonFace; }
}
@media print { .gsu-surface > .gsu-aura { display:none!important; } }
