/* Atelier Backstage Studio – gemeinsame Ebene: Pfeile, Bildrahmen, Schrift-Rendering.
   Verändert kein Layout; behebt nur Renderfehler (Emoji-/Fallback-Pfeile, graue Pfeile am Handy, nicht gefüllte Bildrahmen). */

/* 1) Pfeile: immer als Text-Glyph aus der mitgelieferten Inter-Schrift, nie als Emoji, immer in Textfarbe */
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf,.abc-configurator,.ab-header-buttons) :is(.ab-arrow,.arrow,.ab-sub-arrow,.abhome-story-arrow,.abr-card-more>span,a>span[aria-hidden="true"],button>span[aria-hidden="true"],.abf-apply-icon,[data-abr-next]){
  font-family:Inter,"Segoe UI Symbol","Noto Sans Symbols 2","Noto Sans Symbols",Arial,sans-serif;
  font-variant-emoji:text;
  font-feature-settings:normal;
  -webkit-text-fill-color:currentColor;
  color:inherit;
  opacity:1;
  text-shadow:none;
  filter:none;
}
body :is(.abot,.ab-print,.ab-header-buttons) :is(.ab-arrow,.ab-sub-arrow){font-family:Inter,"Segoe UI Symbol","Noto Sans Symbols 2",Arial,sans-serif}
body .ab-workshops .giftcard:after{font-family:Inter,"Segoe UI Symbol",Arial,sans-serif;font-variant-emoji:text}

/* 2) Bildrahmen: Bilder füllen ihren Rahmen auf allen Geräten (auch iOS) */
body :is(.abhome-service-media,.abhome-story-image-wrap,.abhome-context-media,.abr-thumb,.abr-gallery-item) > img,
body :is(.abhome-service-media,.abhome-story-image-wrap,.abhome-context-media,.abr-thumb,.abr-gallery-item) > a > img,
body :is(.abhome-service-media,.abhome-story-image-wrap,.abhome-context-media,.abr-thumb,.abr-gallery-item) picture,
body :is(.abhome-service-media,.abhome-story-image-wrap,.abhome-context-media,.abr-thumb,.abr-gallery-item) picture > img{
  width:100%;height:100%;min-height:100%;object-fit:cover;display:block;max-width:none;
}
body :is(.abhome-service-media,.abhome-story-image-wrap,.abhome-context-media,.abr-thumb,.abr-gallery-item){position:relative;overflow:hidden}
body :is(.abot .ab-hero,.abshop .ab-figure,.abshop .ab-world,.abshop .ab-world-feature,.abr .abr-hero-figure,.abr .abr-text-image) img{
  width:100%;max-width:100%;object-fit:cover;display:block;
}
body .abshop .ab-product img{width:100%;object-fit:cover;display:block}

/* 3) Text-Rendering einheitlich (Handy: keine automatische Schriftvergrößerung, Buttons ohne Systemschrift) */
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf,.abc-configurator){-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf) :is(button,input,select,textarea){font-family:inherit}
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf) :is(a,button):is(.ab-button,.abhome-button,.abr-button,.btn,.ab-next){-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}

/* 4) Links & Buttons: nie unterstrichen (auch nicht der Pfeil), unabhängig vom Theme (Astra/Elementor setzen Striche bei a/:hover) */
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf,.abc-configurator) :is(a,a:hover,a:focus,a:active,a:visited,a *,button,button *):not(.abr-selection button):not(.abr-calendar-day){
  text-decoration:none !important;
  text-decoration-line:none !important;
}
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf) :is(.ab-link,.abr-back,.abhome-teaser-link,.abhome-context a,.abr-card-more){background-image:none}

/* 5) Pfeil überall gleich: ↗, gleiche Strichstärke, Größe relativ zur Button-Schrift, bewegt sich beim Hover einheitlich */
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf) :is(.ab-arrow,.arrow,.abf-apply-icon,a>span[aria-hidden="true"],button>span[aria-hidden="true"]){
  display:inline-block;font-size:21px;line-height:1;font-weight:600;text-decoration:none !important;
  transition:transform .18s ease;
}
body :is(.abhome,.abot,.abr,.abshop,.ab-print,.ab-workshops,.abf) :is(a,button):hover > :is(.ab-arrow,.arrow,.abf-apply-icon,span[aria-hidden="true"]){transform:translate(2px,-2px)}

/* 6) Referenz-Button (Shop: "Kollektionen entdecken"): gleiche Geometrie überall.
   Farben, Radius und Schriftgröße kommen weiter aus Atelier Design bzw. den Einzel-Einstellungen im Editor. */
body .abhome .abhome-button,
body .abot .ab-button,
body .abshop .ab-button,
body .abr .abr-button,body .abr .abr-show-more,
body .ab-workshops .btn,
body .ab-print .ab-next,
body .abf .abf-apply{
  display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;gap:22px;min-height:48px;padding:13px 19px;
  font-weight:500;line-height:1.4;
  transition:background .18s,color .18s,border-color .18s;
  transform:none;white-space:normal;text-align:center;
}
body .abhome .abhome-button:hover,body .abhome .abhome-button:focus-visible{transform:none}
body .ab-workshops .btn .arrow,body .abhome-button .abhome-button-label+span{font-size:21px}
@media (max-width:640px){
  body .abhome .abhome-button,body .abot .ab-button,body .abshop .ab-button,body .abr .abr-button,body .abr .abr-show-more,body .ab-workshops .btn,body .ab-print .ab-next,body .abf .abf-apply{padding:12px 16px;gap:16px}
}

/* 7) Sicherheitsnetz unabhängig von der Seitenstruktur (Elementor-Vorlagen, Theme-Bausteine): Pfeile und Links, die einen Atelier-Pfeil enthalten, bekommen nie einen Strich */
body :is(.ab-arrow,.arrow),
body :is(a,button):has(> :is(.ab-arrow,.arrow)),
body :is(a,button):has(> :is(.ab-arrow,.arrow)) *{
  text-decoration:none !important;
  text-decoration-line:none !important;
  text-underline-offset:0;
}
body :is(a,button):has(> :is(.ab-arrow,.arrow)){background-image:none}
