/* schwimmtrainer.at V0.15.10.50.63 – isolated presentation corrections.
   Original user-provided SVG logos, PNG backgrounds and all screenshot files unchanged.
   All displayed text remains regular, accessible HTML. */

/* A. Two home cards: shared baseline for eyebrows, brand row, heading, copy, actions. */
.pl60-dual{align-items:stretch}
.pl60-dual .pl60-card{display:grid;grid-template-rows:1fr auto}
.pl60-dual .pl60-card .pl60-copy{display:grid;grid-template-rows:38px 66px minmax(114px,auto) minmax(92px,auto) auto;align-content:start;row-gap:0;min-height:0}
.pl60-card .pl60-eyebrow{align-self:start;margin:0}
.pl60-card .pl60-logo{align-self:start;margin:0;max-height:64px;width:min(300px,100%)}
.pl62-brand-spacer{min-height:64px;pointer-events:none}
.pl60-card .pl60-copy>h2{align-self:start;margin:0 0 12px;min-width:0}
.pl60-card .pl60-copy>p:not(.pl60-eyebrow){align-self:start;margin:0 0 12px;min-width:0}
.pl60-card .pl60-actions{align-self:end;margin:0;display:flex;gap:9px;flex-wrap:wrap}
.pl60-card .pl60-benefits{align-self:end;margin-top:18px;padding-top:10px;border-top:1px solid rgba(119,218,236,.14)}
/* The two CTA rows have the same start position and button height. */
.pl60-card .pl60-actions .button{min-height:39px;display:inline-flex;align-items:center;justify-content:center}

/* B. Remove legacy circles/gradients from five module cards; keep only rectangular
   contrast veil and original background image. */
.pl60-module-grid .pl55-module-card.pl60-module-card::before,
.pl60-module-grid .pl60-module-card::before{
  content:""!important;inset:0!important;width:auto!important;height:auto!important;
  border-radius:0!important;clip-path:none!important;filter:none!important;
  box-shadow:none!important;opacity:1!important;
  background:linear-gradient(180deg,rgba(2,18,31,.14) 0%,rgba(3,24,39,.48) 30%,rgba(3,24,39,.89) 75%,rgba(3,24,39,.96) 100%)!important;
  pointer-events:none;
}
.pl60-module-grid .pl55-module-card.pl60-module-card::after{border-radius:0!important;clip-path:none!important;filter:none!important}

