/* =========================================================
   TOUR / THE GREAT ADVENTURE
   Datei: content-dieneuetournee.css
========================================================= */


/* =========================================================
   1) BASICS
========================================================= */

          .tour-wrap{
            max-width: 980px;
            margin: 0 auto;
            box-sizing: border-box;
          }

          .tour-intro{
            margin-bottom: calc(var(--menu-gap) * 1.6);
            color: rgba(255,255,255,0.88);
            font-size: var(--font-size-content);
            line-height: var(--line-height-text);
          }

          .tour-wrap p{
            margin: 0 0 1rem 0;
            color: rgba(255,255,255,0.92);
            font-size: var(--font-size-content);
            line-height: var(--line-height-text);
          }

          .tour-wrap a{
            color: var(--color-link);
            text-decoration: none;
            position: relative;
            overflow-wrap: anywhere;
          }

          .tour-wrap a::after{
            content: "";
            position: absolute;
            left: 50%;
            bottom: -2px;
            width: 0;
            height: 1.5px;
            background: currentColor;
            transition: width .25s ease, left .25s ease;
          }

          .tour-wrap a:hover{
            color: var(--color-link-hover);
          }

          .tour-wrap a:hover::after{
            width: 100%;
            left: 0;
          }


/* =========================================================
   2) SEKTIONEN
========================================================= */

          .tour-section{
            margin-top: calc(var(--menu-gap) * 1.1);
            padding: calc(var(--menu-gap) * 1.05);

            border: 1px solid rgba(255,255,255,0.22);
            border-radius: var(--radius-sm);
            background: rgba(0,0,0,0.12);

            transition: background .2s ease, border-color .2s ease;
          }

          .tour-section:hover{
            background: rgba(0,0,0,0.18);
            border-color: rgba(255,255,255,0.32);
          }

          .tour-title{
            margin: 0 0 14px 0;

            font-family: var(--font-style-headline);
            font-size: calc(var(--font-size-headline-section) * 0.9);
            color: #fff;
          }


/* =========================================================
   3) TOUR – SPRUNGNAVIGATION
========================================================= */

          .tour-sprungbox{
            max-width: 60%;
            margin: 0 auto calc(var(--menu-gap) * 0.9) auto;

            padding: 0.35rem 0.55rem 0.1px 0.55rem;

            border: 1px solid rgba(255,255,255,0.28);
            border-radius: var(--radius-sm);
            background: rgba(255,255,255,0.025);

            box-shadow:
              inset 0 0 0 1px rgba(255,255,255,0.08),
              0 6px 18px rgba(0,0,0,0.25);
          }

          .tour-sprunglabel{
            display: flex;
            align-items: center;
            justify-content: center;

            margin: 0;
            padding: 0.1rem 0 0.15rem 0;

            cursor: pointer;
            list-style: none;
            text-align: center;

            font-family: var(--font-style-ui);
            font-size: calc(var(--font-size-content) * 0.85);
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;

            color: rgba(180,190,255,0.75);
          }

          .tour-sprunglabel::-webkit-details-marker{
            display: none;
          }

          .tour-sprunglabel-text{
            position: relative;
            display: inline-block;
            padding-right: 1.15rem;
          }

          .tour-sprunglabel-text::after{
            content: "▾";
            position: absolute;
            right: 0;
            top: 50%;

            transform: translateY(-48%);
            font-size: 0.85rem;
            line-height: 1;

            transition: transform .25s ease;
          }

          .tour-sprungbox[open] .tour-sprunglabel-text::after{
            transform: translateY(-48%) rotate(180deg);
          }

          .tour-sprungnav{
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: calc(var(--menu-gap) * 0.95);
            margin: 8px 0 10px 0;
          }

          .tour-sprunglink{
            display: inline-flex;
            align-items: center;
            justify-content: center;

            padding: 0.4rem 0.75rem;
            border-radius: var(--radius-sm);

            font-family: var(--font-style-ui);
            font-size: calc(var(--font-size-headline-minor) * 0.88);
            font-weight: 800;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            text-decoration: none;

            color: var(--color-text);
            background: var(--color-box-bg);
            border: 1px solid var(--color-box-border);

            box-shadow: var(--shadow-soft);

            transition:
              background 0.2s ease,
              border-color 0.2s ease,
              transform 0.15s ease,
              box-shadow 0.15s ease;
          }

          .tour-sprunglink:hover{
            background: var(--color-box-bg-strong);
            border-color: var(--color-box-border-strong);
            transform: translateY(-1px);
            box-shadow: var(--shadow-medium);
          }

          .tour-sprunglink:active{
            transform: translateY(0);
          }

          .tour-sprunglink.is-active{
            background: var(--color-box-bg-strong);
            border-color: var(--color-box-border-strong);
            box-shadow: var(--shadow-strong);
          }


