:root{--yellow:#ffd400;--yellow-deep:#f4c400;--ink:#101315;--muted:#60676d;--paper:#f5f5f2;--line:#dcdedc;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.ct-giro-template{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.ctgiro-page{overflow:hidden}.ctgiro-page a{color:inherit;text-decoration:none}.ctgiro-page button,.ctgiro-page input,.ctgiro-page select,.ctgiro-page textarea{font:inherit}
.site-header{height:82px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;gap:38px;background:#080a0b;color:#fff;position:relative;z-index:20}.brand{display:inline-flex;align-items:center;gap:12px;min-width:210px;margin-right:auto}.brand>span:last-child{display:flex;flex-direction:column;line-height:.82}.brand strong{font-size:21px;letter-spacing:.03em;color:#fff}.brand small{margin-top:8px;color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.285em;padding-left:1px}.brand-mark{width:46px;height:32px;position:relative;display:block}.brand-mark i{position:absolute;display:block;width:22px;height:22px;border-left:3px solid var(--yellow);border-top:3px solid var(--yellow);transform:rotate(45deg);top:9px}.brand-mark i:nth-child(1){left:0}.brand-mark i:nth-child(2){left:13px;top:1px}.brand-mark i:nth-child(3){left:26px}.site-header nav{display:flex;justify-content:center;gap:clamp(22px,3vw,48px);margin-left:auto}.site-header nav a{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.86;color:#fff}.site-header nav a:hover{color:var(--yellow);opacity:1}.header-cta{margin-left:auto;background:var(--yellow);color:#090a0b;padding:14px 21px;border-radius:6px;font-size:13px;font-weight:900;text-transform:uppercase}
.hero{min-height:675px;background:#0b0e10;color:#fff;display:grid;grid-template-columns:48% 52%}.hero-copy{padding:clamp(62px,7vw,110px) clamp(34px,6vw,96px);display:flex;flex-direction:column;justify-content:center;position:relative}.hero-copy::after{content:"GIRO";position:absolute;left:8%;bottom:1%;font-size:clamp(90px,14vw,200px);font-weight:950;letter-spacing:-.07em;color:rgba(255,255,255,.025);pointer-events:none}.eyebrow{margin:0 0 16px;color:#c4a500;text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:900}.hero .eyebrow,.booking .eyebrow,.stages .eyebrow{color:var(--yellow)}.hero h1{max-width:720px;margin:0;font-size:clamp(48px,4vw,68px);line-height:.98;letter-spacing:-.055em;font-weight:900;color:#fff;text-wrap:balance;hyphens:auto}.hero-lead{max-width:670px;margin:28px 0 30px;color:#c8cccf;font-size:clamp(18px,1.6vw,22px);line-height:1.55}.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #34383b;border-bottom:1px solid #34383b;margin:0 0 32px;padding:20px 0;max-width:660px}.hero-meta span{padding:0 18px;border-left:1px solid #34383b;display:flex;flex-direction:column;gap:5px}.hero-meta span:first-child{padding-left:0;border-left:0}.hero-meta b{color:#fff;font-size:16px}.hero-meta small{color:#969da2;font-size:12px}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center;width:100%;max-width:660px}.hero-actions .button{width:100%;min-width:0;white-space:nowrap;text-align:center;line-height:1;align-items:center;justify-content:center}.button{min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.02em;cursor:pointer}.button-primary{background:var(--yellow);color:#0b0d0e;box-shadow:0 9px 25px rgba(255,212,0,.15)}.button-primary:hover{background:#ffe04a;transform:translateY(-1px)}.button-ghost{color:#fff;border-color:#555b5e}.button-ghost:hover{border-color:var(--yellow);color:var(--yellow)}.trust-line{margin:22px 0 0;color:#90979b;font-size:13px}.hero-visual{position:relative;min-height:600px;background-size:cover;background-position:58% center}.hero-visual::after,.hero-overlay{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b0e10 0%,rgba(11,14,16,.16) 22%,transparent 48%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 45%)}.hero-overlay{display:none}.hero-badge{position:absolute;z-index:2;right:clamp(20px,4vw,64px);bottom:40px;width:178px;height:178px;background:var(--yellow);color:#0a0c0d;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.35)}.hero-badge strong{font-size:48px;line-height:.8}.hero-badge span{margin-top:12px;font-size:12px;line-height:1.3;font-weight:900;text-transform:uppercase}
.section{max-width:1440px;margin:0 auto;padding:clamp(76px,8vw,125px) clamp(24px,5vw,72px)}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;margin-bottom:52px}.split h2,.section-heading h2{margin:0;font-size:clamp(38px,4.2vw,66px);line-height:1.03;letter-spacing:-.05em;font-weight:900;text-wrap:balance}.split>div:last-child,.section-heading>p:last-child{color:var(--muted);font-size:18px;line-height:1.7}.partner{font-weight:700;color:var(--ink)!important}.stats{background:linear-gradient(120deg,#0b0d0e,#1a1e20);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:34px max(4vw,24px);margin:55px calc(-1 * clamp(24px,5vw,72px)) 45px}.stats div{display:flex;flex-direction:column;align-items:center;gap:6px;border-left:1px solid #363b3e}.stats div:first-child{border-left:0}.stats strong{color:var(--yellow);font-size:clamp(30px,3vw,46px);line-height:1}.stats span{color:#aab0b3;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.09em}.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.highlight-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 24px;box-shadow:0 14px 40px rgba(16,19,21,.055)}.highlight-grid article>span{width:36px;height:36px;background:var(--yellow);color:#0c0e0f;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900}.highlight-grid h3{margin:20px 0 10px;font-size:20px}.highlight-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.stages{max-width:1500px;background:transparent;color:var(--ink)}.stages .section-heading{max-width:860px;margin:0 auto 52px;text-align:center}.stages .section-heading>p:last-child{color:var(--muted)}.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stage-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.05)}.stage-top{display:flex;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.stage-top span{background:var(--yellow);color:#0d1011;padding:6px 9px;border-radius:4px;text-transform:uppercase;font-size:11px;font-weight:900}.stage-visual{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,#111619,#343b3d);display:flex;align-items:flex-end;justify-content:space-between;padding:20px}.stage-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.42))}.stage-visual b,.stage-visual em{position:relative;z-index:2}.stage-visual b{font-size:72px;line-height:.8;color:rgba(255,255,255,.82)}.stage-visual em{font-style:normal;text-align:right;color:#fff;font-weight:800;line-height:1.5}.stage-body{padding:25px}.stage-body h3{margin:0 0 18px;font-size:23px;font-weight:400;letter-spacing:-.025em}.stage-body details{border-top:1px solid var(--line);padding-top:16px}.stage-body summary{cursor:pointer;color:#6f5d00;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:11px;display:flex;justify-content:space-between}.stage-body summary span{width:27px;height:27px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:20px;line-height:1}.stage-body details p{margin:18px 0 0;padding:18px;background:#fffdf1;color:#51585c;line-height:1.68;font-size:14px}
.services .section-heading,.guides .section-heading,.booking .section-heading{max-width:860px;margin-bottom:42px}.services-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);gap:30px;align-items:stretch}.included{background:#fff;border:1px solid var(--line);border-radius:13px;padding:34px;box-shadow:0 14px 40px rgba(16,19,21,.055)}.included h3{margin-top:0;font-size:27px}.included p{margin:0;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.price-card{background:#0c0f10;color:#fff;padding:34px;border-radius:13px;box-shadow:0 18px 50px rgba(16,19,21,.13)}.price-card>strong{display:block;font-size:52px;color:var(--yellow)}.price-card>span{color:#aeb5b7}.price-card hr{border:0;border-top:1px solid #333b3d;margin:28px 0}.price-card p:not(.eyebrow){display:flex;justify-content:space-between;gap:20px}.price-card .button{width:100%;margin-top:18px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.guide-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px;box-shadow:0 14px 40px rgba(16,19,21,.055)}.guide-avatar{width:72px;height:72px;background:#0c0f10;color:var(--yellow);border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:900}.guide-grid h3{font-size:28px}.guide-grid p{line-height:1.75;color:var(--muted)}
.booking{max-width:1200px}.booking-shell{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(16,19,21,.055)}.form-progress{display:grid;grid-template-columns:repeat(5,1fr);background:#0b0f10;padding:14px}.form-progress button{background:transparent;color:#8f989b;border:0;padding:14px 8px;display:flex;align-items:center;gap:10px;justify-content:center}.form-progress button b{width:28px;height:28px;border:1px solid #5f686b;border-radius:50%;display:grid;place-items:center}.form-progress button.active{color:#fff}.form-progress button.active b{background:var(--yellow);border-color:var(--yellow);color:#111}.form-progress small{font-weight:800}.form-step{padding:40px}.form-step h3{font-size:28px;margin-top:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-grid label{font-size:13px;font-weight:800;color:#4d5659}.field-grid input,.field-grid select,.field-grid textarea{width:100%;margin-top:8px;padding:14px;border:1px solid #cfd4d2;border-radius:6px;background:#fff}.field-grid .wide{grid-column:1/-1}.field-grid .check{display:flex;align-items:center;gap:10px;font-size:14px}.field-grid .check input{width:auto;margin:0}.fixed-trip{margin-top:24px;padding:20px;background:#fff8cb;border:1px solid #ead575;border-radius:7px}.fixed-trip b,.fixed-trip span{display:block}.fixed-trip span{margin-top:5px;color:#666}.person-extra,.person-data{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.summary div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);gap:30px}.summary span{color:#6a7275}.total{margin-top:24px;background:#fff8cb;padding:20px;display:flex;justify-content:space-between;align-items:center;border-radius:7px}.total strong{font-size:28px}.confirmation-note{margin-top:20px;background:#f4f4f1;padding:18px;line-height:1.6;color:#545c5f}.form-nav{display:flex;justify-content:space-between;padding:22px 40px;background:#f5f5f3}.form-nav button{border:0;border-radius:6px;padding:15px 22px;font-weight:900}.form-nav .next,.form-nav .submit{margin-left:auto;background:var(--yellow)}.form-nav .back{background:#121617;color:#fff}.form-error{color:#a41120;font-weight:800;padding:0 40px}.trap{position:absolute!important;left:-9999px!important}.success{padding:42px}.success h3{font-size:30px}footer{background:#07090a;color:#fff;padding:60px 6vw}footer p{color:#939b9e}
@media(max-width:1050px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-visual{min-height:500px}.split,.services-grid{grid-template-columns:1fr}.highlight-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr;row-gap:28px}.stats div:nth-child(3){border-left:0}.stage-grid{grid-template-columns:1fr}}
@media(max-width:650px){.site-header{height:76px;padding:0 18px}.brand{min-width:0}.brand strong{font-size:16px}.brand small{font-size:9px}.brand-mark{display:none}.header-cta{padding:12px;font-size:11px}.hero h1{font-size:42px}.hero-meta{grid-template-columns:1fr}.hero-meta span{border-left:0;padding:8px 0}.hero-actions{grid-template-columns:1fr}.hero-visual{min-height:360px}.hero-badge{width:140px;height:140px}.hero-badge strong{font-size:38px}.section{padding:65px 20px}.split h2,.section-heading h2{font-size:36px}.stats{margin-left:-20px;margin-right:-20px}.highlight-grid,.guide-grid,.field-grid{grid-template-columns:1fr}.form-progress small{display:none}.form-step{padding:28px 20px}.form-nav{padding:20px}.summary div{display:block}.summary b{display:block;margin-top:5px}}


/* 0.1.3 – Hero buttons, intro image and Korsika-style highlight cards */
body.ct-giro-template .ctgiro-page .hero-actions > a.button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:56px !important;
  height:56px !important;
  padding:0 24px !important;
  line-height:1.1 !important;
  margin:0 !important;
}
body.ct-giro-template .ctgiro-page .intro-image {
  position:relative;
  width:100%;
  height:clamp(300px,37vw,510px);
  margin:0 0 0;
  overflow:hidden;
  border-radius:12px 12px 0 0;
  background:#161a1c;
  box-shadow:0 18px 50px rgba(16,19,21,.08);
}
body.ct-giro-template .ctgiro-page .intro-image img,
body.ct-giro-template .ctgiro-page .highlight-image img {
  width:100%; height:100%; display:block; object-fit:cover;
}
body.ct-giro-template .ctgiro-page .intro-image img { object-position:center 48%; }
body.ct-giro-template .ctgiro-page .intro-image + .stats {
  margin-top:0;
  border-radius:0 0 12px 12px;
}
body.ct-giro-template .ctgiro-page .highlight-grid { margin-top:45px; }
body.ct-giro-template .ctgiro-page .highlight-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  padding:0;
  box-shadow:0 14px 40px rgba(16,19,21,.055);
  transition:transform .25s ease,box-shadow .25s ease;
}
body.ct-giro-template .ctgiro-page .highlight-card:hover {
  transform:translateY(-5px);
  box-shadow:0 20px 50px rgba(16,19,21,.11);
}
body.ct-giro-template .ctgiro-page .highlight-image {
  position:relative;
  height:210px;
  overflow:hidden;
  background:#15191a;
}
body.ct-giro-template .ctgiro-page .highlight-image img { transition:transform .5s ease; }
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(1) .highlight-image img { object-position:58% center; }
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(2) .highlight-image img { object-position:24% center; }
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(3) .highlight-image img { object-position:72% center; }
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img { object-position:78% center; }
body.ct-giro-template .ctgiro-page .highlight-card:hover .highlight-image img { transform:scale(1.035); }
body.ct-giro-template .ctgiro-page .highlight-image span {
  position:absolute;top:14px;left:14px;width:36px;height:36px;
  background:var(--yellow);color:#0c0e0f;border-radius:50%;
  display:grid;place-items:center;font-size:16px;line-height:1;font-weight:900;
}
body.ct-giro-template .ctgiro-page .highlight-body { padding:24px 22px 26px; }
body.ct-giro-template .ctgiro-page .highlight-body h3 { margin:0 0 10px;font-size:18px; }
body.ct-giro-template .ctgiro-page .highlight-body p { margin:0;color:var(--muted);font-size:14px;line-height:1.55; }
@media(max-width:650px){
  body.ct-giro-template .ctgiro-page .intro-image{height:260px;border-radius:10px 10px 0 0}
  body.ct-giro-template .ctgiro-page .highlight-image{height:235px}
}

/* 0.1.5 – Intro, Highlights, Zahlenband und Etappenkarten nach Korsika-Prinzip */
body.ct-giro-template .ctgiro-page .intro{
  background:var(--paper); color:var(--ink); max-width:1440px;
  padding-bottom:clamp(58px,6vw,90px);
}
body.ct-giro-template .ctgiro-page .split-heading{
  display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;margin-bottom:52px;
}
body.ct-giro-template .ctgiro-page .split-heading h2{
  margin:0;color:var(--ink)!important;font-size:clamp(38px,4.2vw,66px);line-height:1.03;
  letter-spacing:-.05em;font-weight:900;text-wrap:balance;
}
body.ct-giro-template .ctgiro-page .intro .eyebrow{color:#a58900!important;}
body.ct-giro-template .ctgiro-page .intro-copy p{
  margin:0;color:var(--muted)!important;font-size:18px;line-height:1.7;
}
body.ct-giro-template .ctgiro-page .intro-copy .partner{
  margin-top:14px;color:var(--ink)!important;font-weight:800;
}
body.ct-giro-template .ctgiro-page .highlight-grid{margin-top:0;}
body.ct-giro-template .ctgiro-page .facts-band{
  background:linear-gradient(120deg,#0b0d0e,#1a1e20);color:#fff;display:grid;
  grid-template-columns:repeat(4,1fr);padding:34px max(4vw,24px);margin:0;
}
body.ct-giro-template .ctgiro-page .facts-band div{
  display:flex;flex-direction:column;align-items:center;gap:6px;border-left:1px solid #363b3e;
}
body.ct-giro-template .ctgiro-page .facts-band div:first-child{border-left:0;}
body.ct-giro-template .ctgiro-page .facts-band strong{color:var(--yellow);font-size:clamp(30px,3vw,46px);line-height:1;}
body.ct-giro-template .ctgiro-page .facts-band span{color:#aab0b3;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.09em;}
body.ct-giro-template .ctgiro-page .stages{max-width:1500px;padding-top:clamp(76px,8vw,125px);}
body.ct-giro-template .ctgiro-page .centered-heading{max-width:860px;margin:0 auto 52px;text-align:center;}
body.ct-giro-template .ctgiro-page .centered-heading h2{color:var(--ink)!important;}
body.ct-giro-template .ctgiro-page .centered-heading>p:last-child{margin-top:20px;color:var(--muted)!important;font-size:18px;line-height:1.7;}
body.ct-giro-template .ctgiro-page .stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
body.ct-giro-template .ctgiro-page details.stage-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.05);}
body.ct-giro-template .ctgiro-page .stage-card>summary{list-style:none;cursor:pointer;}
body.ct-giro-template .ctgiro-page .stage-card>summary::-webkit-details-marker{display:none;}
body.ct-giro-template .ctgiro-page .stage-card>summary:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:-3px;}
body.ct-giro-template .ctgiro-page .stage-image{height:220px;position:relative;overflow:hidden;background:linear-gradient(135deg,#151a1c,#343b3d);}
body.ct-giro-template .ctgiro-page .stage-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.38));}
body.ct-giro-template .ctgiro-page .stage-image span{position:absolute;z-index:2;top:16px;left:16px;background:var(--yellow);color:#0d1011;padding:7px 10px;border-radius:4px;text-transform:uppercase;font-size:11px;font-weight:900;}
body.ct-giro-template .ctgiro-page .stage-image b{position:absolute;z-index:2;right:14px;bottom:-10px;color:#fff;font-size:72px;line-height:.8;opacity:.8;}
body.ct-giro-template .ctgiro-page .stage-image small{position:absolute;z-index:2;left:18px;bottom:17px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em;}
body.ct-giro-template .ctgiro-page .stage-body{padding:25px;}
body.ct-giro-template .ctgiro-page .stage-body h3{margin:0 0 9px;font-size:23px;font-weight:400;letter-spacing:-.025em;color:var(--ink);}
body.ct-giro-template .ctgiro-page .stage-body p{min-height:63px;margin:0 0 20px;color:var(--muted);line-height:1.5;font-size:14px;}
body.ct-giro-template .ctgiro-page .stage-stats{border-top:1px solid var(--line);padding-top:16px;display:flex;gap:18px;font-size:13px;font-weight:900;}
body.ct-giro-template .ctgiro-page .stage-stats span:first-child{color:#a08500;}
body.ct-giro-template .ctgiro-page .stage-action{margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#6f5d00;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;}
body.ct-giro-template .ctgiro-page .stage-action b{width:27px;height:27px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-size:20px;line-height:1;transition:transform .25s ease;}
body.ct-giro-template .ctgiro-page .stage-card[open] .stage-action b{transform:rotate(45deg);}
body.ct-giro-template .ctgiro-page .stage-description{padding:24px 25px 28px;border-top:1px solid var(--line);background:#fffdf1;}
body.ct-giro-template .ctgiro-page .stage-description h4{margin:0 0 13px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);}
body.ct-giro-template .ctgiro-page .stage-description p{margin:0;color:#51585c;font-size:14px;line-height:1.68;}
body.ct-giro-template .ctgiro-page .stage-description p+p{margin-top:13px;}
@media(max-width:1050px){
 body.ct-giro-template .ctgiro-page .split-heading{grid-template-columns:1fr;gap:28px;align-items:start;}
 body.ct-giro-template .ctgiro-page .stage-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .facts-band{grid-template-columns:1fr 1fr;row-gap:28px;}
 body.ct-giro-template .ctgiro-page .facts-band div:nth-child(3){border-left:0;}
 body.ct-giro-template .ctgiro-page .stage-grid{grid-template-columns:1fr;}
 body.ct-giro-template .ctgiro-page .stage-image{height:220px;}
}

/* 0.1.6 – Tageskarten, Partner, Leistungen und Guides nach Korsika-Prinzip */
body.ct-giro-template .ctgiro-page .intro .split-heading{margin-bottom:46px}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{object-position:center top}

body.ct-giro-template .ctgiro-page .stage-image img{width:100%;height:100%;object-fit:cover;display:block}
body.ct-giro-template .ctgiro-page .stage-image span{text-transform:none;font-weight:400;letter-spacing:0;font-size:12px;padding:8px 11px}
body.ct-giro-template .ctgiro-page .stage-body h3,
body.ct-giro-template .ctgiro-page .stage-body p,
body.ct-giro-template .ctgiro-page .stage-stats,
body.ct-giro-template .ctgiro-page .stage-action,
body.ct-giro-template .ctgiro-page .stage-description h4,
body.ct-giro-template .ctgiro-page .stage-description p{font-weight:400!important}
body.ct-giro-template .ctgiro-page .stage-image small{display:none!important}
body.ct-giro-template .ctgiro-page .stage-stats span{color:var(--muted)!important}
body.ct-giro-template .ctgiro-page .stage-action{color:#6f5d00}
body.ct-giro-template .ctgiro-page .stage-action b{font-weight:400!important}

body.ct-giro-template .ctgiro-page .partner-image{background:linear-gradient(135deg,#0c0f10,#252b2d);display:flex;align-items:center;justify-content:center;padding:34px}
body.ct-giro-template .ctgiro-page .partner-logo-wrap{position:relative;z-index:1;width:min(88%,280px);background:#242022;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:25px 28px;box-shadow:0 18px 45px rgba(0,0,0,.28)}
body.ct-giro-template .ctgiro-page .partner-logo-wrap img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.22))}
body.ct-giro-template .ctgiro-page .partner-image>span{top:16px;left:16px}

body.ct-giro-template .ctgiro-page .services{max-width:1440px}
body.ct-giro-template .ctgiro-page .included-wide{padding:clamp(34px,5vw,62px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(16,19,21,.055)}
body.ct-giro-template .ctgiro-page .included-wide h2{margin:0;max-width:900px;color:var(--ink)!important;font-size:clamp(38px,4.2vw,66px);line-height:1.03;letter-spacing:-.05em;font-weight:900}
body.ct-giro-template .ctgiro-page .included-wide .section-intro{max-width:850px;margin:20px 0 34px;color:var(--muted);font-size:18px;line-height:1.7}
body.ct-giro-template .ctgiro-page .included-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 42px;border-top:1px solid var(--line)}
body.ct-giro-template .ctgiro-page .included-grid>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:17px 0;border-bottom:1px solid var(--line)}
body.ct-giro-template .ctgiro-page .included-grid>div>span{width:24px;height:24px;background:var(--yellow);border-radius:50%;display:grid;place-items:center;color:var(--ink);font-size:13px;font-weight:900}
body.ct-giro-template .ctgiro-page .included-grid p{margin:2px 0 0;color:var(--ink);font-size:14px;line-height:1.55}

body.ct-giro-template .ctgiro-page .guides{background:#0d1112;max-width:none;color:#fff;padding-left:max(clamp(24px,5vw,72px),calc((100vw - 1440px)/2 + 72px));padding-right:max(clamp(24px,5vw,72px),calc((100vw - 1440px)/2 + 72px))}
body.ct-giro-template .ctgiro-page .guides .section-heading h2{color:#fff!important}
body.ct-giro-template .ctgiro-page .guides .eyebrow{color:var(--yellow)}
body.ct-giro-template .ctgiro-page .guide-grid{max-width:1296px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
body.ct-giro-template .ctgiro-page .guide-grid article{padding:0;background:#171c1e;border:1px solid #303638;overflow:hidden;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
body.ct-giro-template .ctgiro-page .guide-photo{height:390px;position:relative;overflow:hidden;background:#222}
body.ct-giro-template .ctgiro-page .guide-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.ct-giro-template .ctgiro-page .guide-photo span{position:absolute;left:22px;top:22px;background:var(--yellow);color:var(--ink);padding:8px 11px;border-radius:4px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
body.ct-giro-template .ctgiro-page .guide-content{padding:30px 32px 34px}
body.ct-giro-template .ctgiro-page .guide-content h3{margin:0 0 14px;color:#fff;font-size:30px}
body.ct-giro-template .ctgiro-page .guide-content p{margin:0;color:#c0c7c9;line-height:1.72}

@media(max-width:800px){
 body.ct-giro-template .ctgiro-page .included-grid{grid-template-columns:1fr}
 body.ct-giro-template .ctgiro-page .guide-grid{grid-template-columns:1fr}
 body.ct-giro-template .ctgiro-page .guide-photo{height:330px}
}

/* 0.1.8 – Bildzuschnitte, kompakter Übergang, Leistungen und Guide-Fotos */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{
  object-position:center center!important;
}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-image{
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  padding:24px!important;
}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap{
  width:min(82%,250px)!important;
  padding:20px 24px!important;
}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap img{
  width:100%!important;
  height:auto!important;
  max-height:105px!important;
  object-fit:contain!important;
}
body.ct-giro-template .ctgiro-page .stages{
  padding-bottom:clamp(30px,3vw,46px)!important;
}
body.ct-giro-template .ctgiro-page .services{
  padding-top:clamp(24px,3vw,44px)!important;
}
body.ct-giro-template .ctgiro-page .included-wide h2{
  max-width:none!important;
  font-size:clamp(38px,3.6vw,56px)!important;
  text-wrap:normal!important;
}
body.ct-giro-template .ctgiro-page .included-wide .section-intro{
  max-width:none!important;
  width:100%!important;
}
body.ct-giro-template .ctgiro-page .included-grid{
  border-top:1px solid var(--line);
}
body.ct-giro-template .ctgiro-page .included-grid>div{
  border-bottom:1px solid var(--line)!important;
}
body.ct-giro-template .ctgiro-page .included-grid>div:nth-last-child(-n+2){
  border-bottom:0!important;
}
body.ct-giro-template .ctgiro-page .guide-grid article:first-child .guide-photo{
  background:#111617;
}
body.ct-giro-template .ctgiro-page .guide-grid article:first-child .guide-photo img{
  object-fit:contain!important;
  object-position:center center!important;
}
body.ct-giro-template .ctgiro-page .guide-grid article:nth-child(2) .guide-photo img{
  object-fit:cover!important;
  object-position:center 18%!important;
}
@media(max-width:800px){
 body.ct-giro-template .ctgiro-page .included-grid>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)!important}
 body.ct-giro-template .ctgiro-page .included-grid>div:last-child{border-bottom:0!important}
}

/* 0.1.10 – Tageskarten, Leistungen, Guides und Buchungsformular */
/* Highlight 4: das Motiv vertikal vollständig(er) lesbar halten */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{object-fit:cover!important;object-position:center 36%!important;transform:scale(.94);background:#eef0ed}

/* Etappen: Anreisebild zeigt mehr von den Fahrern */
body.ct-giro-template .ctgiro-page .stage-card-1 .stage-image img{object-position:center 68%!important;transform:scale(.94)}
body.ct-giro-template .ctgiro-page .stage-card-extra .stage-image,
body.ct-giro-template .ctgiro-page .stage-card-partner .stage-image{height:220px!important;min-height:220px!important;max-height:220px!important}
body.ct-giro-template .ctgiro-page .stage-card-extra .stage-image b,
body.ct-giro-template .ctgiro-page .stage-card-partner .stage-image b{display:none!important}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-image{padding:18px!important}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap{width:min(74%,220px)!important;padding:16px 20px!important}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap img{max-height:82px!important}
/* Varianten wie Best of Cycling Mallorca */
body.ct-giro-template .ctgiro-page .tour-variants{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:2px}
body.ct-giro-template .ctgiro-page .tour-variants>span{display:block;color:var(--ink);font-size:12px;line-height:1.35}
body.ct-giro-template .ctgiro-page .tour-variants small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}

/* Leistungen: nur eine klare Trennlinie pro Zeile */
body.ct-giro-template .ctgiro-page .included-grid{border-top:0!important;column-gap:44px}
body.ct-giro-template .ctgiro-page .included-grid>div{border-bottom:1px solid var(--line)!important;padding:18px 0!important}
body.ct-giro-template .ctgiro-page .included-grid>div:nth-child(9),
body.ct-giro-template .ctgiro-page .included-grid>div:nth-child(10){border-bottom:0!important}

/* Guides: kompaktere horizontale Profile statt zweier massiver Bildkarten */
body.ct-giro-template .ctgiro-page .guide-grid{grid-template-columns:1fr 1fr;gap:28px;max-width:1296px}
body.ct-giro-template .ctgiro-page .guide-grid article{display:grid;grid-template-columns:210px 1fr;min-height:310px;align-items:stretch}
body.ct-giro-template .ctgiro-page .guide-photo{height:100%!important;min-height:310px;background:#111617}
body.ct-giro-template .ctgiro-page .guide-photo img{width:100%;height:100%;object-fit:cover!important;object-position:center center!important}
body.ct-giro-template .ctgiro-page .guide-grid article:first-child .guide-photo img{object-fit:cover!important;object-position:center 28%!important}
body.ct-giro-template .ctgiro-page .guide-grid article:nth-child(2) .guide-photo img{object-position:center 35%!important}
body.ct-giro-template .ctgiro-page .guide-content{padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
body.ct-giro-template .ctgiro-page .guide-content h3{font-size:27px}

/* Buchung: erste optische Angleichung an das klare Korsika-System */
body.ct-giro-template .ctgiro-page .booking{max-width:1296px}
body.ct-giro-template .ctgiro-page .booking-shell{border-radius:12px;box-shadow:0 14px 40px rgba(16,19,21,.06);border:1px solid #dfe2df}
body.ct-giro-template .ctgiro-page .form-progress{padding:10px 18px;background:#0b0f10}
body.ct-giro-template .ctgiro-page .form-progress button{min-height:58px;border-right:1px solid rgba(255,255,255,.08)}
body.ct-giro-template .ctgiro-page .form-progress button:last-child{border-right:0}
body.ct-giro-template .ctgiro-page .form-step{padding:44px 48px}
body.ct-giro-template .ctgiro-page .form-step h3{font-size:30px;letter-spacing:-.025em;margin-bottom:28px}
body.ct-giro-template .ctgiro-page .field-grid{gap:22px 24px}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select,
body.ct-giro-template .ctgiro-page .field-grid textarea{min-height:50px;border-radius:4px;border-color:#cfd3d1;font-size:15px}
body.ct-giro-template .ctgiro-page .fixed-trip{background:#fff9d9;border-color:#ead36b;border-radius:5px;padding:22px}
body.ct-giro-template .ctgiro-page .form-nav{padding:20px 48px;background:#f4f4f1;border-top:1px solid #e2e4e1}
body.ct-giro-template .ctgiro-page .form-nav button{min-width:150px;min-height:50px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}
body.ct-giro-template .ctgiro-page .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .submit{background:var(--yellow);color:#111}
@media(max-width:1050px){body.ct-giro-template .ctgiro-page .guide-grid{grid-template-columns:1fr}body.ct-giro-template .ctgiro-page .guide-grid article{grid-template-columns:240px 1fr}}
@media(max-width:650px){body.ct-giro-template .ctgiro-page .guide-grid article{grid-template-columns:1fr}body.ct-giro-template .ctgiro-page .guide-photo{height:300px!important;min-height:300px}body.ct-giro-template .ctgiro-page .form-step{padding:30px 22px}body.ct-giro-template .ctgiro-page .form-nav{padding:18px 22px}}


/* 0.1.11 – finale Bildzuschnitte, Leistungen und Korsika-nahe Buchung */
/* Bildkacheln ohne sichtbare Rahmen durch Skalierung */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image{background:#fff!important}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 48%!important;transform:none!important;background:transparent!important}
body.ct-giro-template .ctgiro-page .stage-card-1 .stage-image{background:#fff!important}
body.ct-giro-template .ctgiro-page .stage-card-1 .stage-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 62%!important;transform:none!important}

/* Alle Tages-/Zusatzkarten exakt gleiche Bildhöhe; Partner kompakt */
body.ct-giro-template .ctgiro-page .stage-image,
body.ct-giro-template .ctgiro-page .stage-card-extra .stage-image,
body.ct-giro-template .ctgiro-page .stage-card-partner .stage-image{height:205px!important;min-height:205px!important;max-height:205px!important}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-image{height:205px!important;min-height:205px!important;max-height:205px!important;padding:18px!important;display:flex!important;align-items:center!important;justify-content:center!important}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap{width:min(68%,210px)!important;max-height:150px!important;padding:14px 18px!important}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap img{max-height:70px!important;width:100%!important;object-fit:contain!important}

/* Rundum betreut: genau eine Linie zwischen Leistungen, keine Linien um Intro */
body.ct-giro-template .ctgiro-page .included-wide>p,
body.ct-giro-template .ctgiro-page .included-wide .eyebrow,
body.ct-giro-template .ctgiro-page .included-wide .section-intro{border:0!important;padding-bottom:0!important}
body.ct-giro-template .ctgiro-page .included-grid{border:0!important}
body.ct-giro-template .ctgiro-page .included-grid>div{border:0!important;border-bottom:1px solid var(--line)!important;padding:18px 0!important}
body.ct-giro-template .ctgiro-page .included-grid>div p{border:0!important;padding:0!important;margin:2px 0 0!important}
body.ct-giro-template .ctgiro-page .included-grid>div:nth-child(9),
body.ct-giro-template .ctgiro-page .included-grid>div:nth-child(10){border-bottom:0!important}

/* Guides: zwei leichte, gleich große Portraits statt massiver Bildblöcke */
body.ct-giro-template .ctgiro-page .guide-grid{grid-template-columns:1fr 1fr!important;gap:34px!important;max-width:1180px!important}
body.ct-giro-template .ctgiro-page .guide-grid article{display:grid!important;grid-template-columns:180px 1fr!important;min-height:250px!important;background:#151a1c!important;border:1px solid #2b3235!important}
body.ct-giro-template .ctgiro-page .guide-photo{width:180px!important;height:250px!important;min-height:250px!important;background:#111617!important}
body.ct-giro-template .ctgiro-page .guide-photo img,
body.ct-giro-template .ctgiro-page .guide-grid article:first-child .guide-photo img,
body.ct-giro-template .ctgiro-page .guide-grid article:nth-child(2) .guide-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 28%!important}
body.ct-giro-template .ctgiro-page .guide-photo span{left:14px!important;top:14px!important;font-size:10px!important;padding:7px 9px!important}
body.ct-giro-template .ctgiro-page .guide-content{padding:28px 26px!important}
body.ct-giro-template .ctgiro-page .guide-content h3{font-size:26px!important}
body.ct-giro-template .ctgiro-page .guide-content p{font-size:14px!important;line-height:1.65!important}

/* Buchung klar nach Korsika: Formular links, Live-Zusammenfassung rechts */
body.ct-giro-template .ctgiro-page .booking{max-width:1320px!important;padding-top:clamp(70px,7vw,105px)!important}
body.ct-giro-template .ctgiro-page .booking>.section-heading{max-width:900px!important;margin-bottom:36px!important}
body.ct-giro-template .ctgiro-page .booking>.section-heading h2{color:var(--ink)!important}
body.ct-giro-template .ctgiro-page .booking>.section-heading>p:last-child{color:var(--muted)!important}
body.ct-giro-template .ctgiro-page .booking-shell{display:grid!important;grid-template-columns:minmax(0,1fr) 350px!important;gap:18px!important;align-items:start!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
body.ct-giro-template .ctgiro-page .form-preview,
body.ct-giro-template .ctgiro-page .booking-summary{background:#181c1e!important;border:1px solid #34393c!important;border-radius:12px!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .form-preview{overflow:hidden!important}
body.ct-giro-template .ctgiro-page .form-progress{padding:10px 14px!important;background:#101314!important;border-bottom:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .form-progress button{color:#8f989b!important;border-right:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .form-progress button.active{color:#fff!important}
body.ct-giro-template .ctgiro-page .form-step{padding:38px 42px!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .form-step h3{color:#fff!important;font-size:28px!important}
body.ct-giro-template .ctgiro-page .form-step>p{color:#aeb4b7!important}
body.ct-giro-template .ctgiro-page .person-extra,
body.ct-giro-template .ctgiro-page .person-data{border-top:1px solid #3d4346!important}
body.ct-giro-template .ctgiro-page .person-extra h4,
body.ct-giro-template .ctgiro-page .person-data h4{color:#fff!important}
body.ct-giro-template .ctgiro-page .field-grid label{color:#c9cdcf!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select,
body.ct-giro-template .ctgiro-page .field-grid textarea{background:#101314!important;color:#fff!important;border:1px solid #50565a!important;border-radius:6px!important;box-shadow:none!important}
body.ct-giro-template .ctgiro-page .field-grid input:focus,
body.ct-giro-template .ctgiro-page .field-grid select:focus,
body.ct-giro-template .ctgiro-page .field-grid textarea:focus{border-color:var(--yellow)!important;outline:0!important;box-shadow:0 0 0 3px rgba(255,212,0,.1)!important}
body.ct-giro-template .ctgiro-page .fixed-trip{background:#101314!important;border:1px solid #464d50!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .fixed-trip span{color:#aeb4b7!important}
body.ct-giro-template .ctgiro-page .summary div{border-bottom:1px solid #343a3d!important}
body.ct-giro-template .ctgiro-page .summary span{color:#aeb4b7!important}
body.ct-giro-template .ctgiro-page .summary b{color:#fff!important}
body.ct-giro-template .ctgiro-page .total{background:#101314!important;border:1px solid #42494c!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .total strong{color:var(--yellow)!important}
body.ct-giro-template .ctgiro-page .confirmation-note{background:#101314!important;border:1px solid #3d4346!important;color:#aeb4b7!important}
body.ct-giro-template .ctgiro-page .form-nav{padding:18px 42px!important;background:#111516!important;border-top:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .form-nav button{height:52px!important;min-height:52px!important;border-radius:6px!important}
body.ct-giro-template .ctgiro-page .form-nav .back{background:#0b0d0e!important;color:#fff!important;border:1px solid #4b5255!important}
body.ct-giro-template .ctgiro-page .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .submit{background:var(--yellow)!important;color:#0b0d0e!important}
body.ct-giro-template .ctgiro-page .booking-summary{padding:30px!important;position:sticky!important;top:22px!important}
body.ct-giro-template .ctgiro-page .booking-summary .eyebrow{color:var(--yellow)!important}
body.ct-giro-template .ctgiro-page .booking-summary h3{margin:0 0 8px!important;color:#fff!important;font-size:25px!important}
body.ct-giro-template .ctgiro-page .booking-summary>p:not(.eyebrow){margin:0 0 25px!important;color:#9da3a6!important;line-height:1.6!important}
body.ct-giro-template .ctgiro-page .summary-row{display:flex!important;justify-content:space-between!important;gap:15px!important;padding:17px 0!important;border-top:1px solid #363b3e!important;color:#b5b9bc!important;font-size:14px!important}
body.ct-giro-template .ctgiro-page .summary-row b{color:#fff!important;white-space:nowrap!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row{color:var(--yellow)!important;align-items:baseline!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row b{color:var(--yellow)!important;font-size:27px!important}
body.ct-giro-template .ctgiro-page .contact-card{margin-top:18px!important;padding:18px!important;border-radius:8px!important;background:#0f1213!important;display:flex!important;flex-direction:column!important;gap:7px!important}
body.ct-giro-template .ctgiro-page .contact-card small{color:#8e9598!important}
body.ct-giro-template .ctgiro-page .contact-card a{color:var(--yellow)!important;display:grid!important;grid-template-columns:76px 1fr!important;gap:8px!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .contact-card a span:last-child{text-align:right!important;white-space:nowrap!important}
@media(max-width:1050px){
 body.ct-giro-template .ctgiro-page .booking-shell{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .booking-summary{position:static!important}
 body.ct-giro-template .ctgiro-page .guide-grid{grid-template-columns:1fr!important}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .guide-grid article{grid-template-columns:130px 1fr!important}
 body.ct-giro-template .ctgiro-page .guide-photo{width:130px!important;height:230px!important;min-height:230px!important}
 body.ct-giro-template .ctgiro-page .form-step{padding:28px 20px!important}
 body.ct-giro-template .ctgiro-page .form-nav{padding:16px 20px!important}
}

/* 0.1.12 – Feinschliff Highlights, Partnerkarte, Leistungen und Buchung nach Korsika */
/* Highlight Betreuung: Motiv etwas nach unten verschieben, damit die obere Schrift sichtbar bleibt. */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{
  object-position:center 34%!important;
}

/* Partnerkarte: padding darf die definierte Bildhöhe nicht vergrößern. */
body.ct-giro-template .ctgiro-page .stage-card-partner .stage-image,
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-image{
  box-sizing:border-box!important;
  height:205px!important;
  min-height:205px!important;
  max-height:205px!important;
  padding:18px!important;
}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap{
  box-sizing:border-box!important;
  width:min(66%,205px)!important;
  max-height:132px!important;
  padding:12px 16px!important;
}
body.ct-giro-template .ctgiro-page .stage-card-partner .partner-logo-wrap img{
  max-height:62px!important;
}

/* Rundum betreut: mehr Luft nach dem Eyebrow, weniger Luft unter der Hauptüberschrift. */
body.ct-giro-template .ctgiro-page .included-wide>.eyebrow{
  margin-bottom:22px!important;
}
body.ct-giro-template .ctgiro-page .included-wide>h2{
  margin-bottom:16px!important;
}
body.ct-giro-template .ctgiro-page .included-wide>.section-intro{
  margin-top:0!important;
  margin-bottom:34px!important;
}

/* Buchungsbereich: Struktur und Maße direkt am Korsika-Prinzip ausrichten. */
body.ct-giro-template .ctgiro-page .booking{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(56px,6vw,80px) max(4vw,24px)!important;
  background:#0c0f10!important;
  color:#fff!important;
}
body.ct-giro-template .ctgiro-page .booking-head{
  max-width:1320px!important;
  margin:0 auto 42px!important;
}
body.ct-giro-template .ctgiro-page .booking-head h2{
  margin:0!important;
  max-width:900px!important;
  color:#fff!important;
  font-size:clamp(38px,4.2vw,66px)!important;
  line-height:1.03!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
}
body.ct-giro-template .ctgiro-page .booking-head>div>p:last-child{
  max-width:820px!important;
  margin:18px 0 0!important;
  color:#9aa1a5!important;
  font-size:18px!important;
  line-height:1.7!important;
}
body.ct-giro-template .ctgiro-page .booking-shell{
  max-width:1320px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:18px!important;
  align-items:start!important;
}
body.ct-giro-template .ctgiro-page .form-preview,
body.ct-giro-template .ctgiro-page .booking-summary{
  box-sizing:border-box!important;
  background:#181c1e!important;
  border:1px solid #34393c!important;
  border-radius:12px!important;
}
body.ct-giro-template .ctgiro-page .form-preview{
  padding:clamp(25px,4vw,45px)!important;
  overflow:visible!important;
}
body.ct-giro-template .ctgiro-page .form-progress{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 30px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
body.ct-giro-template .ctgiro-page .form-progress::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:16px!important;
  left:10%!important;
  right:10%!important;
  height:1px!important;
  background:#41474a!important;
}
body.ct-giro-template .ctgiro-page .form-progress button{
  position:relative!important;
  z-index:1!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#7f878b!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
}
body.ct-giro-template .ctgiro-page .form-progress button b{
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#34393c!important;
  border:0!important;
  color:#9fa5a8!important;
  font-size:12px!important;
  box-shadow:0 0 0 5px #181c1e!important;
}
body.ct-giro-template .ctgiro-page .form-progress button.active b{
  background:var(--yellow)!important;
  color:#0d0f10!important;
}
body.ct-giro-template .ctgiro-page .form-progress button small{
  color:inherit!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
body.ct-giro-template .ctgiro-page .form-step{
  padding:26px 0 0!important;
}
body.ct-giro-template .ctgiro-page .form-step h3{
  margin:0 0 26px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #34393c!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.15!important;
}
body.ct-giro-template .ctgiro-page .field-grid{
  gap:12px!important;
}
body.ct-giro-template .ctgiro-page .field-grid label{
  gap:8px!important;
  color:#c9cdcf!important;
  font-size:13px!important;
  font-weight:400!important;
}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select,
body.ct-giro-template .ctgiro-page .field-grid textarea{
  box-sizing:border-box!important;
  width:100%!important;
  margin-top:0!important;
  min-height:48px!important;
  padding:0 14px!important;
  background:#101314!important;
  color:#fff!important;
  border:1px solid #50565a!important;
  border-radius:6px!important;
}
body.ct-giro-template .ctgiro-page .field-grid textarea{
  padding:12px 14px!important;
}
body.ct-giro-template .ctgiro-page .fixed-trip{
  margin-top:24px!important;
  padding:18px!important;
  background:#101314!important;
  border:1px solid #454b4e!important;
  border-radius:7px!important;
}
body.ct-giro-template .ctgiro-page .person-extra,
body.ct-giro-template .ctgiro-page .person-data{
  margin-top:22px!important;
  padding-top:20px!important;
  border-top:1px solid #34393c!important;
}
body.ct-giro-template .ctgiro-page .form-nav{
  margin-top:22px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(150px,.6fr) minmax(230px,1.4fr)!important;
  gap:10px!important;
  background:transparent!important;
  border:0!important;
}
body.ct-giro-template .ctgiro-page .form-nav button{
  box-sizing:border-box!important;
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 22px!important;
  border-radius:6px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
body.ct-giro-template .ctgiro-page .form-nav .back{
  border:1px solid #73797c!important;
  background:transparent!important;
  color:#fff!important;
}
body.ct-giro-template .ctgiro-page .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .submit{
  border:1px solid var(--yellow)!important;
  background:var(--yellow)!important;
  color:#0b0d0e!important;
}
body.ct-giro-template .ctgiro-page .booking-summary{
  padding:30px!important;
  position:sticky!important;
  top:22px!important;
}
@media(max-width:1050px){
 body.ct-giro-template .ctgiro-page .booking-shell{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .booking-summary{position:static!important}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .booking{padding:56px 18px!important}
 body.ct-giro-template .ctgiro-page .form-preview{padding:25px 20px!important}
 body.ct-giro-template .ctgiro-page .form-progress{gap:4px!important}
 body.ct-giro-template .ctgiro-page .form-progress button small{display:none!important}
 body.ct-giro-template .ctgiro-page .form-nav{grid-template-columns:1fr!important}
}


/* 0.1.13 – Buchungsformular kompakt nach Korsika/Südafrika */
/* Nur der aktive Schritt darf sichtbar sein – schützt auch vor Theme-Regeln für [hidden]. */
body.ct-giro-template .ctgiro-page .form-step[hidden],
body.ct-giro-template .ctgiro-page .person-extra[hidden],
body.ct-giro-template .ctgiro-page .person-data[hidden],
body.ct-giro-template .ctgiro-page .form-nav button[hidden],
body.ct-giro-template .ctgiro-page .success[hidden]{display:none!important}

body.ct-giro-template .ctgiro-page .booking-head,
body.ct-giro-template .ctgiro-page .booking-shell{max-width:1200px!important}
body.ct-giro-template .ctgiro-page .booking-head{margin-bottom:32px!important}
body.ct-giro-template .ctgiro-page .booking-head h2{
  max-width:none!important;
  font-size:clamp(36px,3.6vw,54px)!important;
  line-height:1.02!important;
}
body.ct-giro-template .ctgiro-page .booking-head>div>p:last-child{
  max-width:760px!important;
  margin-top:12px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
body.ct-giro-template .ctgiro-page .booking-shell{
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:20px!important;
}
body.ct-giro-template .ctgiro-page .form-preview{padding:30px!important}
body.ct-giro-template .ctgiro-page .booking-summary{padding:26px!important}
body.ct-giro-template .ctgiro-page .booking-summary h3{font-size:23px!important}
body.ct-giro-template .ctgiro-page .booking-summary>p:not(.eyebrow){font-size:13px!important;margin-bottom:20px!important}

body.ct-giro-template .ctgiro-page .form-progress{margin-bottom:20px!important;gap:6px!important}
body.ct-giro-template .ctgiro-page .form-progress::before{top:14px!important}
body.ct-giro-template .ctgiro-page .form-progress button{gap:6px!important}
body.ct-giro-template .ctgiro-page .form-progress button b{
  width:28px!important;height:28px!important;font-size:11px!important;
  box-shadow:0 0 0 4px #181c1e!important
}
body.ct-giro-template .ctgiro-page .form-progress button small{font-size:8px!important}

body.ct-giro-template .ctgiro-page .form-step{padding:18px 0 0!important}
body.ct-giro-template .ctgiro-page .form-step h3{
  margin:0 0 20px!important;padding-bottom:14px!important;font-size:21px!important
}
body.ct-giro-template .ctgiro-page .field-grid{gap:12px!important}
body.ct-giro-template .ctgiro-page .field-grid label{font-size:12px!important;line-height:1.35!important}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select{
  min-height:44px!important;height:44px!important;padding:0 12px!important;font-size:13px!important
}
body.ct-giro-template .ctgiro-page .field-grid textarea{
  min-height:88px!important;padding:10px 12px!important;font-size:13px!important
}
body.ct-giro-template .ctgiro-page .fixed-trip{
  margin:0 0 18px!important;padding:14px 16px!important
}
body.ct-giro-template .ctgiro-page .fixed-trip b{color:#fff!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .fixed-trip span{color:#9da4a7!important;font-size:12px!important}
body.ct-giro-template .ctgiro-page .person-extra,
body.ct-giro-template .ctgiro-page .person-data{margin-top:16px!important;padding-top:16px!important}
body.ct-giro-template .ctgiro-page .person-extra h4,
body.ct-giro-template .ctgiro-page .person-data h4{margin:0 0 12px!important;font-size:13px!important;color:#fff!important}

/* Checkboxen: kompakt, Text direkt neben dem Feld statt auseinandergezogen. */
body.ct-giro-template .ctgiro-page .field-grid label.check{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:start!important;
  gap:10px!important;
  padding:12px 14px!important;
  border:1px solid #454b4e!important;
  border-radius:7px!important;
  background:#111516!important;
  color:#c9cdcf!important;
  font-weight:400!important;
  line-height:1.5!important;
}
body.ct-giro-template .ctgiro-page .field-grid label.check input{
  width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important
}
body.ct-giro-template .ctgiro-page .field-grid label.check a{color:var(--yellow)!important;text-decoration:underline!important}

body.ct-giro-template .ctgiro-page .summary div{padding:11px 0!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .total{margin-top:16px!important;padding:15px!important;background:#101314!important;border:1px solid #42494c!important}
body.ct-giro-template .ctgiro-page .total span{color:#b6bbbe!important}
body.ct-giro-template .ctgiro-page .total strong{font-size:25px!important;color:var(--yellow)!important}
body.ct-giro-template .ctgiro-page .confirmation-note{
  margin-top:14px!important;padding:14px!important;background:#101314!important;border:1px solid #42494c!important;color:#9ca3a6!important;font-size:12px!important
}
body.ct-giro-template .ctgiro-page .form-error{padding:0!important;margin:12px 0 0!important;font-size:12px!important;color:#ff8a82!important}
body.ct-giro-template .ctgiro-page .form-nav{margin-top:16px!important;grid-template-columns:minmax(125px,.55fr) minmax(190px,1.45fr)!important}
body.ct-giro-template .ctgiro-page .form-nav button{height:48px!important;min-height:48px!important;font-size:12px!important}

body.ct-giro-template .ctgiro-page .summary-row{padding:13px 0!important;font-size:12px!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row b{font-size:24px!important}
body.ct-giro-template .ctgiro-page .contact-card{padding:15px!important}
body.ct-giro-template .ctgiro-page .contact-card a{font-size:12px!important;grid-template-columns:64px minmax(0,1fr)!important}

@media(max-width:1050px){
 body.ct-giro-template .ctgiro-page .booking-head,
 body.ct-giro-template .ctgiro-page .booking-shell{max-width:900px!important}
 body.ct-giro-template .ctgiro-page .booking-shell{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .booking-summary{position:static!important}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .form-preview{padding:22px 18px!important}
 body.ct-giro-template .ctgiro-page .field-grid{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .form-nav{grid-template-columns:1fr!important}
}

/* 0.1.14 – Booking Step 1 robust sichtbar, FAQ und Footer wie Mallorca/Korsika */
body.ct-giro-template .ctgiro-page .booking-head > div > p:last-child:not(.eyebrow){display:none!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="1"] .field-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:14px!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  overflow:visible!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="1"] .field-grid > label{
  display:flex!important;
  flex-direction:column!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="1"] .field-grid select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:44px!important;
}
body.ct-giro-template .ctgiro-page .faq{
  max-width:1000px!important;
  margin:0 auto!important;
}
body.ct-giro-template .ctgiro-page .faq .section-heading{margin-bottom:34px!important}
body.ct-giro-template .ctgiro-page .faq-list{display:flex!important;flex-direction:column!important}
body.ct-giro-template .ctgiro-page .faq details{border-top:1px solid #cfd2d0!important;padding:0!important}
body.ct-giro-template .ctgiro-page .faq details:last-child{border-bottom:1px solid #cfd2d0!important}
body.ct-giro-template .ctgiro-page .faq summary{
  list-style:none!important;min-height:76px!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:24px!important;font-size:18px!important;font-weight:800!important;
  color:#111516!important;cursor:pointer!important
}
body.ct-giro-template .ctgiro-page .faq summary::-webkit-details-marker{display:none!important}
body.ct-giro-template .ctgiro-page .faq summary span{font-size:28px!important;font-weight:400!important;transition:transform .2s ease}
body.ct-giro-template .ctgiro-page .faq details[open] summary span{transform:rotate(45deg)}
body.ct-giro-template .ctgiro-page .faq details p{margin:-5px 0 26px!important;max-width:820px!important;color:#6e7472!important;line-height:1.65!important}
body.ct-giro-template .ctgiro-page footer{
  background:#080a0b!important;color:#fff!important;padding:42px clamp(24px,6vw,90px)!important;
  display:flex!important;align-items:center!important;gap:42px!important
}
body.ct-giro-template .ctgiro-page footer .footer-brand{min-width:auto!important;text-decoration:none!important}
body.ct-giro-template .ctgiro-page footer p{margin:0!important;color:#92999c!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .footer-contact{margin-left:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:7px!important}
body.ct-giro-template .ctgiro-page .footer-contact a{
  width:270px!important;color:var(--yellow)!important;font-weight:900!important;font-size:13px!important;
  display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:16px!important;text-decoration:none!important
}
body.ct-giro-template .ctgiro-page .footer-contact a span:last-child{text-align:right!important}
@media(max-width:720px){
 body.ct-giro-template .ctgiro-page .form-step[data-step="1"] .field-grid{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page footer{flex-direction:column!important;align-items:flex-start!important;gap:18px!important}
 body.ct-giro-template .ctgiro-page .footer-contact{margin-left:0!important;align-items:flex-start!important;width:100%!important}
 body.ct-giro-template .ctgiro-page .footer-contact a{width:100%!important;gap:8px!important}
}

/* 0.1.15 – Korsika-Buchungslogik, Gelbton, Guide/Footerkorrekturen */
body.ct-giro-template .ctgiro-page{--yellow:#ffd400!important;--yellow-deep:#f4c400!important}
body.ct-giro-template .ctgiro-page .header-cta,
body.ct-giro-template .ctgiro-page .button-primary,
body.ct-giro-template .ctgiro-page .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .submit{background:#ffd400!important;color:#0b0d0e!important;border-color:#ffd400!important}
body.ct-giro-template .ctgiro-page .trust-line>span{color:#ffd400!important;font-weight:900!important}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{object-position:center 62%!important}

/* Arnold etwas näher, aber als vollständiges Hochformat sichtbar. */
body.ct-giro-template .ctgiro-page .guide-grid article:nth-child(2) .guide-photo{background:#101416!important;overflow:hidden!important}
body.ct-giro-template .ctgiro-page .guide-grid article:nth-child(2) .guide-photo img{
  object-fit:contain!important;object-position:center center!important;width:100%!important;height:100%!important;transform:scale(1.045)!important;transform-origin:center center!important
}

/* Buchungsüberschrift und Formular exakt auf dieselbe Gesamtbreite. */
body.ct-giro-template .ctgiro-page .booking-head,
body.ct-giro-template .ctgiro-page .booking-shell{width:min(1320px,calc(100% - 48px))!important;max-width:1320px!important;margin-left:auto!important;margin-right:auto!important}
body.ct-giro-template .ctgiro-page .booking-head{margin-bottom:42px!important}
body.ct-giro-template .ctgiro-page .booking-head h2{font-size:clamp(38px,4.2vw,66px)!important;line-height:1.03!important;letter-spacing:-.05em!important}
body.ct-giro-template .ctgiro-page .booking-shell{grid-template-columns:minmax(0,1fr) 360px!important;gap:18px!important}
body.ct-giro-template .ctgiro-page .form-preview{padding:34px!important}
body.ct-giro-template .ctgiro-page .booking-summary{padding:30px!important}

/* Vier echte Buchungsschritte: Reise, Outfit, Daten, Übersicht. */
body.ct-giro-template .ctgiro-page .form-progress{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0 0 14px!important;padding:0!important;background:transparent!important;border:0!important;position:relative!important}
body.ct-giro-template .ctgiro-page .form-progress::before{content:""!important;position:absolute!important;z-index:0!important;top:16px!important;left:12.5%!important;right:12.5%!important;height:1px!important;background:#41474a!important}
body.ct-giro-template .ctgiro-page .form-progress button{position:relative!important;z-index:1!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;color:#7f878b!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;cursor:pointer!important}
body.ct-giro-template .ctgiro-page .form-progress button b{width:32px!important;height:32px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#34393c!important;color:#9fa5a8!important;font-size:12px!important;box-shadow:0 0 0 5px #181c1e!important}
body.ct-giro-template .ctgiro-page .form-progress button small{font-size:9px!important;font-weight:800!important;color:inherit!important;line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.035em!important;white-space:nowrap!important}
body.ct-giro-template .ctgiro-page .form-progress button.current b,
body.ct-giro-template .ctgiro-page .form-progress button.completed b{background:#ffd400!important;color:#0d0f10!important}
body.ct-giro-template .ctgiro-page .form-progress button.current{color:#ffd400!important}
body.ct-giro-template .ctgiro-page .form-progress button.completed{color:#bcc1c4!important}
body.ct-giro-template .ctgiro-page .form-progress button:disabled{cursor:default!important}

body.ct-giro-template .ctgiro-page .form-step{padding:28px 0 0!important}
body.ct-giro-template .ctgiro-page .form-step h3{font-size:24px!important;margin:0 0 24px!important;padding:0 0 16px!important;border-bottom:1px solid #34393c!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .form-step>p{margin:-8px 0 18px!important;color:#9da4a7!important;font-size:14px!important;line-height:1.55!important}
body.ct-giro-template .ctgiro-page .fixed-trip{margin:0 0 18px!important;padding:16px 18px!important;border:1px solid #454b4e!important;border-radius:7px!important;background:#101314!important}
body.ct-giro-template .ctgiro-page .fixed-trip b{font-size:13px!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .fixed-trip span{font-size:12px!important;color:#9da4a7!important}
body.ct-giro-template .ctgiro-page .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
body.ct-giro-template .ctgiro-page .field-grid label,
body.ct-giro-template .ctgiro-page .field-label{font-size:12px!important;color:#b6bbbe!important;font-weight:700!important;line-height:1.35!important}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select,
body.ct-giro-template .ctgiro-page .field-grid textarea{width:100%!important;margin-top:7px!important;border:1px solid #42494c!important;border-radius:6px!important;background:#101314!important;color:#fff!important;box-shadow:none!important}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select{height:46px!important;min-height:46px!important;padding:0 40px 0 13px!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .field-grid textarea{min-height:82px!important;padding:11px 13px!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .field-grid select{
  appearance:none!important;-webkit-appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffd400' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important
}
body.ct-giro-template .ctgiro-page .wide{grid-column:1/-1!important}

/* Zimmerkategorie als klare Auswahlkarten wie bei Korsika. */
body.ct-giro-template .ctgiro-page .room-choice{margin-top:0!important}
body.ct-giro-template .ctgiro-page .room-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:7px!important}
body.ct-giro-template .ctgiro-page .room-options label{position:relative!important;display:block!important;cursor:pointer!important}
body.ct-giro-template .ctgiro-page .room-options input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.ct-giro-template .ctgiro-page .room-options label>span{display:flex!important;min-height:72px!important;padding:13px 15px!important;border:1px solid #42494c!important;border-radius:7px!important;background:#101314!important;flex-direction:column!important;justify-content:center!important;gap:4px!important}
body.ct-giro-template .ctgiro-page .room-options strong{color:#fff!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .room-options small{color:#8f979a!important;font-size:11px!important}
body.ct-giro-template .ctgiro-page .room-options input:checked+span{border-color:#ffd400!important;box-shadow:0 0 0 1px #ffd400 inset!important}
body.ct-giro-template .ctgiro-page .room-options input:checked+span strong{color:#ffd400!important}

body.ct-giro-template .ctgiro-page .person-extra,
body.ct-giro-template .ctgiro-page .person-data{margin-top:18px!important;padding-top:18px!important;border-top:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .person-extra:first-of-type,
body.ct-giro-template .ctgiro-page .person-data:first-of-type{margin-top:0!important;padding-top:0!important;border-top:0!important}
body.ct-giro-template .ctgiro-page .person-extra h4,
body.ct-giro-template .ctgiro-page .person-data h4{margin:0 0 12px!important;color:#fff!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.06em!important}
body.ct-giro-template .ctgiro-page .personal-contact{margin-top:18px!important}
body.ct-giro-template .ctgiro-page .field-grid label.check{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;padding:12px 14px!important;background:#101314!important;border:1px solid #42494c!important;border-radius:7px!important;color:#c9cdcf!important;font-weight:400!important}
body.ct-giro-template .ctgiro-page .field-grid label.check input{width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:#ffd400!important}
body.ct-giro-template .ctgiro-page .field-grid label.check span{display:block!important;min-width:0!important;line-height:1.55!important}
body.ct-giro-template .ctgiro-page .field-grid label.check a{color:#ffd400!important;text-decoration:underline!important}

/* Navigation wie Korsika: Schritt 1 eine volle gelbe Aktion, danach Zurück + Weiter. */
body.ct-giro-template .ctgiro-page .form-nav{display:grid!important;grid-template-columns:minmax(150px,.6fr) minmax(230px,1.4fr)!important;gap:10px!important;margin-top:18px!important;padding:0!important;background:transparent!important;border:0!important}
body.ct-giro-template .ctgiro-page .form-nav.single-action{grid-template-columns:1fr!important}
body.ct-giro-template .ctgiro-page .form-nav.single-action .next{grid-column:1/-1!important;width:100%!important}
body.ct-giro-template .ctgiro-page .form-nav button{height:54px!important;min-height:54px!important;padding:0 22px!important;border-radius:6px!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important}
body.ct-giro-template .ctgiro-page .form-nav .back{border:1px solid #73797c!important;background:transparent!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .submit{width:100%!important;background:#ffd400!important;color:#0b0d0e!important;border:1px solid #ffd400!important}

/* Zusammenfassung rechts: keinerlei Theme-Dunkelfärbung zulassen. */
body.ct-giro-template .ctgiro-page .booking-summary{background:#181c1e!important;border:1px solid #34393c!important;color:#fff!important;position:sticky!important;top:22px!important}
body.ct-giro-template .ctgiro-page .booking-summary .eyebrow{color:#ffd400!important;opacity:1!important}
body.ct-giro-template .ctgiro-page .booking-summary h3{color:#fff!important;font-size:25px!important}
body.ct-giro-template .ctgiro-page .booking-summary>p:not(.eyebrow){color:#9da3a6!important;font-size:14px!important;line-height:1.6!important}
body.ct-giro-template .ctgiro-page .live-summary{border-top:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .summary-row{display:flex!important;justify-content:space-between!important;gap:18px!important;padding:13px 0!important;border-bottom:1px solid #34393c!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .summary-row span{color:#b7bdc0!important;font-size:12px!important;opacity:1!important}
body.ct-giro-template .ctgiro-page .summary-row b{color:#fff!important;font-size:12px!important;font-weight:700!important;opacity:1!important;text-align:right!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row{padding-top:17px!important;align-items:flex-end!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row span{color:#fff!important;font-weight:700!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row span small{display:block!important;margin-top:3px!important;color:#82898c!important;font-size:10px!important;font-weight:400!important}
body.ct-giro-template .ctgiro-page .summary-row.total-row b{color:#ffd400!important;font-size:25px!important;font-weight:400!important}
body.ct-giro-template .ctgiro-page .contact-card{margin-top:22px!important;padding:15px!important;border-radius:7px!important;background:#101314!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .contact-card small{display:block!important;margin-bottom:9px!important;color:#aeb4b7!important;opacity:1!important}
body.ct-giro-template .ctgiro-page .contact-card a{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:8px!important;padding:4px 0!important;color:#fff!important;font-size:12px!important;opacity:1!important}
body.ct-giro-template .ctgiro-page .contact-card a span:first-child{color:#8f979a!important}
body.ct-giro-template .ctgiro-page .contact-card a span:last-child{color:#ffd400!important;text-align:right!important;overflow-wrap:anywhere!important}

/* Footer: rechte Kontaktdaten explizit hell/gelb. */
body.ct-giro-template .ctgiro-page footer{background:#07090a!important;color:#fff!important}
body.ct-giro-template .ctgiro-page footer p{color:#939b9e!important;opacity:1!important}
body.ct-giro-template .ctgiro-page footer .footer-contact a{color:#ffd400!important;opacity:1!important}
body.ct-giro-template .ctgiro-page footer .footer-contact a span:first-child{color:#aeb4b7!important}
body.ct-giro-template .ctgiro-page footer .footer-contact a span:last-child{color:#ffd400!important}

@media(max-width:1050px){
 body.ct-giro-template .ctgiro-page .booking-head,
 body.ct-giro-template .ctgiro-page .booking-shell{width:min(900px,calc(100% - 36px))!important}
 body.ct-giro-template .ctgiro-page .booking-shell{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .booking-summary{position:static!important}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .booking-head,
 body.ct-giro-template .ctgiro-page .booking-shell{width:calc(100% - 28px)!important}
 body.ct-giro-template .ctgiro-page .form-preview{padding:24px 18px!important}
 body.ct-giro-template .ctgiro-page .form-progress{gap:4px!important}
 body.ct-giro-template .ctgiro-page .form-progress button small{display:none!important}
 body.ct-giro-template .ctgiro-page .field-grid,
 body.ct-giro-template .ctgiro-page .room-options{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .form-nav{grid-template-columns:1fr!important}
}

/* 0.1.16 – compact Korsika-style booking + guide refinement */
body.ct-giro-template .ctgiro-page .guides{padding-bottom:64px!important}
body.ct-giro-template .ctgiro-page .guide-grid article{grid-template-columns:190px 1fr!important;min-height:258px!important;max-height:278px!important}
body.ct-giro-template .ctgiro-page .guide-photo{height:100%!important;min-height:0!important;background:#171c1e!important}
body.ct-giro-template .ctgiro-page .guide-photo img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important}
body.ct-giro-template .ctgiro-page .guide-grid article:first-child .guide-photo img{object-position:center 30%!important}
body.ct-giro-template .ctgiro-page .guide-grid article:nth-child(2) .guide-photo img{object-fit:cover!important;object-position:center 40%!important;transform:scale(1.08)!important}
body.ct-giro-template .ctgiro-page .guide-content{padding:26px 28px!important;align-self:center!important}
body.ct-giro-template .ctgiro-page .guide-content h3{margin:0 0 14px!important;font-size:28px!important}
body.ct-giro-template .ctgiro-page .guide-content p{margin:0!important;line-height:1.6!important;font-size:15px!important}
body.ct-giro-template .ctgiro-page .booking{padding-top:54px!important}
body.ct-giro-template .ctgiro-page .booking-head{max-width:1180px!important;width:calc(100% - 40px)!important;margin:0 auto 34px!important;padding:28px 34px!important;box-sizing:border-box!important}
body.ct-giro-template .ctgiro-page .booking-head h2{font-size:clamp(38px,4vw,58px)!important}
body.ct-giro-template .ctgiro-page .booking-shell{max-width:1180px!important;width:calc(100% - 40px)!important;margin:0 auto!important;grid-template-columns:minmax(0,1fr) 310px!important;gap:18px!important;align-items:start!important}
body.ct-giro-template .ctgiro-page .form-preview{padding:30px 32px 28px!important}
body.ct-giro-template .ctgiro-page .form-step{padding:0!important}
body.ct-giro-template .ctgiro-page .step-head{margin:0 0 22px!important}
body.ct-giro-template .ctgiro-page .step-head h3{margin:0!important;font-size:26px!important}
body.ct-giro-template .ctgiro-page .step-head p{margin:6px 0 0!important;color:#9da4a7!important;font-size:14px!important}
body.ct-giro-template .ctgiro-page .compact-trip-grid{grid-template-columns:1fr 1fr!important;gap:16px 18px!important}
body.ct-giro-template .ctgiro-page .field-grid label{font-size:12px!important}
body.ct-giro-template .ctgiro-page .field-grid input,
body.ct-giro-template .ctgiro-page .field-grid select,
body.ct-giro-template .ctgiro-page .field-grid textarea{min-height:46px!important;padding:11px 13px!important;font-size:14px!important}
body.ct-giro-template .ctgiro-page .outfit-layout{display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:26px!important;align-items:start!important}
body.ct-giro-template .ctgiro-page .outfit-visual{background:#101314!important;border:1px solid #353c3e!important;border-radius:9px!important;padding:16px!important;text-align:center!important}
body.ct-giro-template .ctgiro-page .outfit-visual img{width:100%!important;height:auto!important;max-height:300px!important;object-fit:contain!important;display:block!important;margin:auto!important}
body.ct-giro-template .ctgiro-page .outfit-visual small{display:block!important;margin-top:10px!important;color:#92999c!important;font-size:11px!important}
body.ct-giro-template .ctgiro-page .outfit-people .person-extra{margin:0 0 15px!important;padding:0 0 15px!important;border-top:0!important;border-bottom:1px solid #303638!important}
body.ct-giro-template .ctgiro-page .outfit-people .person-extra:last-child{margin-bottom:0!important}
body.ct-giro-template .ctgiro-page .person-extra h4,
body.ct-giro-template .ctgiro-page .person-data h4{margin:0 0 12px!important;font-size:12px!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#fff!important}
body.ct-giro-template .ctgiro-page .person-data{margin:0 0 18px!important;padding:0 0 18px!important;border-top:0!important;border-bottom:1px solid #303638!important}
body.ct-giro-template .ctgiro-page .personal-contact{margin-top:6px!important}
body.ct-giro-template .ctgiro-page .form-nav{padding:18px 0 0!important;background:transparent!important;gap:12px!important}
body.ct-giro-template .ctgiro-page .form-nav.single-action .next{width:100%!important}
body.ct-giro-template .ctgiro-page .form-nav:not(.single-action) .back{width:190px!important}
body.ct-giro-template .ctgiro-page .form-nav:not(.single-action) .next,
body.ct-giro-template .ctgiro-page .form-nav:not(.single-action) .submit{flex:1!important}
@media(max-width:900px){body.ct-giro-template .ctgiro-page .booking-shell{grid-template-columns:1fr!important}body.ct-giro-template .ctgiro-page .booking-summary{position:static!important}body.ct-giro-template .ctgiro-page .guide-grid article{grid-template-columns:160px 1fr!important;max-height:none!important}}
@media(max-width:650px){body.ct-giro-template .ctgiro-page .booking-head,body.ct-giro-template .ctgiro-page .booking-shell{width:calc(100% - 24px)!important}.compact-trip-grid,.outfit-layout{grid-template-columns:1fr!important}body.ct-giro-template .ctgiro-page .guide-grid article{grid-template-columns:1fr!important;max-height:none!important}body.ct-giro-template .ctgiro-page .guide-photo{height:320px!important}}
/* 0.1.17 – Korsika/Südafrika Formangleichung */
body.ct-giro-template .ctgiro-page .booking-head,
body.ct-giro-template .ctgiro-page .booking-shell{
  width:min(1180px,calc(100% - 80px))!important;
  max-width:1180px!important;
  margin-left:auto!important;margin-right:auto!important;
}
body.ct-giro-template .ctgiro-page .booking-head{padding:28px 30px!important;box-sizing:border-box!important}
body.ct-giro-template .ctgiro-page .korsika-step-title{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 24px!important;padding:0 0 18px!important;border-bottom:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .korsika-step-title>span{width:38px!important;height:38px!important;border-radius:50%!important;background:#ffd400!important;color:#0d0f10!important;display:grid!important;place-items:center!important;font-size:17px!important;font-weight:900!important;flex:0 0 38px!important}
body.ct-giro-template .ctgiro-page .korsika-step-title h3{margin:0!important;color:#fff!important;font-size:23px!important;line-height:1.1!important}
body.ct-giro-template .ctgiro-page .korsika-step-title p{margin:2px 0 0!important;color:#92999d!important;font-size:11px!important}
body.ct-giro-template .ctgiro-page .outfit-showcase{overflow:hidden!important;display:grid!important;grid-template-columns:270px 1fr!important;border:1px solid #454b4e!important;border-radius:11px!important;background:#101415!important;margin:0 0 20px!important}
body.ct-giro-template .ctgiro-page .outfit-image{min-height:315px!important;padding:15px!important;background:radial-gradient(circle at 50% 40%,#fff 0%,#e8eef0 58%,#cbd3d6 100%)!important;display:grid!important;place-items:center!important}
body.ct-giro-template .ctgiro-page .outfit-image img{width:100%!important;height:auto!important;max-height:300px!important;object-fit:contain!important}
body.ct-giro-template .ctgiro-page .outfit-copy{padding:30px 30px 27px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
body.ct-giro-template .ctgiro-page .outfit-brand{margin:0 0 8px!important;color:#ffd400!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-size:11px!important;font-weight:900!important}
body.ct-giro-template .ctgiro-page .outfit-copy h3{margin:0 0 12px!important;color:#fff!important;font-size:25px!important}
body.ct-giro-template .ctgiro-page .outfit-copy>p:not(.outfit-brand){margin:0!important;color:#b3b9bc!important;font-size:13px!important;line-height:1.62!important}
body.ct-giro-template .ctgiro-page .outfit-prices{margin-top:20px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
body.ct-giro-template .ctgiro-page .outfit-prices div{min-height:70px!important;padding:11px 12px!important;border:1px solid #3c4346!important;border-radius:7px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important}
body.ct-giro-template .ctgiro-page .outfit-prices span{color:#9fa6a9!important;font-size:11px!important}.ctgiro-page .outfit-prices strong{color:#fff!important;font-size:19px!important}.ctgiro-page .outfit-prices .featured{border-color:#ffd400!important;background:rgba(255,212,0,.06)!important}.ctgiro-page .outfit-prices .featured strong{color:#ffd400!important}.ctgiro-page .outfit-prices small{color:#a9afb2!important;font-size:9px!important}
body.ct-giro-template .ctgiro-page .outfit-order-list{display:flex!important;flex-direction:column!important;gap:9px!important}
body.ct-giro-template .ctgiro-page .outfit-order{padding:14px 15px!important;border:1px solid #454b4e!important;border-radius:7px!important;background:#111516!important;display:grid!important;grid-template-columns:minmax(145px,.7fr) minmax(220px,1.3fr) 115px!important;gap:12px!important;align-items:end!important}
body.ct-giro-template .ctgiro-page .outfit-order>div{display:flex!important;flex-direction:column!important;gap:4px!important}.ctgiro-page .outfit-order>div small{color:#858c90!important;font-size:10px!important}.ctgiro-page .outfit-order label{color:#c9cdcf!important;font-size:12px!important;display:flex!important;flex-direction:column!important;gap:7px!important}
body.ct-giro-template .ctgiro-page .primary-person{margin:0!important;padding:0 0 22px!important;border:0!important;border-bottom:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .additional-person{margin:18px 0 0!important;padding:0 0 18px!important;border:0!important;border-bottom:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .personal-contact{margin-top:18px!important;display:block!important}
body.ct-giro-template .ctgiro-page .personal-contact>label.wide{display:flex!important;flex-direction:column!important;gap:8px!important;color:#c9cdcf!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .personal-contact textarea{width:100%!important;min-height:140px!important;background:#101314!important;color:#fff!important;border:1px solid #50565a!important;border-radius:6px!important;padding:14px!important;box-sizing:border-box!important;resize:vertical!important}
body.ct-giro-template .ctgiro-page .personal-contact .check{margin-top:18px!important;min-height:60px!important;padding:14px 16px!important;border:1px solid #454b4e!important;border-radius:7px!important;background:#101314!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:14px!important;color:#b9bec1!important;line-height:1.5!important}
body.ct-giro-template .ctgiro-page .personal-contact .check input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px!important;margin:1px 0 0!important;accent-color:#ffd400!important}
body.ct-giro-template .ctgiro-page .personal-contact .check a{color:#ffd400!important;text-decoration:underline!important}
@media(max-width:900px){body.ct-giro-template .ctgiro-page .booking-head,body.ct-giro-template .ctgiro-page .booking-shell{width:min(900px,calc(100% - 36px))!important}.ctgiro-page .outfit-showcase{grid-template-columns:220px 1fr!important}}
@media(max-width:650px){body.ct-giro-template .ctgiro-page .booking-head,body.ct-giro-template .ctgiro-page .booking-shell{width:calc(100% - 24px)!important}.ctgiro-page .outfit-showcase,.ctgiro-page .outfit-order{grid-template-columns:1fr!important}.ctgiro-page .outfit-image{min-height:240px!important}}
/* 0.1.18 – definitive Korsika-aligned booking layout */
body.ct-giro-template .ctgiro-page .booking-frame{
  width:min(1180px,calc(100% - 80px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
body.ct-giro-template .ctgiro-page .booking-frame>.booking-head,
body.ct-giro-template .ctgiro-page .booking-frame>.booking-shell{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.ct-giro-template .ctgiro-page .booking-frame>.booking-head{margin-bottom:34px!important}
body.ct-giro-template .ctgiro-page .booking-frame>.booking-shell{grid-template-columns:minmax(0,1fr) 310px!important;gap:18px!important}

/* Step 2: match Korsika outfit presentation and controls */
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .korsika-step-title{margin-bottom:22px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-showcase{grid-template-columns:270px minmax(0,1fr)!important;margin-bottom:20px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-image{min-height:315px!important;padding:15px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-copy{padding:30px 30px 27px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order-list{gap:12px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order{
  display:grid!important;
  grid-template-columns:minmax(0,370px) 130px!important;
  gap:14px!important;
  align-items:end!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order label{
  display:flex!important;flex-direction:column!important;gap:7px!important;
  color:#c9cdcf!important;font-size:12px!important;font-weight:700!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order label strong{color:#c9cdcf!important;font-size:12px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order select{
  width:100%!important;min-height:46px!important;border:1px solid #555c60!important;border-radius:6px!important;
  background:#0b0e0f!important;color:#fff!important;padding:0 36px 0 12px!important;font-size:14px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order select:focus{border-color:#ffd400!important;outline:2px solid rgba(255,212,0,.12)!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-size-label[hidden]{display:none!important}

/* Step 3: mirror Korsika personal-data proportions */
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .korsika-step-title{margin-bottom:28px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .field-grid{grid-template-columns:1fr 1fr!important;gap:14px 90px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .field-grid label{font-size:13px!important;font-weight:700!important;color:#c9cdcf!important;gap:8px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .field-grid input{min-height:48px!important;padding:0 14px!important;font-size:14px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .primary-person{padding-bottom:28px!important;margin-bottom:20px!important;border-bottom:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .additional-person{padding:0 0 24px!important;margin:0 0 22px!important;border-bottom:1px solid #34393c!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .additional-person h4{margin:0 0 18px!important;font-size:14px!important;color:#fff!important;letter-spacing:.02em!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-contact>label.wide{font-weight:700!important;color:#c9cdcf!important;font-size:13px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-contact textarea{min-height:140px!important;margin-top:8px!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-contact .check{margin-top:18px!important;padding:13px 15px!important;min-height:58px!important}

@media(max-width:900px){
 body.ct-giro-template .ctgiro-page .booking-frame{width:min(900px,calc(100% - 36px))!important}
 body.ct-giro-template .ctgiro-page .booking-frame>.booking-shell{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .field-grid{gap:14px!important}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .booking-frame{width:calc(100% - 24px)!important}
 body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-showcase,
 body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order,
 body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .field-grid{grid-template-columns:1fr!important}
}


/* 0.1.19 – definitive fixes for highlight, Outfit and personal data */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{
  object-fit:cover!important;
  object-position:center 18%!important;
  transform:none!important;
}

/* Outfit title: compact like Korsika, no separator between title and subtitle. */
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .korsika-step-title{
  gap:12px!important;
  margin-bottom:22px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #34393c!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .korsika-step-title>span{
  width:34px!important;height:34px!important;flex-basis:34px!important;font-size:15px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .korsika-step-title h3{
  margin:0!important;padding:0!important;border:0!important;font-size:23px!important;line-height:1.1!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .korsika-step-title p{
  margin:4px 0 0!important;padding:0!important;border:0!important;font-size:11px!important;color:#8f979a!important;
}
/* Hidden attendee rows must stay hidden despite earlier display:grid rules. */
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order[hidden],
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .additional-person[hidden]{display:none!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order{
  grid-template-columns:minmax(0,1fr) 132px!important;
  gap:14px!important;
  max-width:560px!important;
  align-items:end!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order select{
  height:46px!important;min-height:46px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;font-weight:400!important;line-height:1.2!important;
  color:#f4f5f5!important;background-color:#0b0e0f!important;
  appearance:none!important;-webkit-appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffd400' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:15px 15px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order label,
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order label strong{
  font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:700!important;
}

/* Personal data: force the Korsika layout and restore all visible fields. */
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-title{
  gap:12px!important;margin-bottom:26px!important;padding-bottom:18px!important;border-bottom:1px solid #34393c!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-title>span{
  width:34px!important;height:34px!important;flex-basis:34px!important;font-size:15px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-title h3{
  margin:0!important;padding:0!important;border:0!important;font-size:23px!important;line-height:1.1!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-title p{
  margin:4px 0 0!important;padding:0!important;border:0!important;font-size:11px!important;color:#8f979a!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .primary-person{
  display:block!important;margin:0!important;padding:0 0 24px!important;border:0!important;border-bottom:1px solid #34393c!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:15px 90px!important;width:100%!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid label,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid label{
  display:flex!important;flex-direction:column!important;gap:8px!important;
  color:#c9cdcf!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:700!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid input,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid input{
  display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;box-sizing:border-box!important;
  height:48px!important;min-height:48px!important;margin:0!important;padding:0 14px!important;
  border:1px solid #50575a!important;border-radius:6px!important;background:#0b0e0f!important;color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:400!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .additional-person{
  display:block!important;margin:20px 0 0!important;padding:0 0 24px!important;border:0!important;border-bottom:1px solid #34393c!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .additional-person h4{
  margin:0 0 18px!important;color:#fff!important;font-size:13px!important;font-weight:800!important;letter-spacing:.03em!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-contact{
  display:block!important;width:100%!important;margin-top:22px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .remarks-wide{
  display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;
  color:#c9cdcf!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:700!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .remarks-wide textarea{
  display:block!important;width:100%!important;box-sizing:border-box!important;min-height:140px!important;margin:0!important;padding:14px!important;
  border:1px solid #50575a!important;border-radius:6px!important;background:#0b0e0f!important;color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;resize:vertical!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .terms-check{
  display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:13px!important;align-items:start!important;
  width:100%!important;box-sizing:border-box!important;margin-top:18px!important;padding:14px 16px!important;
  border:1px solid #454b4e!important;border-radius:7px!important;background:#0b0e0f!important;
  color:#c5cacc!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.55!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .terms-check input{
  display:block!important;width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:#ffd400!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .terms-check span{display:block!important;color:#c5cacc!important;opacity:1!important}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .terms-check a{color:#ffd400!important;text-decoration:underline!important;font-weight:600!important}

@media(max-width:700px){
 body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order,
 body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid,
 body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid{grid-template-columns:1fr!important;gap:14px!important;max-width:none!important}
}

/* 0.1.20 – final Korsika alignment for Outfit, personal data and summary */
body.ct-giro-template .ctgiro-page .booking-frame{
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
}
body.ct-giro-template .ctgiro-page .booking-frame>.booking-shell{
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:18px!important;
}

/* Outfit: product and size fields have equal width. */
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  max-width:none!important;
  width:100%!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-product-label,
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-size-label{
  width:100%!important;
  min-width:0!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order select{
  width:100%!important;
  box-sizing:border-box!important;
}

/* Personal data: use the full form width like Korsika. */
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .primary-person,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .additional-person,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-contact{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid input,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid input{
  width:100%!important;
  max-width:none!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .remarks-wide,
body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .remarks-wide textarea{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Step 4 = Korsika-style Zusammenfassung. */
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-title{
  gap:12px!important;
  margin-bottom:28px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #34393c!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-title>span{
  width:38px!important;height:38px!important;flex-basis:38px!important;
  font-size:16px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-title h3{
  margin:0!important;padding:0!important;border:0!important;
  font-size:23px!important;line-height:1.1!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-title p{
  margin:4px 0 0!important;padding:0!important;border:0!important;
  color:#8f979a!important;font-size:11px!important;line-height:1.35!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .summary.review-grid,
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid>div{
  min-width:0!important;
  padding:14px!important;
  border:1px solid #3d4346!important;
  border-radius:7px!important;
  background:#101314!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:5px!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid>div.review-wide{
  grid-column:1/-1!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid span{
  color:#8e9598!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid strong{
  color:#fff!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .confirmation-note,
body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .total{display:none!important}
body.ct-giro-template .ctgiro-page .form-nav .back,
body.ct-giro-template .ctgiro-page .form-nav .submit{
  font-size:15px!important;
  font-weight:900!important;
}

@media(max-width:900px){
 body.ct-giro-template .ctgiro-page .booking-frame{width:min(900px,calc(100% - 36px))!important}
 body.ct-giro-template .ctgiro-page .booking-frame>.booking-shell{grid-template-columns:1fr!important}
}
@media(max-width:650px){
 body.ct-giro-template .ctgiro-page .booking-frame{width:calc(100% - 24px)!important}
 body.ct-giro-template .ctgiro-page .form-step[data-step="2"] .outfit-order,
 body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-main-grid,
 body.ct-giro-template .ctgiro-page .form-step[data-step="3"] .personal-extra-grid,
 body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid{grid-template-columns:1fr!important}
 body.ct-giro-template .ctgiro-page .form-step[data-step="4"] .review-grid>div.review-wide{grid-column:auto!important}
}

/* 0.1.21 – final image crops, button consistency and Korsika confirmation */
/* Highlight 4: keep the complete upper lettering visible. */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{
  object-fit:cover!important;
  object-position:center 72%!important;
  transform:none!important;
}

/* Day 01: portrait source; crop around the OSTTIROL sign and bring it slightly closer. */
body.ct-giro-template .ctgiro-page .stage-card-1 .stage-image{
  overflow:hidden!important;
  background:#eef0ed!important;
}
body.ct-giro-template .ctgiro-page .stage-card-1 .stage-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:43% 54%!important;
  transform:scale(1.10)!important;
  transform-origin:43% 54%!important;
}

/* Step 3: identical typography in Back and Continue. */
body.ct-giro-template .ctgiro-page .form-step[data-step="3"]~.form-error + .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .back,
body.ct-giro-template .ctgiro-page .form-nav .next,
body.ct-giro-template .ctgiro-page .form-nav .submit{
  font-size:15px!important;
  font-weight:900!important;
}

/* Confirmation after successful submission – aligned with Korsika. */
body.ct-giro-template .ctgiro-page .success.ct-booking-confirmation{
  min-height:420px!important;
  padding:48px 24px!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
body.ct-giro-template .ctgiro-page .success.ct-booking-confirmation[hidden]{display:none!important}
body.ct-giro-template .ctgiro-page .success.ct-booking-confirmation>span{
  width:72px!important;height:72px!important;border-radius:50%!important;
  background:#ffd400!important;color:#0d0f10!important;
  display:grid!important;place-items:center!important;
  font-size:34px!important;font-weight:900!important;
  box-shadow:0 0 0 9px rgba(255,212,0,.08)!important;
}
body.ct-giro-template .ctgiro-page .success.ct-booking-confirmation h3{
  margin:24px 0 10px!important;color:#fff!important;font-size:32px!important;line-height:1.15!important;
}
body.ct-giro-template .ctgiro-page .success.ct-booking-confirmation p{
  max-width:580px!important;margin:0!important;color:#adb3b6!important;line-height:1.65!important;font-size:15px!important;
}


/* 0.1.24 – definitive device-safe highlight image + booking baseline fix */
/* The fourth highlight contains text inside the photo: never crop the source image. */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image{
  height:210px!important;
  padding:0!important;
  background:#f2f0eb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  transform:none!important;
  margin:0!important;
}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4):hover .highlight-image img{
  transform:none!important;
}

/* Person count and room category: same visual baseline on all two-column breakpoints. */
body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(1),
body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(2){
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:94px!important;
  margin:0!important;
}
body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(1)>select,
body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(2)>select{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin-top:auto!important;
  margin-bottom:0!important;
}
@media(max-width:650px){
  body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image{height:235px!important}
  body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(1),
  body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(2){min-height:0!important}
  body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(1)>select,
  body.ct-giro-template .ctgiro-page .compact-trip-grid>label:nth-child(2)>select{margin-top:8px!important}
}

/* 0.1.25 – fourth highlight: full text visible while the image area stays completely filled */
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image{
  position:relative!important;
  isolation:isolate!important;
  background:#d7d2c8!important;
}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image::before{
  content:"";
  position:absolute;
  inset:-14px;
  z-index:0;
  background-image:url('https://www.champions-training.de/wp-content/uploads/2025/04/IMG_5245-scaled.jpeg');
  background-size:cover;
  background-position:center center;
  filter:blur(12px);
  transform:scale(1.08);
  opacity:.72;
}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(255,255,255,.10);
}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image img{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}
body.ct-giro-template .ctgiro-page .highlight-card:nth-child(4) .highlight-image span{
  z-index:2!important;
}