/* C. Five professional module detail panels share their image with overview cards. */
.pl62-detail-switcher{position:relative;isolation:isolate;overflow:hidden;background:#07253b;border-color:rgba(117,224,240,.36)}
.pl62-detail-switcher::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--pl62-module-image);background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:.85}
.pl62-detail-switcher::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(4,23,38,.85) 0%,rgba(4,27,43,.68) 41%,rgba(4,29,47,.82) 67%,rgba(4,24,42,.92) 100%)}
.pl62-detail-switcher>.pl47-switcher-tabs,
.pl62-detail-switcher>.pl47-switcher-panels,
.pl62-detail-switcher>.pl47-switcher-controls{position:relative;z-index:2}
.pl62-detail-switcher .pl47-switcher-tabs{background:rgba(7,35,53,.74);backdrop-filter:blur(8px);border-bottom-color:rgba(135,232,244,.28)}
.pl62-detail-switcher .pl47-switcher-panels{background:transparent}
.pl62-detail-switcher .pl47-switcher-panel{gap:clamp(22px,3vw,52px);align-items:center}
.pl62-detail-switcher .pl47-switcher-media{background:rgba(3,26,42,.90);border:1px solid rgba(130,223,242,.29);box-shadow:0 18px 45px rgba(0,12,25,.35)}
.pl62-detail-switcher .pl47-switcher-copy{position:relative;max-width:590px;padding:clamp(22px,2.4vw,40px);background:linear-gradient(110deg,rgba(3,27,45,.84),rgba(5,39,60,.71));border:1px solid rgba(135,226,245,.2);border-left:3px solid #58d4ea;border-radius:16px;backdrop-filter:blur(6px);box-shadow:0 10px 35px rgba(0,14,25,.12);min-width:0}
.pl62-detail-switcher .pl47-panel-counter{display:block;color:#83e9f5;font-size:12px;letter-spacing:.22em;line-height:1.4}
.pl62-detail-switcher .pl47-switcher-copy h2{font-size:clamp(27px,2.65vw,42px);line-height:1.13;letter-spacing:-.035em;font-weight:850;color:#fff;margin:14px 0 20px;text-wrap:balance;overflow-wrap:anywhere}
.pl62-detail-switcher .pl47-switcher-copy p{font-size:clamp(16px,1.35vw,20px);line-height:1.65;color:#d4e9f3;margin:0}
.pl62-detail-switcher .pl47-switcher-controls{background:rgba(6,32,51,.56);padding-top:14px}
.pl62-detail-wettkampfentwicklung{--pl62-module-image:url('/assets/images/performance-lab/backgrounds/pl-modul-01-wettkampfentwicklung-bg.webp?v=0.15.10.50.63')}
.pl62-detail-referenzkorridore{--pl62-module-image:url('/assets/images/performance-lab/backgrounds/pl-modul-02-benchmarks-gruppenperformance-bg.webp?v=0.15.10.50.63')}
.pl62-detail-athletik-monitor{--pl62-module-image:url('/assets/images/performance-lab/backgrounds/pl-modul-03-athletikmonitor-bg.webp?v=0.15.10.50.63')}
.pl62-detail-kraftdiagnostik-testbatterien{--pl62-module-image:url('/assets/images/performance-lab/backgrounds/pl-modul-04-kraftdiagnostik-bg.webp?v=0.15.10.50.63')}
.pl62-detail-schwimmtests{--pl62-module-image:url('/assets/images/performance-lab/backgrounds/pl-modul-05-schwimmtests-bg.webp?v=0.15.10.50.63')}
@media(max-width:1190px){
  .pl60-dual .pl60-card .pl60-copy{grid-template-rows:38px 66px minmax(88px,auto) minmax(67px,auto) auto}
}
@media(max-width:860px){
  .pl62-detail-switcher::after{background:linear-gradient(180deg,rgba(4,23,38,.83),rgba(4,27,45,.86))}
  .pl62-detail-switcher .pl47-switcher-copy{max-width:none}
}
@media(max-width:740px){
  .pl60-dual .pl60-card .pl60-copy{display:flex;flex-direction:column;align-items:stretch}
  .pl62-brand-spacer{display:none}
  .pl60-card .pl60-logo{margin-bottom:13px}
  .pl60-card .pl60-copy>h2{margin-bottom:12px}
  .pl60-card .pl60-copy>p:not(.pl60-eyebrow){margin-bottom:16px}
  .pl60-card .pl60-actions{margin-top:0}
  .pl62-detail-switcher .pl47-switcher-copy{padding:20px 18px;border-radius:13px}
  .pl62-detail-switcher .pl47-switcher-copy h2{font-size:clamp(24px,6vw,31px)}
  .pl62-detail-switcher .pl47-switcher-copy p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.pl62-detail-switcher{scroll-behavior:auto}}
/* Pixel alignment on wide desktops: matching CTA baseline and two-button row. */
@media(min-width:1191px){
  .pl60-dual .pl60-card .pl60-copy{grid-template-rows:38px 66px 116px 105px auto}
  .pl60-card .pl60-actions{flex-wrap:nowrap;width:max-content;max-width:calc(100% + 130px)}
  .pl60-card .pl60-actions .button{white-space:nowrap}
}
@media(min-width:741px) and (max-width:1190px){
  .pl60-card .pl60-actions{flex-wrap:nowrap;width:max-content;max-width:calc(100% + 130px)}
  .pl60-card .pl60-actions .button{white-space:nowrap}
}
@media(min-width:741px){
  .pl60-dual .pl60-card .pl60-copy{width:100%}
  .pl60-dual .pl60-card .pl60-eyebrow,
  .pl60-dual .pl60-card .pl60-copy>h2,
  .pl60-dual .pl60-card .pl60-copy>p:not(.pl60-eyebrow){max-width:58%}
  .pl60-dual .pl60-card .pl60-actions{width:100%;max-width:100%;flex-wrap:nowrap}
}
@media(max-width:740px){
  .pl60-card .pl60-actions{align-self:stretch;width:100%;max-width:100%}
}

/* v0.15.10.50.63: eliminate the large flat-blue panel behind the inset text card.
   Keep the original full-bleed background, use only a translucent contrast veil. */
.pl62-detail-switcher{background:transparent}
.pl62-detail-switcher::before{opacity:1}
.pl62-detail-switcher::after{background:linear-gradient(90deg,rgba(3,17,30,.44),rgba(3,19,33,.43) 55%,rgba(3,17,30,.50))}
.pl62-detail-switcher .pl47-switcher-panels,
.pl62-detail-switcher .pl47-switcher-panel{background:transparent!important;background-image:none!important}
@media(max-width:860px){.pl62-detail-switcher::after{background:linear-gradient(180deg,rgba(3,17,30,.48),rgba(3,17,30,.57))}}
/* v0.15.10.50.63: the global *-panel glass rule accidentally blurred the complete
   switcher panel into a flat blue rectangle. Scope this exception to PL details. */
.pl62-detail-switcher .pl47-switcher-panel{
  background:transparent!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}


/* V0.15.10.50.65 – premium icon presentation and single-frame screenshot stage.
   The original Entdecken & Verbinden background is deliberately preserved:
   its embedded symbols stay pixel-identical, and the redundant HTML overlays
   have been removed from index.php. */

/* Five topic icons are supplied as approved luminous icon art already in a circular
   design. Do not add an external rounded-square tile around these images. */
.pl60-module-grid .pl60-module-card .pl57-module-icon{
  display:flex;align-items:center;justify-content:center;
  flex:0 0 58px;width:58px;height:58px;min-width:58px;
  padding:0;margin:-4px -5px -6px 0;
  border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;
  overflow:visible;
}
.pl60-module-grid .pl60-module-card .pl57-module-icon img{
  display:block;width:100%;height:100%;object-fit:contain;
  border:0;border-radius:0;box-shadow:none;
  filter:drop-shadow(0 0 7px rgba(61,214,240,.22));
}

/* The switcher itself is the single outer card. No frame inside a frame for
   the product screenshot. Click-to-zoom remains an actual button. */
.pl62-detail-switcher .pl47-switcher-media{
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  min-height:0;max-height:none;padding:0;margin:0;
  overflow:visible;background:transparent!important;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
.pl62-detail-switcher .pl48-image-open{
  display:grid;place-items:center;position:relative;
  width:100%;height:auto;min-height:0;max-height:none;
  padding:0;margin:0;cursor:zoom-in;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:visible;
}
.pl62-detail-switcher .pl48-image-open:hover{background:transparent!important;border:0!important}
.pl62-detail-switcher .pl48-image-open img{
  display:block;width:100%;height:auto;max-width:100%;max-height:515px;
  object-fit:contain;border-radius:9px;
  border:0;box-shadow:0 16px 32px rgba(0,11,24,.22);
}
.pl62-detail-switcher .pl47-visual-caption{
  position:static;left:auto;right:auto;bottom:auto;display:block;
  padding:0;margin:12px 2px 0;
  border:0;border-radius:0;background:transparent;
  color:#bdd9e4;font-size:11px;line-height:1.45;
}
.pl62-detail-switcher .pl48-zoom{
  right:12px;bottom:12px;border-radius:9px;
  background:rgba(5,31,49,.88);border:1px solid rgba(113,212,237,.42);
  box-shadow:0 7px 16px rgba(0,15,27,.22);
}
@media(max-width:850px){
  .pl60-module-grid .pl60-module-card .pl57-module-icon{width:52px;height:52px;min-width:52px;flex-basis:52px}
  .pl62-detail-switcher .pl48-image-open img{max-height:370px}
  .pl62-detail-switcher .pl47-visual-caption{margin-top:9px}
}
@media(max-width:590px){
  .pl60-module-grid .pl60-module-card .pl57-module-icon{width:50px;height:50px;min-width:50px;flex-basis:50px}
  .pl62-detail-switcher .pl48-image-open img{max-height:320px}
  .pl62-detail-switcher .pl48-zoom{font-size:11px;padding:7px 9px;right:7px;bottom:7px}
}

/* V0.15.10.50.68 – equal icon presentation for the five overview cards.
   The icon assets themselves were normalised to a shared optical footprint.
   CSS therefore keeps one consistent display box for every card. */
.pl60-module-grid .pl60-module-card .pl57-module-icon{
  flex:0 0 56px; width:56px; height:56px; min-width:56px; flex-basis:56px;
  margin:0;
}
.pl60-module-grid .pl60-module-card .pl57-module-icon img{
  width:100%; height:100%; object-fit:contain; transform:none!important;
}
@media(max-width:850px){
  .pl60-module-grid .pl60-module-card .pl57-module-icon{width:52px;height:52px;min-width:52px;flex-basis:52px;}
}
@media(max-width:590px){
  .pl60-module-grid .pl60-module-card .pl57-module-icon{width:48px;height:48px;min-width:48px;flex-basis:48px;}
}