/* =========================================================
   4) SHOW-FACTS – BASIS
========================================================= */

          .tour-facts{
            display: grid;
            gap: calc(var(--menu-gap) * 0.95);
            align-items: stretch;
            margin-bottom: calc(var(--menu-gap) * 0.4);
          }

          .tour-factgroup{
            height: 100%;
            padding: 14px 16px;

            display: flex;
            flex-direction: column;

            border: 1px solid rgba(255,255,255,0.14);
            border-radius: var(--radius-sm);
            background: rgba(255,255,255,0.03);
          }

          .tour-facttitle{
            margin: 0 0 10px 0;

            font-family: var(--font-style-headline);
            font-size: calc(var(--font-size-headline-minor) * 1.02);
            color: #fff;
          }

          .tour-factlist{
            margin: 0;
            padding: 0;
            list-style: none;

            display: grid;
            gap: 8px;
          }

          .tour-factlist li{
            position: relative;
            padding-left: 24px;

            color: rgba(255,255,255,0.92);
            font-family: var(--font-style-text);
            font-size: var(--font-size-content);
            line-height: 1.4;
          }

          .tour-factlist li::before{
            content: "›";
            position: absolute;
            left: 8px;
            top: 0;

            color: rgba(255,255,255,0.55);
            font-weight: 900;
          }

          .tour-facts-source{
            grid-column: 1 / -1;

            display: flex;
            flex-direction: column;
            align-items: flex-end;

            margin-top: calc(var(--menu-gap) * 0.9);
            padding-top: calc(var(--menu-gap) * 0.5);

            border-top: 1px solid rgba(255,255,255,0.12);

            max-width: none !important;
            width: 100%;
          }

          .tour-facts-source-label{
            display: block;
            margin: 0 0 2px 0;

            font-size: calc(var(--font-size-content) * 0.68);
            line-height: 1.3;
            font-weight: 700;
            color: rgba(255,255,255,0.78);
            text-align: right;
          }

          .tour-facts-source-text{
            display: block;
            width: min(100%, 370px);

            font-size: calc(var(--font-size-content) * 0.68);
            line-height: 1.35;
            color: var(--color-font-credit) !important;
            text-align: right;
          }

          .tour-facts-source-text a{
            color: var(--color-link);
            text-decoration: none;
            position: relative;
          }

          .tour-facts-source-text a:hover{
            color: var(--color-link-hover);
          }

/* =========================================================
   5) SHOW-FACTS – FARBLICH HERVORHEBEN
========================================================= */

          .tour-section-facts{
            background: var(--color-highlight-section-bg);
            border: 1px solid var(--color-highlight-section-border);
          }

          .tour-section-facts:hover{
            background: var(--color-highlight-section-bg-hover);
            border-color: var(--color-highlight-section-border-hover);
          }

          .tour-section-facts .tour-factgroup{
            background: var(--color-highlight-box-bg);
            border: 1px solid var(--color-highlight-box-border);

            box-shadow: 0 10px 28px rgba(0,0,0,0.45);
          }

          .tour-section-facts .tour-factgroup:hover{
            background: var(--color-highlight-box-bg-hover);
            border-color: var(--color-highlight-box-border-hover);
          }


/* =========================================================
   6) SHOW-FACTS – BIG NUMBERS
========================================================= */

          .fact-number{
            display: inline-block;
            margin-right: 6px;

            font-family: var(--font-style-headline);
            font-size: 1.6em;
            font-weight: 800;
            line-height: 1;
            color: #ffffff;
          }


