/* FXCHS V3.29 — green film leads the mobile room; actual gestures reach
   the canvas underneath the cinematic loading curtain. */

/* The real FXCHS green belongs to the current film's information window. */
body.fxv2 .fxv321-current-caption{
  background:linear-gradient(128deg,#3de138ed,#25bd23f2)!important;
  border-color:rgba(235,255,231,.67)!important;
  color:#061b0a!important;
  box-shadow:0 13px 34px #0007!important;
}
body.fxv2 .fxv321-current-caption small,
body.fxv2 .fxv321-current-caption p,
body.fxv2 .fxv321-current-caption a{color:#092b0c!important}
body.fxv2 .fxv321-current-caption a{font-weight:800}

/* The curtain is only a picture and its single load button. It must never
   act as an invisible full-screen touch shield above the swipe canvas. */
body.fxv2 .fxv2-pano[data-v2-scene="home"] .fxv321-video-curtain{
  pointer-events:none!important;
}
body.fxv2 .fxv2-pano[data-v2-scene="home"] .fxv321-video-curtain button{
  pointer-events:auto!important;
}
/* Cinema may begin before the hidden panoramic source has loaded. Its clear
   gesture canvas must already be hittable while the film is visible. */
body.fxv2 .fxv2-world .fxv2-pano[data-v2-scene="home"]>.fxv2-pano-canvas{
  display:block!important;pointer-events:auto!important;touch-action:none!important;
}

/* Local film-window preview: platform buttons remain on fxchs.de and only
   load a third-party embed if the visitor deliberately requests it. */
body.fxv2 .fxv329-media-dialog{
  box-sizing:border-box;position:fixed;inset:0;margin:auto;
  width:min(610px,calc(100vw - 24px));max-width:calc(100vw - 24px);
  height:max-content;max-height:calc(100dvh - var(--v2-header-height,76px) - var(--v2-footer-height,42px) - 22px);
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding:55px clamp(14px,3.5vw,24px) 20px;border-radius:16px;
  border:1px solid rgba(210,246,216,.5);background:#10251b;color:#f4fff5;
  box-shadow:0 26px 85px #000b;text-align:left;
}
body.fxv2 .fxv329-media-dialog:not([open]){display:none}
body.fxv2 .fxv329-media-dialog::backdrop{background:#020905cd;backdrop-filter:blur(8px)}
body.fxv2 .fxv329-media-close{
  position:sticky;z-index:3;top:-46px;float:right;margin-top:-43px;
  appearance:none;min-height:38px;border:1px solid #76ad81;
  border-radius:8px;background:#286b35;color:#fff;
  padding:8px 13px;font:700 12px/1.25 system-ui,sans-serif;cursor:pointer;
}
body.fxv2 .fxv329-media-body{display:grid;gap:13px;min-width:0;clear:both}
body.fxv2 .fxv329-media-body small{color:#96e7a7;letter-spacing:.11em;font-size:11px;font-weight:800;text-transform:uppercase}
body.fxv2 .fxv329-media-body h2{margin:0;color:#fff;font-size:clamp(23px,5vw,32px);line-height:1.1;overflow-wrap:anywhere}
body.fxv2 .fxv329-media-body p{margin:0;color:#d5e3d7;font-size:13px;line-height:1.52}
body.fxv2 .fxv329-media-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:3px}
body.fxv2 .fxv329-media-actions :is(button,a){
  appearance:none;display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;min-height:43px;padding:10px 13px;
  border:1px solid #97ce9e;border-radius:8px;
  background:#215e2d;color:#fff;text-decoration:none;
  font:700 12px/1.3 system-ui,sans-serif;cursor:pointer;
}
body.fxv2 .fxv329-media-actions a{background:transparent;color:#b4f2be}
body.fxv2 .fxv329-media-stage{min-width:0;max-width:100%;overflow:hidden;border-radius:10px;background:#07100a}
body.fxv2 .fxv329-media-stage iframe{
  display:block;box-sizing:border-box;max-width:100%;border:0;
}
body.fxv2 .fxv329-media-stage .fxv329-media-poster{
  display:block;width:100%;max-height:210px;object-fit:cover;object-position:center;
}
body.fxv2 .fxv329-media-stage iframe[data-fxv329-youtube]{width:100%;aspect-ratio:16/9;height:auto}
body.fxv2 .fxv329-media-stage iframe[data-fxv329-tiktok]{width:min(100%,325px);height:min(66dvh,520px);margin:auto}
body.fxv2 .fxv329-media-stage .fxv289-reel-player{max-width:100%;margin:auto}
body.fxv2 .fxv329-media-stage .fxv289-reel-start{display:grid;gap:9px;justify-items:start;padding:14px}
body.fxv2 .fxv329-media-stage .fxv289-reel-start button{
  min-height:43px;background:#286b35;border:1px solid #92dca3;color:#fff;
  padding:10px 15px;border-radius:8px;cursor:pointer;
}
body.fxv2 .fxv329-media-dialog :is(a,button):focus-visible{outline:2px solid #abfcb4;outline-offset:3px}

/* A real chronological blog breadcrumb, never a made-up "Beobachtung" node. */
body.fxv2 .fxv329-blog-crumbs{
  display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;
  max-width:100%;margin:0 0 17px;color:#4d6a59;
  font:750 11px/1.6 system-ui,sans-serif;letter-spacing:.035em;
}
body.fxv2 .fxv329-blog-crumbs a{color:#24663a;text-decoration:underline;text-underline-offset:3px}
body.fxv2 .fxv329-blog-crumbs [aria-current="page"]{color:#536c5d;overflow-wrap:anywhere}
body.fxv2 .fxv329-blog-crumbs a:focus-visible{outline:2px solid #28c018;outline-offset:3px}

/* Give the first window room to breathe. Symmetric inset is a layout rule,
   not four independently tuned values that drift apart on smaller screens. */
body.fxv2 .fxv2-hybrid-panel :is(.fxv2-page-intro,.fxv2-article-intro){
  padding:clamp(38px,5.2vw,78px)!important;
  margin-top:clamp(28px,3.6vw,51px)!important;
}
body.fxv2 .fxv2-hybrid-panel .fxv2-article-content{
  padding:clamp(25px,4vw,58px)!important;
}
body.fxv2 .fxv2-article-page .fxv329-text-first{
  margin-bottom:clamp(28px,4vw,56px)!important;
}
body.fxv2 .fxv329-inline-media:not([hidden]){
  display:grid;gap:clamp(18px,2.8vw,32px);margin-top:clamp(24px,3vw,43px);
}
body.fxv2 .fxv329-inline-media :is(figure,.gallery,.fx-panorama-block){
  width:100%;max-width:100%;min-width:0;margin:0;
}
body.fxv2 .fxv329-inline-media :is(img,video,audio,iframe){max-width:100%}
body.fxv2 .fxv329-inline-media .gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:13px}
body.fxv2 .fxv329-inline-media .gallery img{height:auto;width:100%;object-fit:contain}

@media (max-width:650px){
  body.fxv2 .fxv2-hybrid-panel :is(.fxv2-page-intro,.fxv2-article-intro){
    padding:clamp(23px,6vw,31px)!important;margin-top:26px!important;
    margin-bottom:32px!important;
  }
  body.fxv2 .fxv2-hybrid-panel .fxv2-article-content{padding:clamp(21px,5.6vw,27px)!important}
  body.fxv2 .fxv2-article-page .fxv329-text-first{margin-bottom:26px!important}
}

@media (max-width:760px), (max-height:500px) and (pointer:coarse){
  /* The original lower-left caption is replaced by the same film's green
     lead teaser inside the centered three-channel group: no duplication. */
  body.fxv2 .fxv2-pano[data-v2-scene="home"] .fxv321-current-caption{display:none!important}
  body.fxv2 .fxv2-pano[data-v2-scene="home"] .fxv327-mobile-start{
    pointer-events:none;
    gap:9px;
  }
  body.fxv2 .fxv2-pano[data-v2-scene="home"] .fxv329-mobile-film-hero{
    box-sizing:border-box;display:grid;align-content:center;gap:5px;
    min-width:0;min-height:120px;padding:15px 17px;
    text-align:left;text-decoration:none;pointer-events:auto;
    border-radius:12px;border:1px solid #b2ffac;
    background:linear-gradient(126deg,#43e53ee9,#28bf28f1);
    color:#081b09;box-shadow:0 9px 30px #0008;
  }
  body.fxv2 .fxv329-mobile-film-hero small{
    color:#103c13;font:850 10px/1.25 system-ui,sans-serif;letter-spacing:.09em;
  }
  body.fxv2 .fxv329-mobile-film-hero strong{
    color:#071b08;font:820 clamp(16px,4.1vw,23px)/1.16 system-ui,sans-serif;
    overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  }
  body.fxv2 .fxv329-mobile-film-description{
    color:#143b16;font:600 11px/1.35 system-ui,sans-serif;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  }
  body.fxv2 .fxv329-mobile-film-action{
    color:#0b280c;font:800 11px/1.3 system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;
    margin-top:3px;
  }
  body.fxv2 .fxv329-mobile-film-hero:focus-visible{outline:2px solid #fff;outline-offset:3px}
  body.fxv2 .fxv327-mobile-platforms{pointer-events:none}
  body.fxv2 .fxv327-mobile-platforms .fxv327-mobile-card{
    appearance:none;font-family:inherit;cursor:pointer;pointer-events:auto;
  }
}
@media (max-height:500px) and (pointer:coarse){
  body.fxv2 .fxv2-pano[data-v2-scene="home"] .fxv329-mobile-film-hero{
    min-height:76px;padding:8px 11px;gap:2px;
  }
  body.fxv2 .fxv329-mobile-film-hero strong{font-size:13px;-webkit-line-clamp:2}
  body.fxv2 .fxv329-mobile-film-description{display:none}
  body.fxv2 .fxv329-mobile-film-action{font-size:10px;margin:0}
}
@media(prefers-reduced-motion:reduce){
  body.fxv2 .fxv321-video-player{translate:0 0!important}
}

/* V3.29: archival search is a quiet final line, not another floating window.
   It comes after all entries, while the month/year options remain usable. */
body.fxv2 .fxv2-hybrid-panel .fxv329-search-tail,
body.fxv2 .fxv329-search-tail{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  flex-wrap:wrap!important;gap:10px!important;width:100%;max-width:760px;
  margin:clamp(35px,5vw,65px) auto 10px!important;padding:12px 0!important;
  border:0!important;border-top:1px solid #d2dcd1!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
body.fxv2 .fxv329-search-tail>label:not(.fxv2-year-label){
  color:#466355;font:750 12px/1.4 system-ui,sans-serif;
  margin:0 8px 0 0!important;flex:0 0 auto!important;
}
body.fxv2 .fxv329-search-tail>input[type="search"]{
  flex:1 1 210px!important;min-width:0!important;width:auto!important;
  max-width:360px!important;height:40px!important;min-height:40px!important;
  padding:9px 12px!important;border:1px solid #b3c3b4!important;
  border-radius:8px!important;background:#fff!important;
}
body.fxv2 .fxv329-search-tail>button{
  min-height:40px!important;height:40px!important;padding:7px 16px!important;
  border-radius:8px!important;background:#245b36!important;border:0!important;color:white!important;
}
body.fxv2 .fxv329-search-tail>.fxv297-search-options{
  order:5;flex:0 0 100%;width:100%;max-width:100%;margin:0!important;
}
body.fxv2 .fxv329-search-tail>.fxv297-search-options summary{
  width:max-content;max-width:100%;font-size:11px;cursor:pointer;
}
@media(max-width:650px){
  body.fxv2 .fxv329-search-tail{gap:8px!important;margin-top:30px!important}
  body.fxv2 .fxv329-search-tail>label:not(.fxv2-year-label){flex:0 0 100%!important}
  body.fxv2 .fxv329-search-tail>input[type="search"]{flex:1 1 160px!important;width:min(55%,250px)!important;max-width:none!important}
}

/* Friends & Network: same catalogue list grammar as Blog and Portfolio,
   but sized to actual contact names and optional film links. */
body.fxv2 .fxv2-network-section{max-width:100%;min-width:0}
body.fxv2 .fxv2-network-grid.is-v2-list>.fxv2-network-card{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch!important;gap:0!important;min-height:58px!important;
  padding:0!important;margin:0!important;border-radius:0!important;
  background:#f1f5ee!important;border-bottom:1px solid #d8e1d6;
}
body.fxv2 .fxv2-network-grid.is-v2-list>.fxv2-network-card:nth-child(even){background:#e9f0e8!important}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-network-card>.fxv2-card-link{
  display:grid!important;grid-template-columns:40px minmax(0,1fr) minmax(80px,170px)!important;
  gap:13px!important;align-items:center!important;width:100%!important;
  padding:10px 14px!important;background:transparent!important;min-height:58px!important;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv277-network-media{
  display:grid!important;place-items:center!important;
  width:40px!important;height:40px!important;min-height:40px!important;
  aspect-ratio:1!important;border-radius:8px!important;
  color:#245437!important;background:#d6e9d3!important;font-size:20px!important;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-body{
  display:grid!important;gap:2px!important;padding:0!important;min-width:0!important;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-body strong{
  display:block!important;white-space:nowrap!important;overflow:hidden!important;
  text-overflow:ellipsis!important;font-size:clamp(13px,1.2vw,16px)!important;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-body .fxv2-card-meta,
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-col-category{display:none!important}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-body .fxv2-card-copy{
  display:block!important;white-space:nowrap!important;overflow:hidden!important;
  text-overflow:ellipsis!important;font-size:11px!important;color:#5d7163!important;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-col-date{
  display:block!important;min-width:0!important;max-width:100%;
  text-align:right;color:#597564!important;font-size:11px!important;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-network-card>.fxv2-network-video{
  display:flex!important;align-items:center!important;justify-content:center;
  margin:10px 13px 10px 0!important;padding:7px 11px!important;
  color:#1e5d39!important;background:#dceade!important;
  border-radius:7px!important;text-decoration:none!important;
  font-size:11px!important;font-weight:750;white-space:nowrap;
}
body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-network-card>.fxv2-network-video:hover{text-decoration:underline!important}
body.fxv2 .fxv2-network-grid:not(.is-v2-list)>.fxv2-network-card{
  display:flex!important;flex-direction:column!important;
  min-width:0!important;height:100%;border-radius:12px!important;
}
body.fxv2 .fxv2-network-grid:not(.is-v2-list) .fxv2-network-video{
  margin:auto 12px 13px!important;padding-top:12px;
}
@media(max-width:750px){
  body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-network-card>.fxv2-card-link{
    grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important;
    padding:10px!important;
  }
  body.fxv2 .fxv2-network-grid.is-v2-list .fxv277-network-media{
    width:36px!important;height:36px!important;min-height:36px!important;font-size:18px!important;
  }
  body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-card-col-date{display:none!important}
}
@media(max-width:570px){
  body.fxv2 .fxv2-network-grid.is-v2-list>.fxv2-network-card{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.fxv2 .fxv2-network-grid.is-v2-list .fxv2-network-card>.fxv2-network-video{
    justify-self:start;margin:0 10px 10px 56px!important;padding:5px 9px!important;
  }
}
