/* Production integration: no comparison toolbar, mock forms or disabled services. */
html[data-visual]{scroll-padding-top:calc(var(--header-h) + 24px)}
html[data-visual]:has(#burger[aria-expanded=true]){overflow:hidden}
html[data-visual]:has(#burger[aria-expanded=true]) body{overflow:visible!important}
[data-visual] [hidden]{display:none!important}
[data-page=knowledge] .faq-fuss{grid-column:1/-1}
[data-page=knowledge] #faq>.wrap>script{display:none}
[data-page=knowledge] .v19-faq-group{scroll-margin-top:calc(var(--header-h) + 24px)}
/* Real provider frames retain ample space for their consent notices and forms. */
[data-page=selling] .iwa-rahmen{min-height:340px!important}
[data-page=selling] .iwa-rahmen #iwa-widget,[data-page=selling] .iwa-rahmen #iwa-widget-iframe{max-width:none}
[data-page=finding][data-look=feinschliff] .sw-rahmen{min-height:280px;padding:24px;background:#fff;border:1px solid #dedad2;border-radius:14px}
[data-page=finding] .sw-rahmen .ooiframe{display:block;min-height:1000px}
@media(min-width:761px){
 [data-page=finding][data-look=feinschliff] .sw-kopfteil:has(#sw-klapp[open]){width:100%;max-width:none}
 [data-page=finding] .sw-kopfteil:has(#sw-klapp[open])>h2,[data-page=finding] .sw-kopfteil:has(#sw-klapp[open])>.lead,[data-page=finding] .sw-kopfteil:has(#sw-klapp[open])>.vorteile{max-width:620px}
}
/* Frame controls never cover the provider consent action. */
[data-look=feinschliff] .ref-tablet .rundgang-direkt{width:100%;min-height:340px}
/* Ogulo treats a landscape frame <=500px high as mobile Safari and blocks it
   with "Swipe Up". Keep its viewport >500px, or portrait on narrow screens.
   The 534px include the tablet's 32px border; container units also cover dialogs. */
[data-look=feinschliff] .ref-tablet{container-type:inline-size}
[data-look=feinschliff] .ref-tablet .rundgang-direkt.ist-geladen{min-height:534px;min-height:min(534px,calc(100cqw + 2px))}
[data-visual][data-look=feinschliff] .ref-tour-controls{position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;pointer-events:none;z-index:6}
[data-visual][data-look=feinschliff] .ref-tablet::before{top:calc((100% - 74px)/2)}
[data-visual] .ref-tour-hint{display:flex;align-items:center;gap:10px;color:var(--text);font-size:14px;font-weight:700;line-height:1.4}
[data-visual] .ref-tour-hint>span:first-child{font-size:32px;font-weight:400}
[data-visual] .ref-tour-hint small{display:block;font-size:12px;font-weight:400;color:var(--text-2)}
[data-visual] .dunkel .ref-tour-hint{color:var(--text-inv)}
[data-visual] .dunkel .ref-tour-hint small{color:var(--text-inv-2)}
[data-visual] .ref-tour-expand{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;width:auto;height:auto;padding:12px 22px;border:2px solid #fff;border-radius:16px;background:var(--rot);color:#fff;font-size:16px;font-weight:750;line-height:1.2;box-shadow:0 6px 18px #e1001a2b;transition:background .2s ease,box-shadow .2s ease}
[data-visual] .ref-tour-expand svg{width:26px;height:26px;flex:none}
[data-visual] .ref-tour-expand:hover{background:var(--rot);box-shadow:0 8px 24px #e1001a40}
[data-visual] .ref-tour-expand:focus-visible{outline:3px solid var(--rot);outline-offset:4px}
/* Start the local preview immediately on entering the viewport. Ogulo itself
   retains its configured autorotation after consent and its own idle delay. */
[data-visual][data-look=feinschliff] .ref-tablet .rundgang-vorschau img{animation:visual-tour-preview 8s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:50% 100%;will-change:transform}
[data-visual][data-motion=running][data-look=feinschliff] .ref-tablet .rundgang-direkt.vorschau-laeuft:not(.ist-geladen) .rundgang-vorschau img{animation-play-state:running}
@keyframes visual-tour-preview{from{transform:scale(1.2) translate3d(-4%,0,0)}to{transform:scale(1.2) translate3d(4%,0,0)}}
@media(prefers-reduced-motion:reduce){[data-visual][data-look=feinschliff] .ref-tablet .rundgang-vorschau img{animation:none;transform:scale(1.18);will-change:auto}}
.visual-tour-dialog{width:min(1300px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:18px;margin:auto;border:1px solid #444;border-radius:20px;background:#18191b;color:white;overflow:auto}
.visual-tour-dialog::backdrop{background:#111c;backdrop-filter:blur(8px)}
.visual-tour-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px}
.visual-tour-bar button{min-height:44px;padding:8px 20px;color:white;border:1px solid #777;border-radius:8px;cursor:pointer}
.visual-tour-bar button:focus-visible{outline:3px solid white;outline-offset:3px}
[data-look=feinschliff] .visual-tour-dialog .ref-tablet{margin:0!important;max-width:none!important;transform:none!important;opacity:1!important;filter:none}
[data-look=feinschliff] .visual-tour-dialog .rundgang-direkt{height:min(72dvh,780px);aspect-ratio:auto}
[data-visual][data-look=feinschliff] .visual-tour-dialog .ref-tablet::before{top:50%}
.visual-tour-dialog .ref-tour-controls{display:none!important}
@media(max-width:760px){
 [data-page=selling][data-look=feinschliff] #online-wertanalyse .iwa-rahmen:has(#iwa-widget-iframe){padding:1px;min-height:0!important}
 [data-look=feinschliff] .ref-tablet .rundgang-direkt{min-height:300px}
 [data-look=feinschliff] .ref-tablet .rundgang-direkt.ist-geladen{min-height:518px}
 [data-look=feinschliff] .ref-tablet .rundgang-direkt:not(.ist-geladen){height:auto;aspect-ratio:auto;min-height:380px}
 [data-look=feinschliff] .ref-tablet .dienst-sperre{height:auto;min-height:380px;padding:12px 12px 58px}
 [data-look=feinschliff] .ref-tablet .sperre-inhalt{max-width:100%;padding:18px}
 [data-visual][data-look=feinschliff] .ref-tour-controls{gap:12px;margin-top:16px}
 [data-visual][data-look=feinschliff] .ref-tablet::before{top:calc((100% - 66px)/2)}
 [data-visual] .ref-tour-expand{min-height:50px;padding:10px 15px;gap:9px;font-size:15px}
 [data-visual] .ref-tour-hint{gap:7px;font-size:13px}
 [data-visual] .ref-tour-hint small{font-size:11px}
 [data-page=finding][data-look=feinschliff] .sw-rahmen{padding:16px 10px}
 .visual-tour-dialog{padding:10px;width:calc(100vw - 16px)}
}

/* Shared service-image disclosure: below the row, before stacked mobile cards. */
[data-look=feinschliff] .ki-symbolgruppe{display:flex;flex-direction:column}
[data-look=feinschliff] .ki-symbolgruppe>.ref-image-note{display:block;order:1;margin:14px 0 0;font-size:12px;line-height:1.5;color:#595b62;text-align:right}
@media(max-width:760px){
 [data-look=feinschliff] .ki-symbolgruppe>.ref-image-note{order:-1;margin:0 0 12px;text-align:left}
}