/* =========================================================
   7) TOUR – FOTOGALERIE
========================================================= */

          .tour-gallery{
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 22px;

            max-width: 980px;
            margin: 0 auto;
          }

          .tour-shot{
            margin: 0;
            padding: 8px;
            width: calc(33.333% - 15px);

            overflow: hidden;

            border: 1px solid var(--color-tour-gallery-shot-border);
            border-radius: var(--radius-sm);
            background: var(--color-highlight-box-bg);

            box-shadow: 0 10px 24px rgba(0,0,0,0.45);

            transition:
              transform 0.25s ease,
              box-shadow 0.25s ease;
          }

          .tour-shot img{
            display: block;
            width: 100%;
            height: 180px;

            object-fit: cover;
            object-position: center;

            border-radius: calc(var(--radius-sm) * 0.65);
          }

          .tour-shot:nth-child(odd){
            transform: rotate(-2.5deg);
          }

          .tour-shot:nth-child(even){
            transform: rotate(2.5deg);
          }

          .tour-shot:nth-child(3){
            transform: rotate(-1deg);
          }

          .tour-shot:nth-child(4){
            transform: rotate(3deg);
          }

          .tour-shot:hover{
            transform: rotate(0deg) scale(1.05);
            box-shadow: 0 16px 36px rgba(0,0,0,0.45);
          }

          .tour-gallery-note{
            margin: -0.35rem 0 calc(var(--menu-gap) * 1) 0;
            text-align: left;

            font-family: var(--font-style-text);
            font-size: calc(var(--font-size-content) * 0.95);
            line-height: var(--line-height-text);

            color: var(--color-tour-gallery-note);
          }


/* =========================================================
   8) TOUR – SETLISTE
========================================================= */

          .tour-setlist-note{
            margin: -0.2rem 0 calc(var(--menu-gap) * 1) 0;

            font-family: var(--font-style-text);
            font-size: calc(var(--font-size-content) * 0.95);
            line-height: var(--line-height-text);
            color: var(--color-tour-setlist-note);
          }

          .tour-setlist-box{
            position: relative;
            padding: calc(var(--menu-gap) * 0.9);

            border: 1px solid var(--color-highlight-box-border);
            border-radius: var(--radius-sm);
            background: var(--color-highlight-box-bg);

            box-shadow: 0 10px 28px rgba(0,0,0,0.45);
          }

          .tour-setlist-box::after{
            content: "";
            position: absolute;

            top: 1px;
            bottom: 1px;
            left: 50%;

            width: 2px;
            transform: translateX(-50%);

            background: linear-gradient(
              to bottom,
              transparent,
              var(--color-highlight-section-bg) 15%,
              var(--color-highlight-section-bg) 85%,
              transparent
            );

            opacity: 0.75;
            pointer-events: none;
          }

          .tour-setlist{
            margin: 0;
            padding: 0;
            list-style: none;

            column-count: 2;
            column-gap: 70px;

            color: rgba(255,255,255,0.60);
            font-family: var(--font-style-text);
            font-size: var(--font-size-content);
            line-height: 1.45;
          }

          .tour-setlist li{
            break-inside: avoid;
            display: grid;
            grid-template-columns: 74px 1fr;
            gap: 10px;
            margin: 0 0 0.45rem 0;
          }

          .tour-setlist .set-num{
            display: block;
            text-align: right;

            font-variant-numeric: tabular-nums;
            font-feature-settings: "tnum" 1;

            color: rgba(255,255,255,0.60);
            font-size: calc(var(--font-size-content) * 0.7);
            font-weight: 700;

            line-height: 2.40;
          }

          .tour-setlist .set-title{
            display: block;
            text-align: left;
            line-height: 1.45;

            color: rgba(255,255,255,0.96);
          }

          .tour-setlist-break{
            break-inside: avoid;
            display: block !important;
            margin: 1rem 0 0.5rem 0 !important;
            padding: 0 !important;

            list-style: none;
            text-align: center;

            font-family: var(--font-style-ui);
            font-size: calc(var(--font-size-content) * 0.9);
            font-weight: 500;
            letter-spacing: 0.08em;
            text-transform: uppercase;

            color: var(--color-tour-setlist-break);
            opacity: 0.9;
          }


/* =========================================================
   9) TABELLEN-HEADER / HINWEIS
========================================================= */

          .tour-table-head{
            margin-bottom: 12px;
          }

          .tour-table-head .tour-title{
            margin-bottom: 0;
          }

          .tour-table-scrollhint{
            display: none;
            margin-bottom: 8px;

            font-family: var(--font-style-text);
            font-size: 0.85rem;
            color: rgba(255,255,255,0.65);
            text-align: right;
          }


/* =========================================================
   10) TABELLEN-WRAPPER
========================================================= */

          .tour-table-wrap{
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
          }


