:root{
  --sv-primary:#145C7A; --sv-gold:#C9A227; --sv-gold-light:#F6E3A1;
  --sv-night:#0B2E3F; --sv-ivory:#F6F3EA; --sv-sand:#EDE4D3;
  --sv-ink:#26303A; --sv-coral:#D9674A;
  --sv-ease:cubic-bezier(.2,.7,.2,1); --sv-ease-io:cubic-bezier(.77,0,.18,1);
}

/* 01 – Gold-Shimmer auf Text */
.sv-shimmer{
  background:linear-gradient(100deg,var(--sv-gold) 0%,var(--sv-gold) 42%,var(--sv-gold-light) 50%,var(--sv-gold) 58%,var(--sv-gold) 100%);
  background-size:250% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* 02 – Button-Mikro-Interaktionen */
.sv-btn-glow{transition:transform .2s var(--sv-ease),box-shadow .2s var(--sv-ease);}
.sv-btn-glow:hover{transform:translateY(-3px);box-shadow:0 0 0 4px rgba(201,162,39,.25),0 14px 30px rgba(201,162,39,.45);}
.sv-btn-spread{transition:background .2s,letter-spacing .25s var(--sv-ease);}
.sv-btn-spread:hover{letter-spacing:2.5px;background:var(--sv-night)!important;}
.sv-btn-fill{transition:background .2s,color .2s;}
.sv-btn-fill:hover{background:var(--sv-primary)!important;color:var(--sv-gold)!important;}
.sv-input-focus:focus{outline:none;border-bottom-color:var(--sv-gold)!important;}

/* 07 – Fadenkreuz (wird per JS eingefügt) */
.sv-crosshair{position:absolute;left:0;top:0;width:56px;height:56px;margin:-28px 0 0 -28px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:50;}
.sv-crosshair::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--sv-gold);}
.sv-crosshair i{position:absolute;background:var(--sv-gold);}
.sv-crosshair i:nth-child(1){left:50%;top:-8px;bottom:-8px;width:2px;margin-left:-1px;}
.sv-crosshair i:nth-child(2){top:50%;left:-8px;right:-8px;height:2px;margin-top:-1px;}
.sv-crosshair i:nth-child(3){left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff;}
.sv-hit-ring{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:3px solid var(--sv-gold);pointer-events:none;z-index:49;}

/* 08 – Bild-Aufdecken (Overlay wird per JS eingefügt) */
[data-sv-wipe]{position:relative;overflow:hidden;}
.sv-wipe-cover{position:absolute;inset:0;transform-origin:right center;z-index:2;}

/* 09 – Vorhang (Tabs & Seitenübergang) */
.sv-curtain{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;z-index:5;pointer-events:none;}
.sv-page-curtain{position:fixed;inset:0;z-index:99999;pointer-events:none;transform:scaleX(0);}

/* 10 – Bildvorschau beim Überfahren */
[data-sv-hover-area]{position:relative;}
.sv-hover-img{position:absolute;left:0;top:0;width:300px;height:200px;object-fit:contain;background:var(--sv-primary);padding:14px;box-sizing:border-box;pointer-events:none;opacity:0;z-index:40;box-shadow:0 24px 50px rgba(0,0,0,.4);}
[data-sv-hover-img]{cursor:pointer;transition:padding .3s var(--sv-ease),color .3s;}
[data-sv-hover-img]:hover{padding-left:18px;color:var(--sv-gold);}

/* 11 – Laufband */
[data-sv-marquee]{display:flex;width:max-content;white-space:nowrap;}
.sv-marquee-wrap{overflow:hidden;}

/* 05 – 3D-Neigung */
[data-sv-tilt]{transform-style:preserve-3d;transition:transform .12s ease-out;}

/* Bewegung reduzieren: alles statisch sichtbar */
@media (prefers-reduced-motion: reduce){
  .sv-wipe-cover,.sv-crosshair,.sv-hit-ring,.sv-page-curtain{display:none!important;}
  [data-sv-reveal],[data-sv-blur],[data-sv-kinetic]{opacity:1!important;transform:none!important;filter:none!important;}
  *{scroll-behavior:auto!important;}
}
.sv-shimmer-white{background-image:linear-gradient(100deg,#BAC9D3 0%,#BAC9D3 42%,#FFFFFF 50%,#BAC9D3 58%,#BAC9D3 100%) !important;background-size:250% 100% !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;color:transparent !important;}