/* =========================================================
   11) TOUR-TABELLE
========================================================= */

          .tour-section-table{
            background: var(--color-highlight-section-bg);
            border: 1px solid var(--color-highlight-section-border);
          }

          .tour-section-table:hover{
            background: var(--color-highlight-section-bg-hover);
            border-color: var(--color-highlight-section-border-hover);
          }

          .tour-table{
            width: 100%;
            border-collapse: collapse;

            font-family: var(--font-style-text);
            color: rgba(255,255,255,0.92);
            background: var(--color-highlight-box-bg);
            border: 1px solid rgba(255,255,255,0.16);
          }

          .tour-table th,
          .tour-table td{
            padding: 10px 12px;
            border-bottom: 1px solid rgba(255,255,255,0.10);

            text-align: left;
            vertical-align: top;
          }

          .tour-table thead th{
            font-family: var(--font-style-ui);
            font-weight: 800;
            letter-spacing: 0.03em;

            color: #fff;
            background: rgba(255,255,255,0.06);
            white-space: nowrap;
          }

          .tour-table tbody tr:last-child td{
            border-bottom: none;
          }

          .tour-table tbody tr:hover{
            background: rgba(255,255,255,0.04);
          }

          .tour-note{
            display: block;
            margin-top: 2px;

            font-size: 0.78rem;
            line-height: 1.25;
            color: rgba(255,255,255,0.68);
          }


/* =========================================================
   12) TOUR-TABELLE – SPALTEN
========================================================= */

          .tour-table th:nth-child(1),
          .tour-table td:nth-child(1){
            width: 78px;
            white-space: nowrap;
          }

          .tour-table th:nth-child(2),
          .tour-table td:nth-child(2){
            width: 120px;
            white-space: nowrap;
          }

          .tour-table th:nth-child(3),
          .tour-table td:nth-child(3){
            min-width: 150px;
          }

          .tour-table th:nth-child(4),
          .tour-table td:nth-child(4){
            width: 70px;
            text-align: center;
            white-space: nowrap;
          }

          .tour-table th:nth-child(5),
          .tour-table td:nth-child(5){
            min-width: 220px;
          }


/* =========================================================
   13) HINWEISE AUS termine.js
========================================================= */

          .tour-table tr.vergangen{
            opacity: 0.68;
          }

          .tour-table tr.heute-karte{
            background: rgba(255,255,255,0.08);
            box-shadow: inset 3px 0 0 rgba(255,255,255,0.38);
          }


              /* TOUR-TABELLE – komplette Info-Spalte ausblenden */
                  .tour-table td[data-label="Info"],
                  .tour-table th[data-label="Info"]{
                    display: none;
                  }  


/* =========================================================
   14) TAG AUS termine.js
========================================================= */

          .tour-table .tag-short{
            display: inline;
          }

          .tour-table .tag-long{
            display: none;
          }


/* =========================================================
   15) TICKETZEILE
========================================================= */

          .tour-ticketline{
            margin-top: 1rem !important;
            margin-bottom: 0 !important;
            color: rgba(255,255,255,0.92);
          }


/* =========================================================
   16) EXTERNE LINKS
========================================================= */

          .extlink{
            position: relative;
            display: inline-block;
            padding-right: 1.35em;
          }

          .extlink[target="_blank"]::before{
            content: "⧉";
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-55%);

            font-size: 0.85em;
            line-height: 1;
            opacity: 0.75;
            pointer-events: none;

            transition: opacity 0.2s ease, transform 0.2s ease;
          }

          .extlink[target="_blank"]:hover::before{
            opacity: 1;
            transform: translateY(-55%) translate(2px, -2px);
          }


/* =========================================================
   17) BÜHNENCREW
========================================================= */

          .tour-crew-box{
            margin: calc(var(--menu-gap) * 1.4) auto 0 auto;
            max-width: 720px;
            text-align: center;

            padding: 8px;

            border: 1px solid var(--color-tour-gallery-shot-border);
            border-radius: var(--radius-sm);
            background: var(--color-highlight-section-bg);

            box-shadow: 0 10px 24px rgba(0,0,0,0.35);

            transform: rotate(-1deg);
          }

          .tour-crew-photo{
            margin: 0;
            text-align: center;
          }

          .tour-crew-photo img{
            display: block;
            width: 100%;
            height: auto;

            border-radius: calc(var(--radius-sm) * 0.65);

            transition:
              transform .3s ease,
              box-shadow .3s ease;

            cursor: zoom-in;
          }

          .tour-crew-photo img:hover{
            transform: rotate(0deg) scale(1.01);
          }

          .tour-crew-photo figcaption{
            margin-top: 0.55rem;

            font-size: calc(var(--font-size-content) * 0.9);
            line-height: var(--line-height-text);
            color: rgba(255,255,255,0.78);
          }

          .photo-credit{
            display: block;
            margin-top: 0.4rem;

            font-size: calc(var(--font-size-content) * 0.7);
            letter-spacing: 0.03em;

            color: var(--color-font-credit);
          }


/* =========================================================
   18) BÜHNENCREW NAMEN
========================================================= */

          .tour-crew-names{
            margin: 1.15rem 0 0 0;
            padding: 0.95rem 0 0 0;

            list-style: none;

            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.35rem;

            font-size: calc(var(--font-size-content) * 0.82);
            letter-spacing: 0.04em;
            text-transform: none;

            color: rgba(255,255,255,0.68);

            position: relative;
          }

          .tour-crew-names::before{
            content: "";
            position: absolute;

            top: 0;
            left: 7%;
            right: 7%;

            height: 1.5px;

            background: linear-gradient(
              to right,
              transparent,
            var(--color-tour-crew-divider) 15%,
            var(--color-tour-crew-divider) 85%,
              transparent
            );

            opacity: 0.9;
          }

          .tour-crew-names li{
            white-space: nowrap;
          }

          .tour-crew-names li + li::before{
            content: "•";
            margin: 0 0.45rem;
            color: rgba(255,255,255,0.45);
          }


/* =========================================================
   19) RESPONSIVE – SHOW-FACTS
========================================================= */

@media (min-width: 860px){

          .tour-facts{
            grid-template-columns: repeat(2, minmax(0, 1fr));
          }
}


/* =========================================================
   20) RESPONSIVE – SPRUNGNAVIGATION
========================================================= */

@media (max-width: 700px){

          .tour-sprungbox{
            max-width: 100%;
          }

          .tour-sprungnav{
            flex-direction: column;
            align-items: center;
            margin-top: calc(var(--menu-gap) * 0.5);
          }

          .tour-sprunglink{
            width: 75%;
            padding: 0.55rem 0.9rem;
            font-size: calc(var(--font-size-headline-minor) * 1.05);
          }
}

@media (min-width: 701px) and (max-width: 1500px){

          .tour-sprunglink{
            padding: 0.55rem 1rem;
            font-size: calc(var(--font-size-headline-minor) * 1.1);
          }
}


/* =========================================================
   21) RESPONSIVE – FOTOGALERIE
========================================================= */

@media (max-width: 900px){

          .tour-shot{
            width: calc(50% - 11px);
          }
}

@media (max-width: 700px){

          .tour-gallery{
            gap: 16px;
          }

          .tour-shot{
            width: 100%;
            max-width: 340px;
            transform: none !important;
          }

          .tour-shot img{
            width: 100%;
            height: auto;
          }
}


/* =========================================================
   22) RESPONSIVE – TABELLE / MOBILE
========================================================= */

@media (max-width: 700px){

          .tour-table-scrollhint{
            display: block;
          }

          .tour-wrap p{
            text-align: left;
          }

          .tour-table{
            min-width: 640px;
          }

          .tour-ticketline{
            text-align: left;
          }

          .tour-table .tag-short{
            display: none;
          }

          .tour-table .tag-long{
            display: inline;
          }
}


/* =========================================================
   23) RESPONSIVE – ALLGEMEIN
========================================================= */

@media (max-width: 768px){

          .tour-section{
            padding: calc(var(--menu-gap) * 0.9);
          }

          .tour-intro{
            margin-bottom: calc(var(--menu-gap) * 1.2);
          }

          .tour-factgroup{
            padding: 12px 14px;
          }
}


/* =========================================================
   24) RESPONSIVE – SETLISTE
========================================================= */

@media (max-width: 700px){

          .tour-setlist{
            column-count: 1;
            column-gap: 0;
          }

          .tour-setlist-box::after{
            display: none;
          }

          .tour-setlist li{
            grid-template-columns: 68px 1fr;
            gap: 8px;
          }
}


/* =========================================================
   25) RESPONSIVE – BÜHNENCREW
========================================================= */

@media (max-width: 700px){

          .tour-crew-box{
            transform: none;
          }
}