:root {
  --yellow: #ffd400;
  --yellow-deep: #f4c400;
  --ink: #101315;
  --muted: #60676d;
  --paper: #f5f5f2;
  --line: #dcdedc;
  --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
main { overflow: hidden; }

.site-header { height: 82px; padding: 0 clamp(24px, 5vw, 78px); display: flex; align-items: center; gap: 38px; background: #080a0b; color: white; position: relative; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 210px; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: .82; }
.brand strong { font-size: 21px; letter-spacing: .03em; }
.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; }
.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: white; 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: "KORSIKA"; position: absolute; left: 8%; bottom: 1%; font-size: clamp(80px, 12vw, 180px); 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 { 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; 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: white; 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; }
.button { min-height: 54px; padding: 0 24px; border: 1px solid transparent; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 30px; 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: white; border-color: #555b5e; }
.button-ghost:hover { border-color: var(--yellow); color: var(--yellow); }
.trust-line { margin: 22px 0 0; color: #90979b; font-size: 13px; }
.trust-line span { color: var(--yellow); margin-right: 8px; }
.hero-visual { position: relative; min-height: 600px; }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #0b0e10 0%, rgba(11,14,16,.2) 22%, transparent 48%), linear-gradient(0deg, rgba(0,0,0,.25), transparent 45%); }
.hero-visual img { object-fit: cover; }
.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: 58px; 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); }
.section-heading h2, .included h2, .booking h2 { margin: 0; font-size: clamp(38px, 4.2vw, 66px); line-height: 1.03; letter-spacing: -.05em; font-weight: 900; text-wrap: balance; }
.split-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 9vw; align-items: end; margin-bottom: 52px; }
.split-heading > p, .centered-heading > p, .section-intro { color: var(--muted); font-size: 18px; line-height: 1.7; margin: 0; }
.centered-heading { max-width: 860px; margin: 0 auto 52px; text-align: center; }
.centered-heading > p:last-child { margin-top: 20px; }
.highlight-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.highlight-card { background: white; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 14px 40px rgba(16,19,21,.055); transition: .25s ease; }
.highlight-card:hover { transform: translateY(-5px); box-shadow: 0 20px 50px rgba(16,19,21,.11); }
.highlight-image { position: relative; height: 210px; overflow: hidden; }
.highlight-image img { object-fit: cover; transition: transform .5s ease; }
.highlight-card:nth-child(4) .highlight-image img { object-position: center 18%; }
.highlight-card:hover img { transform: scale(1.035); }
.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; }
.highlight-body { padding: 24px 22px 26px; }
.highlight-body h3 { margin: 0 0 10px; font-size: 18px; }
.highlight-body p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

.facts-band { background: linear-gradient(120deg, #0b0d0e, #1a1e20); color: white; display: grid; grid-template-columns: repeat(5, 1fr); padding: 34px max(4vw, 24px); }
.facts-band div { display: flex; flex-direction: column; align-items: center; gap: 6px; border-left: 1px solid #363b3e; }
.facts-band div:first-child { border-left: 0; }
.facts-band strong { color: var(--yellow); font-size: clamp(30px, 3vw, 46px); line-height: 1; }
.facts-band span { color: #aab0b3; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .09em; }

.stages { max-width: 1500px; padding-bottom: clamp(38px, 4vw, 60px); }
.stage-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stage-card { background: white; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 12px 35px rgba(0,0,0,.05); }
.stage-card > summary { list-style: none; cursor: pointer; }
.stage-card > summary::-webkit-details-marker { display: none; }
.stage-card > summary:focus-visible { outline: 3px solid var(--yellow-deep); outline-offset: -3px; }
.stage-image { height: 220px; position: relative; overflow: hidden; }
.stage-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.34)); }
.stage-image img { object-fit: cover; transition: transform .45s ease; }
.stage-card:hover .stage-image img { transform: scale(1.04); }
.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; }
.stage-image b { position: absolute; z-index: 2; right: 14px; bottom: -10px; color: white; font-size: 72px; line-height: .8; opacity: .8; }
.stage-body { padding: 25px; }
.stage-body h3 { margin: 0 0 9px; font-size: 23px; font-weight: 400; letter-spacing: -.025em; }
.stage-body p { min-height: 63px; margin: 0 0 20px; color: var(--muted); line-height: 1.5; font-size: 14px; }
.stage-stats { border-top: 1px solid var(--line); padding-top: 16px; display: flex; gap: 18px; font-size: 13px; font-weight: 900; }
.stage-stats span:first-child { color: #a08500; }
.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; }
.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; }
.stage-card[open] .stage-action b { transform: rotate(45deg); }
.stage-description { padding: 24px 25px 28px; border-top: 1px solid var(--line); background: #fffdf1; }
.stage-description h4 { margin: 0 0 13px; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; }
.stage-description p { margin: 0; color: #51585c; font-size: 14px; line-height: 1.68; }
.stage-description p + p { margin-top: 13px; }

.pricing { padding-top: clamp(34px, 4vw, 58px); padding-bottom: clamp(58px, 6vw, 86px); display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(400px, .94fr); gap: clamp(20px, 2.4vw, 32px); align-items: stretch; }
.included { display: flex; flex-direction: column; }
.included h2 { max-width: 720px; }
.section-intro { max-width: 700px; margin: 18px 0 24px; }
.included-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.included-grid > div { min-height: 46px; display: flex; align-items: center; gap: 9px; background: white; border: 1px solid var(--line); border-radius: 7px; padding: 9px 11px; font-size: 12px; line-height: 1.3; font-weight: 700; }
.included-grid span { flex: 0 0 22px; width: 22px; height: 22px; background: var(--yellow); border-radius: 50%; display: grid; place-items: center; font-size: 11px; }

.guide-compact { scroll-margin-top: 28px; min-width: 0; background: #0c0f10; color: white; border-radius: 13px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 18px 50px rgba(16,19,21,.13); }
.guide-compact-image { position: relative; min-height: 260px; overflow: hidden; }
.guide-compact-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 46%, rgba(0,0,0,.66)); pointer-events: none; }
.guide-compact-image img { object-fit: cover; object-position: center 18%; transform: none; }
.guide-compact-image span { position: absolute; z-index: 2; left: 20px; bottom: 18px; padding: 7px 10px; border-radius: 4px; background: var(--yellow); color: #0d0f10; text-transform: uppercase; letter-spacing: .09em; font-size: 10px; font-weight: 900; }
.guide-compact-content { flex: 1; padding: 22px 22px 21px; display: flex; flex-direction: column; }
.guide-compact-content .eyebrow { margin-bottom: 8px; color: var(--yellow); font-size: 10px; }
.guide-compact-content h3 { margin: 0 0 13px; font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.guide-compact-content > p:not(.eyebrow):not(.guide-compact-signoff) { margin: 0; color: #b8bec1; font-size: 13px; line-height: 1.58; }
.guide-compact-values { margin-top: 17px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.guide-compact-values span { min-height: 34px; padding: 8px 10px; border: 1px solid #343a3d; border-radius: 6px; background: #15191b; color: #adb3b6; font-size: 11px; display: flex; align-items: center; gap: 5px; }
.guide-compact-values b { color: var(--yellow); text-transform: uppercase; letter-spacing: .035em; }
.guide-compact-signoff { margin: auto 0 0; padding-top: 18px; color: var(--yellow); font-size: 13px; font-weight: 900; }

.booking { background: #0c0f10; color: white; padding: clamp(56px, 6vw, 80px) max(4vw, 24px); }
.booking-head { max-width: 1320px; margin: 0 auto 42px; display: grid; grid-template-columns: 1fr; align-items: end; }
.booking-head > p { margin: 0; color: #9aa1a5; font-size: 18px; line-height: 1.7; }
.booking-shell { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1fr 360px; gap: 18px; align-items: start; }
.form-preview, .booking-summary { background: #181c1e; border: 1px solid #34393c; border-radius: 12px; }
.form-preview { padding: clamp(25px, 4vw, 45px); }
.progress { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.progress::before { content: ""; position: absolute; z-index: 0; top: 16px; left: 10%; right: 10%; height: 1px; background: #41474a; }
.progress button { position: relative; z-index: 1; min-width: 0; padding: 0; border: 0; background: transparent; color: #7f878b; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.progress button b { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #34393c; color: #9fa5a8; font-size: 12px; box-shadow: 0 0 0 5px #181c1e; }
.progress button small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; color: inherit; font-size: 9px; font-weight: 800; line-height: 1.25; text-align: center; text-transform: uppercase; letter-spacing: .035em; white-space: nowrap; }
.progress button.completed b, .progress button.current b { background: var(--yellow); color: #0d0f10; }
.progress button.completed { color: #bcc1c4; }
.progress button.current { color: var(--yellow); }
.progress button:disabled { cursor: default; }
.step-position { margin: 0 0 30px; color: #9da4a7; font-size: 12px; text-align: center; }
.step-panel { min-height: 290px; }
fieldset { border: 0; margin: 0; padding: 26px 0; border-top: 1px solid #34393c; }
fieldset:first-of-type { border-top: 0; padding-top: 0; }
legend { width: 100%; padding: 0 0 17px; font-size: 18px; font-weight: 900; }
.fieldset-intro { margin: -5px 0 18px; color: #9ca3a6; font-size: 13px; line-height: 1.55; }
.outfit-showcase { overflow: hidden; display: grid; grid-template-columns: 270px 1fr; gap: 0; border: 1px solid #454b4e; border-radius: 11px; background: #101415; }
.ct-outfit-showcase { margin: 0 0 20px; }
.outfit-image { min-height: 315px; padding: 15px; background: radial-gradient(circle at 50% 40%, #ffffff 0%, #e8eef0 58%, #cbd3d6 100%); display: grid; place-items: center; }
.outfit-image img { width: 100%; height: auto; max-height: 300px; object-fit: contain; }
.outfit-copy { padding: 30px 30px 27px; display: flex; flex-direction: column; justify-content: center; }
.outfit-brand { margin: 0 0 8px; color: var(--yellow); text-transform: uppercase; letter-spacing: .09em; font-size: 11px; font-weight: 900; }
.outfit-copy h3 { margin: 0 0 12px; font-size: 25px; letter-spacing: -.025em; }
.outfit-copy > p:not(.outfit-brand) { margin: 0; color: #b3b9bc; font-size: 13px; line-height: 1.62; }
.outfit-prices { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.outfit-prices div { min-height: 70px; padding: 11px 12px; border: 1px solid #3c4346; border-radius: 7px; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.outfit-prices span { color: #9fa6a9; font-size: 11px; }
.outfit-prices strong { color: #fff; font-size: 19px; }
.outfit-prices .featured { border-color: var(--yellow); background: rgba(255,212,0,.06); }
.outfit-prices .featured strong { color: var(--yellow); }
.outfit-prices small { color: #a9afb2; font-size: 9px; }
.outfit-intro { margin: 19px 0 12px; }
.outfit-order-list { display: flex; flex-direction: column; gap: 9px; }
.outfit-order { padding: 14px 15px; border: 1px solid #454b4e; border-radius: 7px; background: #111516; display: grid; grid-template-columns: minmax(145px, .7fr) minmax(220px, 1.3fr) 115px; gap: 12px; align-items: end; }
.outfit-order > div { align-self: center; display: flex; flex-direction: column; gap: 4px; }
.outfit-order > div small { color: #858c90; font-size: 10px; }
.outfit-order label { color: #c9cdcf; font-size: 12px; display: flex; flex-direction: column; gap: 7px; }
.outfit-order select { min-width: 0; min-height: 43px; border: 1px solid #555c60; border-radius: 6px; background: #0b0e0f; color: white; padding: 0 34px 0 11px; font: inherit; cursor: pointer; }
.outfit-order select:focus { border-color: var(--yellow); outline: 2px solid rgba(255,212,0,.12); }
.outfit-order select:disabled { opacity: .42; cursor: not-allowed; }
.choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.choice { border: 1px solid #52585c; border-radius: 7px; padding: 18px; display: flex; gap: 12px; align-items: center; cursor: pointer; }
.choice.active { border-color: var(--yellow); background: rgba(255,212,0,.03); }
.choice input { accent-color: var(--yellow); width: 18px; height: 18px; }
.choice span { display: flex; flex-direction: column; gap: 4px; }
.choice small { color: #999fa3; }
.traveler-select { margin-bottom: 14px; padding: 16px 18px; border: 1px solid #52585c; border-radius: 7px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.traveler-select label { display: flex; flex-direction: column; gap: 4px; }
.traveler-select small, .service-card small, .transfer-choice small { color: #999fa3; }
.traveler-select select, .service-card select { min-height: 44px; border: 1px solid #555c60; border-radius: 6px; background: #101314; color: white; padding: 0 36px 0 12px; font: inherit; cursor: pointer; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field-grid label { color: #c9cdcf; font-size: 13px; display: flex; flex-direction: column; gap: 8px; }
.field-grid input { min-height: 48px; background: #101314; color: white; border: 1px solid #50565a; border-radius: 6px; padding: 0 14px; outline: none; }
.field-grid input:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,212,0,.1); }
.additional-travelers { margin-top: 22px; display: flex; flex-direction: column; gap: 10px; }
.additional-travelers h4 { margin: 0 0 2px; font-size: 14px; }
.additional-traveler { display: grid; grid-template-columns: 32px 1fr 1fr; gap: 12px; align-items: end; }
.additional-traveler > span { width: 32px; height: 48px; border-radius: 6px; background: var(--yellow); color: #0d0f10; display: grid; place-items: center; font-weight: 900; }
.additional-traveler label { color: #c9cdcf; font-size: 13px; display: flex; flex-direction: column; gap: 8px; }
.additional-traveler input { min-height: 48px; background: #101314; color: white; border: 1px solid #50565a; border-radius: 6px; padding: 0 14px; outline: none; }
.additional-traveler input:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,212,0,.1); }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.service-card { min-width: 0; border: 1px solid #52585c; border-radius: 7px; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.service-card > div:first-child { margin-bottom: 2px; display: flex; flex-direction: column; gap: 4px; }
.service-card > label:not(.transfer-choice) { display: grid; grid-template-columns: 1fr 140px; gap: 12px; align-items: center; color: #c9cdcf; font-size: 13px; }
.transfer-choice { min-height: 56px; border: 1px solid #454b4e; border-radius: 6px; padding: 10px 12px; display: flex; gap: 10px; align-items: center; cursor: pointer; }
.transfer-choice.active { border-color: var(--yellow); background: rgba(255,212,0,.03); }
.transfer-choice input { width: 18px; height: 18px; accent-color: var(--yellow); }
.transfer-choice span { display: flex; flex-direction: column; gap: 3px; }
.form-button { margin-top: 8px; width: 100%; border: 0; }
.form-navigation { margin-top: 22px; display: grid; grid-template-columns: minmax(150px, .6fr) minmax(230px, 1.4fr); gap: 10px; }
.form-navigation.single-action { grid-template-columns: 1fr; }
.form-navigation .button { width: 100%; border-color: #555b5e; }
.form-note { margin: 14px 0 0; text-align: center; color: #737a7e; font-size: 11px; }
.review-panel > p { margin: 0 0 22px; color: #aeb4b7; line-height: 1.55; }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.review-grid > div { min-width: 0; background: #101314; border: 1px solid #3d4346; border-radius: 7px; padding: 15px; display: flex; flex-direction: column; gap: 6px; }
.review-grid span { color: #8e9598; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.review-grid strong { overflow-wrap: anywhere; font-size: 14px; }
.review-options { grid-column: 1 / -1; }
.final-price-breakdown { margin-top: 20px; padding: 19px; border: 1px solid #42494c; border-radius: 8px; background: #101314; }
.final-price-breakdown h4 { margin: 0 0 12px; font-size: 15px; }
.final-price-breakdown > div { padding: 10px 0; border-top: 1px solid #343a3d; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; color: #aeb4b7; font-size: 13px; line-height: 1.4; }
.final-price-breakdown b { color: white; white-space: nowrap; }
.review-total { margin: 18px 0; padding: 19px 0; border-top: 1px solid #3d4346; border-bottom: 1px solid #3d4346; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.review-total span { color: #b6bbbe; font-size: 14px; }
.review-total strong { color: var(--yellow); font-size: 28px; white-space: nowrap; }
.review-actions { margin-top: 0; }
.booking-confirmation { min-height: 500px; padding: 44px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.confirmation-icon { width: 72px; height: 72px; border-radius: 50%; background: var(--yellow); color: #0d0f10; display: grid; place-items: center; font-size: 34px; font-weight: 900; box-shadow: 0 0 0 9px rgba(255,212,0,.08); }
.booking-confirmation .eyebrow { margin: 26px 0 8px; }
.booking-confirmation h3 { margin: 0 0 12px; font-size: clamp(28px, 4vw, 42px); }
.booking-confirmation > p:not(.eyebrow) { max-width: 610px; margin: 0; color: #aeb4b7; line-height: 1.65; }
.confirmation-total { width: min(100%, 430px); margin: 26px 0 20px; padding: 18px 20px; border: 1px solid #464d50; border-radius: 8px; background: #101314; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.confirmation-total span { color: #b6bbbe; font-size: 14px; }
.confirmation-total strong { color: var(--yellow); font-size: 28px; white-space: nowrap; }
.booking-confirmation .confirmation-note { max-width: 560px; color: #7f868a; font-size: 12px; }
.booking-confirmation .form-button { max-width: 430px; margin-top: 24px; }
.booking-summary { padding: 30px; position: sticky; top: 22px; }
.booking-summary h3 { font-size: 25px; margin: 0 0 8px; }
.booking-summary > p:not(.eyebrow) { margin: 0 0 25px; color: #9da3a6; line-height: 1.6; }
.summary-row { display: flex; justify-content: space-between; gap: 15px; padding: 17px 0; border-top: 1px solid #363b3e; color: #b5b9bc; font-size: 14px; }
.summary-row b { color: white; }
.summary-row span { min-width: 0; }
.summary-row span small { margin-top: 4px; display: block; color: #737a7e; font-size: 10px; line-height: 1.35; }
.summary-meta { margin: -10px 0 12px; color: #7f868a; font-size: 11px; }
.summary-row.surcharge { padding: 12px 0; color: #8e9598; font-size: 12px; }
.summary-row.surcharge b { color: #c8cccf; }
.summary-row.total { color: var(--yellow); align-items: baseline; }
.summary-row.total b { color: var(--yellow); font-size: 28px; }
.contact-card { margin-top: 18px; padding: 18px; border-radius: 8px; background: #0f1213; display: flex; flex-direction: column; gap: 7px; }
.contact-card small { color: #8e9598; }
.contact-card strong { font-size: 14px; }
.contact-card a { margin-top: 4px; color: var(--yellow); font-weight: 400; }
.contact-card a { width: 100%; min-width: 0; display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: baseline; gap: 8px; font-size: clamp(13px, .9vw, 15px); }
.contact-card a span:last-child { min-width: 0; text-align: right; white-space: nowrap; letter-spacing: -.015em; }
.contact-card a + a { margin-top: 1px; }

.faq { max-width: 1000px; }
.faq-list { display: flex; flex-direction: column; }
.faq details { border-top: 1px solid #cfd2d0; padding: 0; }
.faq details:last-child { border-bottom: 1px solid #cfd2d0; }
.faq summary { list-style: none; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 18px; font-weight: 900; cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { font-size: 28px; font-weight: 400; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { margin: -5px 0 26px; max-width: 820px; color: var(--muted); line-height: 1.65; }

.ct-korsika-page > footer { background: #080a0b; color: white; padding: 42px clamp(24px, 6vw, 90px); display: flex; align-items: center; gap: 42px; }
.ct-korsika-page .footer-brand { min-width: auto; }
.ct-korsika-page > footer p { margin: 0; color: #92999c; font-size: 13px; }
.ct-korsika-page > footer .footer-contact { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.ct-korsika-page > footer .footer-contact a { width: 270px; color: var(--yellow); font-weight: 900; font-size: 13px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.ct-korsika-page > footer .footer-contact a span:last-child { text-align: right; }

@media (max-width: 1100px) {
  .site-header nav { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 610px; padding-bottom: 70px; }
  .hero-visual { min-height: 520px; }
  .highlight-grid { grid-template-columns: 1fr 1fr; }
  .stage-grid { grid-template-columns: 1fr 1fr; }
  .pricing { grid-template-columns: 1fr; }
  .guide-compact { display: grid; grid-template-columns: 290px 1fr; }
  .guide-compact-image { min-height: 390px; }
}

@media (max-width: 780px) {
  .site-header { height: 70px; padding: 0 18px; }
  .brand { min-width: 0; }
  .brand strong { font-size: 17px; }
  .brand small { font-size: 10px; letter-spacing: .25em; }
  .brand-mark { transform: scale(.8); transform-origin: left center; width: 40px; }
  .header-cta { padding: 11px 13px; font-size: 11px; }
  .hero-copy { min-height: auto; padding: 62px 24px 50px; }
  .hero h1 { font-size: clamp(44px, 13vw, 66px); }
  .hero-lead { font-size: 18px; }
  .hero-meta { grid-template-columns: 1fr; }
  .hero-meta span { border-left: 0; border-top: 1px solid #303538; padding: 13px 0; }
  .hero-meta span:first-child { border-top: 0; }
  .hero-actions .button { width: 100%; }
  .hero-visual { min-height: 430px; }
  .hero-visual::after { background: linear-gradient(180deg, #0b0e10 0%, transparent 18%), linear-gradient(0deg, rgba(0,0,0,.35), transparent 45%); }
  .hero-badge { width: 132px; height: 132px; bottom: 22px; right: 22px; }
  .hero-badge strong { font-size: 42px; }
  .hero-badge span { font-size: 9px; }
  .section { padding: 75px 20px; }
  .split-heading, .booking-head { grid-template-columns: 1fr; gap: 24px; }
  .highlight-grid, .stage-grid { grid-template-columns: 1fr; }
  .highlight-image { height: 235px; }
  .facts-band { grid-template-columns: 1fr 1fr; gap: 0; padding: 14px 16px; }
  .facts-band div { padding: 20px 8px; border-left: 0; border-top: 1px solid #34393b; }
  .facts-band div:nth-child(odd) { border-right: 1px solid #34393b; }
  .facts-band div:first-child, .facts-band div:nth-child(2) { border-top: 0; }
  .facts-band div:last-child { border-right: 0; }
  .stage-image { height: 220px; }
  .included-grid { grid-template-columns: 1fr; }
  .guide-compact { display: flex; }
  .guide-compact-image { min-height: 320px; }
  .guide-compact-values { grid-template-columns: 1fr; }
  .booking { padding: 56px 18px; }
  .booking-shell { grid-template-columns: 1fr; }
  .booking-summary { position: static; }
  .progress { gap: 5px; }
  .progress button small { display: none; }
  .step-position { margin-bottom: 22px; }
  .choice-row, .field-grid, .review-grid, .service-grid { grid-template-columns: 1fr; }
  .outfit-showcase { grid-template-columns: 1fr; }
  .outfit-image { min-height: 280px; }
  .outfit-copy { padding: 25px 20px; }
  .outfit-prices { gap: 5px; }
  .outfit-prices div { padding: 9px; }
  .outfit-order { grid-template-columns: 1fr; }
  .traveler-select { align-items: flex-start; flex-direction: column; }
  .traveler-select select { width: 100%; }
  .additional-traveler { grid-template-columns: 32px 1fr; }
  .additional-traveler label:last-child { grid-column: 2; }
  .service-card > label:not(.transfer-choice) { grid-template-columns: 1fr; }
  .service-card select { width: 100%; }
  .form-navigation { grid-template-columns: 1fr; }
  .review-options { grid-column: auto; }
  .final-price-breakdown > div { flex-direction: column; gap: 5px; }
  .review-total { align-items: flex-start; flex-direction: column; gap: 8px; }
  .ct-korsika-page > footer { flex-direction: column; align-items: flex-start; gap: 18px; }
  .ct-korsika-page > footer .footer-contact { margin-left: 0; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* WordPress template and Ninja Forms integration */
body.ct-korsika-template { margin: 0 !important; padding: 0 !important; background: var(--paper) !important; }
body.ct-korsika-template .ct-korsika-page { width: 100%; max-width: none; margin: 0; overflow: hidden; font-family: Arial, Helvetica, sans-serif; }
.ct-korsika-page img { display: block; max-width: 100%; }
.ct-korsika-page .hero-visual > img,
.ct-korsika-page .highlight-image > img,
.ct-korsika-page .stage-image > img,
.ct-korsika-page .guide-compact-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ct-korsika-page .guide-compact-image > img { object-position: center 18%; transform: none; }
.ct-korsika-page .highlight-image > img,
.ct-korsika-page .stage-image > img { z-index: 0; }
.ct-korsika-page .site-header a,
.ct-korsika-page footer a { text-decoration: none; }

.ct-korsika-form { scroll-margin-top: 24px; min-height: 520px; }
.ct-korsika-form .nf-form-title,
.ct-korsika-form .nf-before-form-content,
.ct-korsika-form .nf-after-form-content { display: none !important; }
.ct-korsika-form .nf-form-cont,
.ct-korsika-form .nf-form-content { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.ct-korsika-form .nf-field-container { margin-bottom: 15px !important; }
.ct-korsika-form .nf-field-label { margin-bottom: 7px !important; }
.ct-korsika-form .nf-field-label label { color: #c9cdcf !important; font-size: 13px !important; font-weight: 700 !important; }
.ct-korsika-form .ninja-forms-req-symbol { color: var(--yellow) !important; }
.ct-korsika-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.ct-korsika-form select,
.ct-korsika-form textarea { width: 100% !important; min-height: 48px !important; border: 1px solid #50565a !important; border-radius: 6px !important; background: #101314 !important; color: white !important; padding: 10px 14px !important; box-shadow: none !important; font: inherit !important; }
.ct-korsika-form textarea { min-height: 105px !important; resize: vertical; }
.ct-korsika-form input:focus,
.ct-korsika-form select:focus,
.ct-korsika-form textarea:focus { border-color: var(--yellow) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(255,212,0,.1) !important; }
.ct-korsika-form input[type="checkbox"],
.ct-korsika-form input[type="radio"] { width: 19px !important; height: 19px !important; accent-color: var(--yellow); }
.ct-korsika-form .list-radio-wrap .nf-field-element ul,
.ct-korsika-form .list-checkbox-wrap .nf-field-element ul { margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ct-korsika-form .list-radio-wrap .nf-field-element li,
.ct-korsika-form .list-checkbox-wrap .nf-field-element li { margin: 0 !important; padding: 15px !important; border: 1px solid #50565a; border-radius: 7px; background: #101314; display: flex; align-items: center; gap: 9px; }
.ct-korsika-form .list-radio-wrap label,
.ct-korsika-form .list-checkbox-wrap label { color: white !important; margin: 0 !important; cursor: pointer; }
.ct-korsika-form .checkbox-wrap .nf-field-element { width: 28px !important; }
.ct-korsika-form .checkbox-wrap .nf-field-description { width: calc(100% - 34px) !important; margin: 0 !important; color: #b8bec1; line-height: 1.5; font-size: 13px; }
.ct-korsika-form .checkbox-wrap .nf-field-description[hidden] { display: none !important; }
.ct-korsika-form .checkbox-wrap .nf-field-description a { color: var(--yellow); text-decoration: underline; }
.ct-korsika-form .ct-legal-field { padding: 13px 15px; border: 1px solid #454b4e; border-radius: 7px; background: #111516; }
.ct-korsika-form .ct-legal-field .checkbox-wrap { display: grid !important; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 10px; }
.ct-korsika-form .ct-legal-field .nf-field-label { grid-column: 2; width: auto !important; margin: 0 !important; }
.ct-korsika-form .ct-legal-field .nf-field-label label { display: block; margin: 0 !important; color: #c9cdcf !important; font-size: 13px; font-weight: 400 !important; line-height: 1.55; }
.ct-korsika-form .ct-legal-field .nf-field-label a { color: var(--yellow) !important; text-decoration: underline; }
.ct-korsika-form .ct-legal-field .nf-field-element { grid-column: 1; grid-row: 1; width: 24px !important; margin: 1px 0 0 !important; }
.ct-korsika-step[hidden],
.ct-korsika-form .ct-computed-field { display: none !important; }
.ct-korsika-form .ct-invalid input,
.ct-korsika-form .ct-invalid select,
.ct-korsika-form input[aria-invalid="true"] { border-color: #ff6c63 !important; }

.ct-form-section-heading { margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid #34393c; display: flex; align-items: center; gap: 13px; }
.ct-form-section-heading > span { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--yellow); color: #0d0f10; display: grid; place-items: center; font-weight: 900; }
.ct-form-section-heading > div { display: flex; flex-direction: column; gap: 3px; }
.ct-form-section-heading strong { color: white; font-size: 19px; }
.ct-form-section-heading small { color: #8f979b; font-size: 11px; }
.ct-additional-person-heading { margin: 22px 0 8px; padding-top: 16px; border-top: 1px solid #3d4346; color: #fff; font-size: 14px; }

.ct-name-pair,
.ct-contact-pair,
[class*="ct-person-name-pair-"] { grid-template-columns: 1fr; }

.ct-name-pair > .nf-field-container,
.ct-contact-pair > .nf-field-container,
[class*="ct-person-name-pair-"] > .nf-field-container { width: 100%; }

.ct-form-progress { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.ct-form-progress::before { content: ""; position: absolute; z-index: 0; top: 16px; left: 10%; right: 10%; height: 1px; background: #41474a; }
.ct-form-progress button { position: relative; z-index: 1; min-width: 0; padding: 0; border: 0; background: transparent; color: #7f878b; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; }
.ct-form-progress button b { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #34393c; color: #9fa5a8; font-size: 12px; box-shadow: 0 0 0 5px #181c1e; }
.ct-form-progress button small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; color: inherit; font-size: 9px; font-weight: 800; line-height: 1.25; text-align: center; text-transform: uppercase; letter-spacing: .035em; white-space: nowrap; }
.ct-form-progress button.completed b,
.ct-form-progress button.current b { background: var(--yellow); color: #0d0f10; }
.ct-form-progress button.completed { color: #bcc1c4; }
.ct-form-progress button.current { color: var(--yellow); }
.ct-form-progress button:disabled { cursor: default; }
.ct-step-position { margin: 0 0 30px; color: #9da4a7; font-size: 12px; text-align: center; }
.ct-step-error { min-height: 20px; margin: 12px 0 0; color: #ff8a82; font-size: 12px; text-align: center; }
.ct-form-navigation { margin-top: 16px; display: grid; grid-template-columns: minmax(150px,.6fr) minmax(230px,1.4fr); gap: 10px; }
.ct-form-navigation.single-action { grid-template-columns: 1fr; }
.ct-form-navigation button { min-height: 54px; padding: 0 22px; border-radius: 6px; border: 1px solid #73797c; background: transparent; color: white; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.ct-form-navigation .ct-next { border-color: var(--yellow); background: var(--yellow); color: #0b0d0e; }
.ct-form-navigation .ct-back:hover { border-color: var(--yellow); color: var(--yellow); }
.ct-form-navigation .ct-next:hover { background: #ffe04a; }
.ct-korsika-form .submit-wrap { margin-top: 0 !important; }
.ct-korsika-form .ct-submit-button { width: 100% !important; min-height: 58px !important; border: 0 !important; border-radius: 6px !important; background: var(--yellow) !important; color: #0b0d0e !important; font-weight: 900 !important; text-transform: uppercase; cursor: pointer; }
.ct-form-navigation .ct-final-submit { min-width: 0; margin: 0 !important; order: 2; }
.ct-form-navigation .ct-back { order: 1; border-color: #73797c !important; }
.ct-form-navigation .ct-next { order: 2; }

body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-back,
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-final-submit,
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-final-submit .nf-field,
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-final-submit .submit-wrap,
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-final-submit .nf-field-element,
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-final-submit .ct-submit-button {
  box-sizing: border-box !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-back,
body.ct-korsika-template .ct-korsika-page .ct-form-navigation > .ct-final-submit .ct-submit-button {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 58px !important;
}

.ct-review-summary { color: white; }
.ct-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ct-review-grid > div { min-width: 0; padding: 14px; border: 1px solid #3d4346; border-radius: 7px; background: #101314; display: flex; flex-direction: column; gap: 5px; }
.ct-review-grid span { color: #8e9598; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.ct-review-grid strong { overflow-wrap: anywhere; color: white; font-size: 13px; font-weight: 400; }
.ct-review-grid .ct-review-wide { grid-column: 1 / -1; }
.ct-review-prices { margin-top: 18px; padding: 16px 18px; border: 1px solid #42494c; border-radius: 8px; background: #101314; }
.ct-review-prices .summary-row { padding: 10px 0; }
.ct-review-prices .summary-row.total { margin-top: 5px; }
.ct-field-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.ct-field-pair > .nf-field-container { min-width: 0; margin: 0 !important; }
.ct-consent-mirror { display: none !important; }
.ct-final-actions { display: grid; grid-template-columns: minmax(150px, .62fr) minmax(240px, 1.38fr); gap: 12px; margin-top: 18px; }
.ct-final-actions > .nf-field-container { margin: 0 !important; }
.ct-final-back { box-sizing: border-box; height: 58px; min-height: 58px; padding: 0 22px; border: 1px solid #42494c; border-radius: 6px; background: #101314; color: white; font-weight: 900; line-height: 1; text-transform: uppercase; cursor: pointer; }

.ct-korsika-form .ct-submit-button { box-sizing: border-box !important; height: 58px !important; padding: 0 22px !important; line-height: 1 !important; }
.ct-booking-confirmation p + p { margin-top: 14px; }
.ct-booking-confirmation strong { color: white; }
.ct-booking-confirmation { min-height: 420px; padding: 48px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ct-booking-confirmation > span { width: 72px; height: 72px; border-radius: 50%; background: var(--yellow); color: #0d0f10; display: grid; place-items: center; font-size: 34px; font-weight: 900; }
.ct-booking-confirmation h3 { margin: 24px 0 10px; color: white; font-size: 32px; }
.ct-booking-confirmation p { max-width: 580px; margin: 0; color: #adb3b6; line-height: 1.65; }
.ct-form-missing { padding: 45px 20px; text-align: center; color: #c9cdcf; }
.ct-form-missing strong { color: var(--yellow); font-size: 20px; }

@media (max-width: 780px) {
  .ct-korsika-form .list-radio-wrap .nf-field-element ul,
  .ct-korsika-form .list-checkbox-wrap .nf-field-element ul,
  .ct-review-grid { grid-template-columns: 1fr; }
  .ct-review-grid .ct-review-wide { grid-column: auto; }
  .ct-field-pair, .ct-final-actions { grid-template-columns: 1fr; }
  .ct-form-progress { gap: 4px; }
  .ct-form-progress button small { display: none; }
  .ct-form-navigation { grid-template-columns: 1fr; }
}

/* Isolation from high-specificity styles in the legacy WordPress theme. */
body.ct-korsika-template .ct-korsika-page {
  background: var(--paper) !important;
  color: var(--ink) !important;
}
body.ct-korsika-template .ct-korsika-page h1,
body.ct-korsika-template .ct-korsika-page h2,
body.ct-korsika-template .ct-korsika-page h3,
body.ct-korsika-template .ct-korsika-page h4,
body.ct-korsika-template .ct-korsika-page h5,
body.ct-korsika-template .ct-korsika-page h6 {
  color: inherit !important;
}
body.ct-korsika-template .ct-korsika-page .site-header,
body.ct-korsika-template .ct-korsika-page .hero,
body.ct-korsika-template .ct-korsika-page .guide-compact,
body.ct-korsika-template .ct-korsika-page .booking,
body.ct-korsika-template .ct-korsika-page footer {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .brand strong,
body.ct-korsika-template .ct-korsika-page .site-header nav a,
body.ct-korsika-template .ct-korsika-page .hero h1,
body.ct-korsika-template .ct-korsika-page .hero-meta b,
body.ct-korsika-template .ct-korsika-page .booking h2,
body.ct-korsika-template .ct-korsika-page .booking h3,
body.ct-korsika-template .ct-korsika-page footer strong {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .brand small,
body.ct-korsika-template .ct-korsika-page .eyebrow,
body.ct-korsika-template .ct-korsika-page .contact-card a,
body.ct-korsika-template .ct-korsika-page .footer-contact a {
  color: var(--yellow) !important;
}
body.ct-korsika-template .ct-korsika-page .contact-card a,
body.ct-korsika-template .ct-korsika-page .contact-card a:visited,
body.ct-korsika-template .ct-korsika-page .contact-card a:hover,
body.ct-korsika-template .ct-korsika-page .contact-card a span {
  color: var(--yellow) !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
body.ct-korsika-template .ct-korsika-page .ct-additional-person-heading {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .hero-lead {
  color: #c8cccf !important;
}
body.ct-korsika-template .ct-korsika-page .hero-meta small,
body.ct-korsika-template .ct-korsika-page .trust-line {
  color: #969da2 !important;
}
body.ct-korsika-template .ct-korsika-page .header-cta,
body.ct-korsika-template .ct-korsika-page .button-primary {
  border-color: transparent !important;
  background: var(--yellow) !important;
  color: #0b0d0e !important;
  text-shadow: none !important;
}
body.ct-korsika-template .ct-korsika-page .button-ghost {
  border: 1px solid #555b5e !important;
  background: transparent !important;
  color: #fff !important;
  text-shadow: none !important;
}
body.ct-korsika-template .ct-korsika-page .button-ghost:hover {
  border-color: var(--yellow) !important;
  background: transparent !important;
  color: var(--yellow) !important;
}
body.ct-korsika-template .ct-korsika-page .hero-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 14px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  vertical-align: middle !important;
  width: 100% !important;
  white-space: nowrap !important;
  position: relative !important;
}
body.ct-korsika-template .ct-korsika-page .hero-actions .button > span {
  line-height: 1 !important;
  position: absolute !important;
  right: 16px !important;
}
body.ct-korsika-template .ct-korsika-page .ct-korsika-form .nf-field-label,
body.ct-korsika-template .ct-korsika-page .ct-korsika-form .nf-field-label label,
body.ct-korsika-template .ct-korsika-page .ct-korsika-form .nf-field-label span {
  color: #c9cdcf !important;
}
body.ct-korsika-template .ct-korsika-page .booking-summary .summary-row span {
  color: #b5b9bc !important;
}
body.ct-korsika-template .ct-korsika-page .booking-summary .summary-row b {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .booking-summary .summary-row.total span,
body.ct-korsika-template .ct-korsika-page .booking-summary .summary-row.total b {
  color: var(--yellow) !important;
}
body.ct-korsika-template .ct-korsika-page .booking-summary .summary-row span small {
  color: #737a7e !important;
}
body.ct-korsika-template .ct-korsika-page .booking-summary .contact-card strong {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase,
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase h3 {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .outfit-brand,
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .featured strong {
  color: var(--yellow) !important;
}
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .outfit-copy > p:not(.outfit-brand) {
  color: #b3b9bc !important;
}
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .outfit-prices span,
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .outfit-prices small {
  color: #a9afb2 !important;
}
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .outfit-prices strong {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .ct-outfit-showcase .outfit-prices .featured strong {
  color: var(--yellow) !important;
}
body.ct-korsika-template .ct-korsika-page .intro,
body.ct-korsika-template .ct-korsika-page .stages,
body.ct-korsika-template .ct-korsika-page .pricing,
body.ct-korsika-template .ct-korsika-page .faq {
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--ink) !important;
}
body.ct-korsika-template .ct-korsika-page .intro > .section-heading .eyebrow,
body.ct-korsika-template .ct-korsika-page .included > .eyebrow {
  color: #a08500 !important;
}
body.ct-korsika-template .ct-korsika-page .stages > .section-heading .eyebrow,
body.ct-korsika-template .ct-korsika-page .faq > .section-heading .eyebrow {
  color: var(--ink) !important;
}
body.ct-korsika-template .ct-korsika-page .stage-body h3 {
  font-weight: 400 !important;
}
body.ct-korsika-template .ct-korsika-page .highlight-card .highlight-image span,
body.ct-korsika-template .ct-korsika-page .highlight-card .highlight-body h3,
body.ct-korsika-template .ct-korsika-page .highlight-card .highlight-body p,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-image span,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-image b,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-body h3,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-body p,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-stats,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-action,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-action b,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-description h4,
body.ct-korsika-template .ct-korsika-page .stage-card .stage-description p {
  font-weight: 400 !important;
}
body.ct-korsika-template .ct-korsika-page .guide-compact-content h3 {
  color: #fff !important;
}
body.ct-korsika-template .ct-korsika-page .highlight-card:nth-child(4) .highlight-image img {
  object-position: center 18% !important;
}
body.ct-korsika-template .ct-korsika-page .facts-band,
body.ct-korsika-template .ct-korsika-page .booking,
body.ct-korsika-template .ct-korsika-page footer {
  visibility: visible !important;
  opacity: 1 !important;
}
body.ct-korsika-template .ct-korsika-page .highlight-card,
body.ct-korsika-template .ct-korsika-page .stage-card,
body.ct-korsika-template .ct-korsika-page .included-grid > div {
  color: var(--ink) !important;
}

@media (max-width: 720px) {
  body.ct-korsika-template .ct-korsika-page .contact-card a,
  body.ct-korsika-template .ct-korsika-page .footer-contact a {
    width: 100%;
    gap: 8px;
  }
  body.ct-korsika-template .ct-korsika-page .contact-card a span:last-child {
    white-space: normal;
  }
}

@media (max-width: 420px) {
  body.ct-korsika-template .ct-korsika-page .hero-actions {
    grid-template-columns: 1fr;
  }
}

/* 1.0.28 – unified four-step booking standard */
body.ct-korsika-template .ct-korsika-page .ct-korsika-form .nf-field-container li[hidden],
body.ct-korsika-template .ct-korsika-page .ct-korsika-form .ct-obsolete-person-field,
body.ct-korsika-template .ct-korsika-page .ct-korsika-form .ct-obsolete-person-field[hidden]{display:none!important;}
body.ct-korsika-template .ct-korsika-page .ct-form-progress{grid-template-columns:repeat(4,minmax(0,1fr))!important;}


/* 1.0.29 – booking form aligned with Grand Tour/Giro standard */
body.ct-korsika-template .ct-korsika-page .ct-obsolete-step-heading,
body.ct-korsika-template .ct-korsika-page .ct-obsolete-step-heading[hidden]{display:none!important;}

body.ct-korsika-template .ct-korsika-page .ct-trip-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 16px!important;margin:0!important;width:100%!important;
}
body.ct-korsika-template .ct-korsika-page .ct-trip-grid>.nf-field-container{width:100%!important;min-width:0!important;margin-bottom:0!important;}
body.ct-korsika-template .ct-korsika-page .ct-name-pair,
body.ct-korsika-template .ct-korsika-page .ct-contact-pair,
body.ct-korsika-template .ct-korsika-page [class*="ct-person-name-pair-"],
body.ct-korsika-template .ct-korsika-page .ct-emergency-pair{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 16px!important;width:100%!important;
}
body.ct-korsika-template .ct-korsika-page .ct-name-pair>.nf-field-container,
body.ct-korsika-template .ct-korsika-page .ct-contact-pair>.nf-field-container,
body.ct-korsika-template .ct-korsika-page [class*="ct-person-name-pair-"]>.nf-field-container,
body.ct-korsika-template .ct-korsika-page .ct-emergency-pair>.nf-field-container{width:100%!important;min-width:0!important;}

/* Native select arrows: visible yellow chevron, matching Grand Tour. */
body.ct-korsika-template .ct-korsika-page .ct-korsika-form select{
  appearance:none!important;-webkit-appearance:none!important;
  padding-right:40px!important;
  background-color:#101314!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-korsika-template .ct-korsika-page .ct-emergency-fields{margin-top:18px!important;padding-top:18px!important;border-top:1px solid #34393c!important;}
body.ct-korsika-template .ct-korsika-page .ct-emergency-fields .nf-field-label label{font-weight:700!important;}

@media(max-width:780px){
 body.ct-korsika-template .ct-korsika-page .ct-trip-grid,
 body.ct-korsika-template .ct-korsika-page .ct-name-pair,
 body.ct-korsika-template .ct-korsika-page .ct-contact-pair,
 body.ct-korsika-template .ct-korsika-page [class*="ct-person-name-pair-"],
 body.ct-korsika-template .ct-korsika-page .ct-emergency-pair{grid-template-columns:1fr!important;}
}

/* Korsika native booking: Grand Tour master form + airport transfers */
body.ct-korsika-template .ct-korsika-page .booking-shell{width:min(1320px,calc(100% - 48px))!important;max-width:1320px!important;margin-left:auto!important;margin-right:auto!important}
body.ct-korsika-template .ct-korsika-page .booking-head{margin-bottom:42px!important}
body.ct-korsika-template .ct-korsika-page .booking-head h2{font-size:clamp(38px,4.2vw,66px)!important;line-height:1.03!important;letter-spacing:-.05em!important}
body.ct-korsika-template .ct-korsika-page .booking-shell{grid-template-columns:minmax(0,1fr) 360px!important;gap:18px!important}
body.ct-korsika-template .ct-korsika-page .form-preview{padding:34px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary{padding:30px!important}

/* Vier echte Buchungsschritte: Reise, Outfit, Daten, Übersicht. */
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-progress button.current b,
body.ct-korsika-template .ct-korsika-page .form-progress button.completed b{background:#ffd400!important;color:#0d0f10!important}
body.ct-korsika-template .ct-korsika-page .form-progress button.current{color:#ffd400!important}
body.ct-korsika-template .ct-korsika-page .form-progress button.completed{color:#bcc1c4!important}
body.ct-korsika-template .ct-korsika-page .form-progress button:disabled{cursor:default!important}

body.ct-korsika-template .ct-korsika-page .form-step{padding:28px 0 0!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step>p{margin:-8px 0 18px!important;color:#9da4a7!important;font-size:14px!important;line-height:1.55!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .fixed-trip b{font-size:13px!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page .fixed-trip span{font-size:12px!important;color:#9da4a7!important}
body.ct-korsika-template .ct-korsika-page .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
body.ct-korsika-template .ct-korsika-page .field-grid label,
body.ct-korsika-template .ct-korsika-page .field-label{font-size:12px!important;color:#b6bbbe!important;font-weight:700!important;line-height:1.35!important}
body.ct-korsika-template .ct-korsika-page .field-grid input,
body.ct-korsika-template .ct-korsika-page .field-grid select,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid input,
body.ct-korsika-template .ct-korsika-page .field-grid select{height:46px!important;min-height:46px!important;padding:0 40px 0 13px!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .field-grid textarea{min-height:82px!important;padding:11px 13px!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .wide{grid-column:1/-1!important}

/* Zimmerkategorie als klare Auswahlkarten wie bei Korsika. */
body.ct-korsika-template .ct-korsika-page .room-choice{margin-top:0!important}
body.ct-korsika-template .ct-korsika-page .room-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:7px!important}
body.ct-korsika-template .ct-korsika-page .room-options label{position:relative!important;display:block!important;cursor:pointer!important}
body.ct-korsika-template .ct-korsika-page .room-options input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .room-options strong{color:#fff!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .room-options small{color:#8f979a!important;font-size:11px!important}
body.ct-korsika-template .ct-korsika-page .room-options input:checked+span{border-color:#ffd400!important;box-shadow:0 0 0 1px #ffd400 inset!important}
body.ct-korsika-template .ct-korsika-page .room-options input:checked+span strong{color:#ffd400!important}

body.ct-korsika-template .ct-korsika-page .person-extra,
body.ct-korsika-template .ct-korsika-page .person-data{margin-top:18px!important;padding-top:18px!important;border-top:1px solid #34393c!important}
body.ct-korsika-template .ct-korsika-page .person-extra:first-of-type,
body.ct-korsika-template .ct-korsika-page .person-data:first-of-type{margin-top:0!important;padding-top:0!important;border-top:0!important}
body.ct-korsika-template .ct-korsika-page .person-extra h4,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .personal-contact{margin-top:18px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid label.check span{display:block!important;min-width:0!important;line-height:1.55!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-nav.single-action{grid-template-columns:1fr!important}
body.ct-korsika-template .ct-korsika-page .form-nav.single-action .next{grid-column:1/-1!important;width:100%!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-nav .back{border:1px solid #73797c!important;background:transparent!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page .form-nav .next,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-summary{background:#181c1e!important;border:1px solid #34393c!important;color:#fff!important;position:sticky!important;top:22px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary .eyebrow{color:#ffd400!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page .booking-summary h3{color:#fff!important;font-size:25px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary>p:not(.eyebrow){color:#9da3a6!important;font-size:14px!important;line-height:1.6!important}
body.ct-korsika-template .ct-korsika-page .live-summary{border-top:1px solid #34393c!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .summary-row span{color:#b7bdc0!important;font-size:12px!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page .summary-row b{color:#fff!important;font-size:12px!important;font-weight:700!important;opacity:1!important;text-align:right!important}
body.ct-korsika-template .ct-korsika-page .summary-row.total-row{padding-top:17px!important;align-items:flex-end!important}
body.ct-korsika-template .ct-korsika-page .summary-row.total-row span{color:#fff!important;font-weight:700!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .summary-row.total-row b{color:#ffd400!important;font-size:25px!important;font-weight:400!important}
body.ct-korsika-template .ct-korsika-page .contact-card{margin-top:22px!important;padding:15px!important;border-radius:7px!important;background:#101314!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page .contact-card small{display:block!important;margin-bottom:9px!important;color:#aeb4b7!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .contact-card a span:first-child{color:#8f979a!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page footer{background:#07090a!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page footer p{color:#939b9e!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page footer .footer-contact a{color:#ffd400!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page footer .footer-contact a span:first-child{color:#aeb4b7!important}
body.ct-korsika-template .ct-korsika-page footer .footer-contact a span:last-child{color:#ffd400!important}

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

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

/* Step 3: mirror Korsika personal-data proportions */
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .korsika-step-title{margin-bottom:28px!important}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .field-grid{grid-template-columns:1fr 1fr!important;gap:14px 90px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .field-grid input{min-height:48px!important;padding:0 14px!important;font-size:14px!important}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .primary-person{padding-bottom:28px!important;margin-bottom:20px!important;border-bottom:1px solid #34393c!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact>label.wide{font-weight:700!important;color:#c9cdcf!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact textarea{min-height:140px!important;margin-top:8px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-frame{width:min(900px,calc(100% - 36px))!important}
 body.ct-korsika-template .ct-korsika-page .booking-frame>.booking-shell{grid-template-columns:1fr!important}
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .field-grid{gap:14px!important}
}
@media(max-width:650px){
 body.ct-korsika-template .ct-korsika-page .booking-frame{width:calc(100% - 24px)!important}
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-showcase,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order,
 body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order[hidden],
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .additional-person[hidden]{display:none!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order label,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid label,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid input,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact{
  display:block!important;width:100%!important;margin-top:22px!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .terms-check span{display:block!important;color:#c5cacc!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
 body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-frame{
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-product-label,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-size-label{
  width:100%!important;
  min-width:0!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .primary-person,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .additional-person,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid input,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-extra-grid input{
  width:100%!important;
  max-width:none!important;
}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .remarks-wide,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="4"] .summary.review-grid,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="4"] .review-grid>div.review-wide{
  grid-column:1/-1!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="4"] .confirmation-note,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="4"] .total{display:none!important}
body.ct-korsika-template .ct-korsika-page .form-nav .back,
body.ct-korsika-template .ct-korsika-page .form-nav .submit{
  font-size:15px!important;
  font-weight:900!important;
}

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

body.ct-korsika-template .ct-korsika-page .transfer-options{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:18px!important}
body.ct-korsika-template .ct-korsika-page .transfer-options label{display:flex!important;align-items:flex-start!important;gap:12px!important;color:#c9ced0!important;font-size:13px!important;line-height:1.45!important;font-weight:600!important}
body.ct-korsika-template .ct-korsika-page .transfer-options input{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px!important;margin:1px 0 0!important;accent-color:#ffd400!important}


/* 1.0.31 – exact Grand Tour Alpen booking-form master styling */
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-preview,
body.ct-korsika-template .ct-korsika-page .booking-summary{
  box-sizing:border-box!important;
  background:#181c1e!important;
  border:1px solid #34393c!important;
  border-radius:12px!important;
}
body.ct-korsika-template .ct-korsika-page .form-preview{
  padding:clamp(25px,4vw,45px)!important;
  overflow:visible!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-progress button.active b{
  background:var(--yellow)!important;
  color:#0d0f10!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step{
  padding:26px 0 0!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid{
  gap:12px!important;
}
body.ct-korsika-template .ct-korsika-page .field-grid label{
  gap:8px!important;
  color:#c9cdcf!important;
  font-size:13px!important;
  font-weight:400!important;
}
body.ct-korsika-template .ct-korsika-page .field-grid input,
body.ct-korsika-template .ct-korsika-page .field-grid select,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid textarea{
  padding:12px 14px!important;
}
body.ct-korsika-template .ct-korsika-page .fixed-trip{
  margin-top:24px!important;
  padding:18px!important;
  background:#101314!important;
  border:1px solid #454b4e!important;
  border-radius:7px!important;
}
body.ct-korsika-template .ct-korsika-page .person-extra,
body.ct-korsika-template .ct-korsika-page .person-data{
  margin-top:22px!important;
  padding-top:20px!important;
  border-top:1px solid #34393c!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-nav .back{
  border:1px solid #73797c!important;
  background:transparent!important;
  color:#fff!important;
}
body.ct-korsika-template .ct-korsika-page .form-nav .next,
body.ct-korsika-template .ct-korsika-page .form-nav .submit{
  border:1px solid var(--yellow)!important;
  background:var(--yellow)!important;
  color:#0b0d0e!important;
}
body.ct-korsika-template .ct-korsika-page .booking-summary{
  padding:30px!important;
  position:sticky!important;
  top:22px!important;
}
@media(max-width:1050px){
 body.ct-korsika-template .ct-korsika-page .booking-shell{grid-template-columns:1fr!important}
 body.ct-korsika-template .ct-korsika-page .booking-summary{position:static!important}
}
@media(max-width:650px){
 body.ct-korsika-template .ct-korsika-page .booking{padding:56px 18px!important}
 body.ct-korsika-template .ct-korsika-page .form-preview{padding:25px 20px!important}
 body.ct-korsika-template .ct-korsika-page .form-progress{gap:4px!important}
 body.ct-korsika-template .ct-korsika-page .form-progress button small{display:none!important}
 body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[hidden],
body.ct-korsika-template .ct-korsika-page .person-extra[hidden],
body.ct-korsika-template .ct-korsika-page .person-data[hidden],
body.ct-korsika-template .ct-korsika-page .form-nav button[hidden],
body.ct-korsika-template .ct-korsika-page .success[hidden]{display:none!important}

body.ct-korsika-template .ct-korsika-page .booking-head,
body.ct-korsika-template .ct-korsika-page .booking-shell{max-width:1200px!important}
body.ct-korsika-template .ct-korsika-page .booking-head{margin-bottom:32px!important}
body.ct-korsika-template .ct-korsika-page .booking-head h2{
  max-width:none!important;
  font-size:clamp(36px,3.6vw,54px)!important;
  line-height:1.02!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-shell{
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:20px!important;
}
body.ct-korsika-template .ct-korsika-page .form-preview{padding:30px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary{padding:26px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary h3{font-size:23px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary>p:not(.eyebrow){font-size:13px!important;margin-bottom:20px!important}

body.ct-korsika-template .ct-korsika-page .form-progress{margin-bottom:20px!important;gap:6px!important}
body.ct-korsika-template .ct-korsika-page .form-progress::before{top:14px!important}
body.ct-korsika-template .ct-korsika-page .form-progress button{gap:6px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-progress button small{font-size:8px!important}

body.ct-korsika-template .ct-korsika-page .form-step{padding:18px 0 0!important}
body.ct-korsika-template .ct-korsika-page .form-step h3{
  margin:0 0 20px!important;padding-bottom:14px!important;font-size:21px!important
}
body.ct-korsika-template .ct-korsika-page .field-grid{gap:12px!important}
body.ct-korsika-template .ct-korsika-page .field-grid label{font-size:12px!important;line-height:1.35!important}
body.ct-korsika-template .ct-korsika-page .field-grid input,
body.ct-korsika-template .ct-korsika-page .field-grid select{
  min-height:44px!important;height:44px!important;padding:0 12px!important;font-size:13px!important
}
body.ct-korsika-template .ct-korsika-page .field-grid textarea{
  min-height:88px!important;padding:10px 12px!important;font-size:13px!important
}
body.ct-korsika-template .ct-korsika-page .fixed-trip{
  margin:0 0 18px!important;padding:14px 16px!important
}
body.ct-korsika-template .ct-korsika-page .fixed-trip b{color:#fff!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .fixed-trip span{color:#9da4a7!important;font-size:12px!important}
body.ct-korsika-template .ct-korsika-page .person-extra,
body.ct-korsika-template .ct-korsika-page .person-data{margin-top:16px!important;padding-top:16px!important}
body.ct-korsika-template .ct-korsika-page .person-extra h4,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid label.check a{color:var(--yellow)!important;text-decoration:underline!important}

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

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

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

/* 0.1.14 – Booking Step 1 robust sichtbar, FAQ und Footer wie Mallorca/Korsika */
body.ct-korsika-template .ct-korsika-page .booking-head > div > p:last-child:not(.eyebrow){display:none!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="1"] .field-grid select{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:44px!important;
}
body.ct-korsika-template .ct-korsika-page .faq{
  max-width:1000px!important;
  margin:0 auto!important;
}
body.ct-korsika-template .ct-korsika-page .faq .section-heading{margin-bottom:34px!important}
body.ct-korsika-template .ct-korsika-page .faq-list{display:flex!important;flex-direction:column!important}
body.ct-korsika-template .ct-korsika-page .faq details{border-top:1px solid #cfd2d0!important;padding:0!important}
body.ct-korsika-template .ct-korsika-page .faq details:last-child{border-bottom:1px solid #cfd2d0!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .faq summary::-webkit-details-marker{display:none!important}
body.ct-korsika-template .ct-korsika-page .faq summary span{font-size:28px!important;font-weight:400!important;transition:transform .2s ease}
body.ct-korsika-template .ct-korsika-page .faq details[open] summary span{transform:rotate(45deg)}
body.ct-korsika-template .ct-korsika-page .faq details p{margin:-5px 0 26px!important;max-width:820px!important;color:#6e7472!important;line-height:1.65!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page footer .footer-brand{min-width:auto!important;text-decoration:none!important}
body.ct-korsika-template .ct-korsika-page footer p{margin:0!important;color:#92999c!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .footer-contact{margin-left:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:7px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .footer-contact a span:last-child{text-align:right!important}
@media(max-width:720px){
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="1"] .field-grid{grid-template-columns:1fr!important}
 body.ct-korsika-template .ct-korsika-page footer{flex-direction:column!important;align-items:flex-start!important;gap:18px!important}
 body.ct-korsika-template .ct-korsika-page .footer-contact{margin-left:0!important;align-items:flex-start!important;width:100%!important}
 body.ct-korsika-template .ct-korsika-page .footer-contact a{width:100%!important;gap:8px!important}
}

/* 0.1.15 – Korsika-Buchungslogik, Gelbton, Guide/Footerkorrekturen */
body.ct-korsika-template .ct-korsika-page{--yellow:#ffd400!important;--yellow-deep:#f4c400!important}
body.ct-korsika-template .ct-korsika-page .header-cta,
body.ct-korsika-template .ct-korsika-page .button-primary,
body.ct-korsika-template .ct-korsika-page .form-nav .next,
body.ct-korsika-template .ct-korsika-page .form-nav .submit{background:#ffd400!important;color:#0b0d0e!important;border-color:#ffd400!important}
body.ct-korsika-template .ct-korsika-page .trust-line>span{color:#ffd400!important;font-weight:900!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .guide-grid article:nth-child(2) .guide-photo{background:#101416!important;overflow:hidden!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-head,
body.ct-korsika-template .ct-korsika-page .booking-shell{width:min(1320px,calc(100% - 48px))!important;max-width:1320px!important;margin-left:auto!important;margin-right:auto!important}
body.ct-korsika-template .ct-korsika-page .booking-head{margin-bottom:42px!important}
body.ct-korsika-template .ct-korsika-page .booking-head h2{font-size:clamp(38px,4.2vw,66px)!important;line-height:1.03!important;letter-spacing:-.05em!important}
body.ct-korsika-template .ct-korsika-page .booking-shell{grid-template-columns:minmax(0,1fr) 360px!important;gap:18px!important}
body.ct-korsika-template .ct-korsika-page .form-preview{padding:34px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary{padding:30px!important}

/* Vier echte Buchungsschritte: Reise, Outfit, Daten, Übersicht. */
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-progress button.current b,
body.ct-korsika-template .ct-korsika-page .form-progress button.completed b{background:#ffd400!important;color:#0d0f10!important}
body.ct-korsika-template .ct-korsika-page .form-progress button.current{color:#ffd400!important}
body.ct-korsika-template .ct-korsika-page .form-progress button.completed{color:#bcc1c4!important}
body.ct-korsika-template .ct-korsika-page .form-progress button:disabled{cursor:default!important}

body.ct-korsika-template .ct-korsika-page .form-step{padding:28px 0 0!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step>p{margin:-8px 0 18px!important;color:#9da4a7!important;font-size:14px!important;line-height:1.55!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .fixed-trip b{font-size:13px!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page .fixed-trip span{font-size:12px!important;color:#9da4a7!important}
body.ct-korsika-template .ct-korsika-page .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
body.ct-korsika-template .ct-korsika-page .field-grid label,
body.ct-korsika-template .ct-korsika-page .field-label{font-size:12px!important;color:#b6bbbe!important;font-weight:700!important;line-height:1.35!important}
body.ct-korsika-template .ct-korsika-page .field-grid input,
body.ct-korsika-template .ct-korsika-page .field-grid select,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid input,
body.ct-korsika-template .ct-korsika-page .field-grid select{height:46px!important;min-height:46px!important;padding:0 40px 0 13px!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .field-grid textarea{min-height:82px!important;padding:11px 13px!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .wide{grid-column:1/-1!important}

/* Zimmerkategorie als klare Auswahlkarten wie bei Korsika. */
body.ct-korsika-template .ct-korsika-page .room-choice{margin-top:0!important}
body.ct-korsika-template .ct-korsika-page .room-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:7px!important}
body.ct-korsika-template .ct-korsika-page .room-options label{position:relative!important;display:block!important;cursor:pointer!important}
body.ct-korsika-template .ct-korsika-page .room-options input{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .room-options strong{color:#fff!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .room-options small{color:#8f979a!important;font-size:11px!important}
body.ct-korsika-template .ct-korsika-page .room-options input:checked+span{border-color:#ffd400!important;box-shadow:0 0 0 1px #ffd400 inset!important}
body.ct-korsika-template .ct-korsika-page .room-options input:checked+span strong{color:#ffd400!important}

body.ct-korsika-template .ct-korsika-page .person-extra,
body.ct-korsika-template .ct-korsika-page .person-data{margin-top:18px!important;padding-top:18px!important;border-top:1px solid #34393c!important}
body.ct-korsika-template .ct-korsika-page .person-extra:first-of-type,
body.ct-korsika-template .ct-korsika-page .person-data:first-of-type{margin-top:0!important;padding-top:0!important;border-top:0!important}
body.ct-korsika-template .ct-korsika-page .person-extra h4,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .personal-contact{margin-top:18px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .field-grid label.check span{display:block!important;min-width:0!important;line-height:1.55!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-nav.single-action{grid-template-columns:1fr!important}
body.ct-korsika-template .ct-korsika-page .form-nav.single-action .next{grid-column:1/-1!important;width:100%!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-nav .back{border:1px solid #73797c!important;background:transparent!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page .form-nav .next,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-summary{background:#181c1e!important;border:1px solid #34393c!important;color:#fff!important;position:sticky!important;top:22px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary .eyebrow{color:#ffd400!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page .booking-summary h3{color:#fff!important;font-size:25px!important}
body.ct-korsika-template .ct-korsika-page .booking-summary>p:not(.eyebrow){color:#9da3a6!important;font-size:14px!important;line-height:1.6!important}
body.ct-korsika-template .ct-korsika-page .live-summary{border-top:1px solid #34393c!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .summary-row span{color:#b7bdc0!important;font-size:12px!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page .summary-row b{color:#fff!important;font-size:12px!important;font-weight:700!important;opacity:1!important;text-align:right!important}
body.ct-korsika-template .ct-korsika-page .summary-row.total-row{padding-top:17px!important;align-items:flex-end!important}
body.ct-korsika-template .ct-korsika-page .summary-row.total-row span{color:#fff!important;font-weight:700!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .summary-row.total-row b{color:#ffd400!important;font-size:25px!important;font-weight:400!important}
body.ct-korsika-template .ct-korsika-page .contact-card{margin-top:22px!important;padding:15px!important;border-radius:7px!important;background:#101314!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page .contact-card small{display:block!important;margin-bottom:9px!important;color:#aeb4b7!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .contact-card a span:first-child{color:#8f979a!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page footer{background:#07090a!important;color:#fff!important}
body.ct-korsika-template .ct-korsika-page footer p{color:#939b9e!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page footer .footer-contact a{color:#ffd400!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-page footer .footer-contact a span:first-child{color:#aeb4b7!important}
body.ct-korsika-template .ct-korsika-page footer .footer-contact a span:last-child{color:#ffd400!important}

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

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

/* Step 3: mirror Korsika personal-data proportions */
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .korsika-step-title{margin-bottom:28px!important}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .field-grid{grid-template-columns:1fr 1fr!important;gap:14px 90px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .field-grid input{min-height:48px!important;padding:0 14px!important;font-size:14px!important}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .primary-person{padding-bottom:28px!important;margin-bottom:20px!important;border-bottom:1px solid #34393c!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact>label.wide{font-weight:700!important;color:#c9cdcf!important;font-size:13px!important}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact textarea{min-height:140px!important;margin-top:8px!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-frame{width:min(900px,calc(100% - 36px))!important}
 body.ct-korsika-template .ct-korsika-page .booking-frame>.booking-shell{grid-template-columns:1fr!important}
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .field-grid{gap:14px!important}
}
@media(max-width:650px){
 body.ct-korsika-template .ct-korsika-page .booking-frame{width:calc(100% - 24px)!important}
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-showcase,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order,
 body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order[hidden],
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .additional-person[hidden]{display:none!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order label,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid label,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid input,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact{
  display:block!important;width:100%!important;margin-top:22px!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .terms-check span{display:block!important;color:#c5cacc!important;opacity:1!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
 body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .booking-frame{
  width:min(1320px,calc(100% - 48px))!important;
  max-width:1320px!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-product-label,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-size-label{
  width:100%!important;
  min-width:0!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"] .primary-person,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .additional-person,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-contact{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid input,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-extra-grid input{
  width:100%!important;
  max-width:none!important;
}
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .remarks-wide,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="4"] .summary.review-grid,
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="4"] .review-grid>div.review-wide{
  grid-column:1/-1!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="4"] .confirmation-note,
body.ct-korsika-template .ct-korsika-page .form-step[data-step="4"] .total{display:none!important}
body.ct-korsika-template .ct-korsika-page .form-nav .back,
body.ct-korsika-template .ct-korsika-page .form-nav .submit{
  font-size:15px!important;
  font-weight:900!important;
}

@media(max-width:900px){
 body.ct-korsika-template .ct-korsika-page .booking-frame{width:min(900px,calc(100% - 36px))!important}
 body.ct-korsika-template .ct-korsika-page .booking-frame>.booking-shell{grid-template-columns:1fr!important}
}
@media(max-width:650px){
 body.ct-korsika-template .ct-korsika-page .booking-frame{width:calc(100% - 24px)!important}
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="2"] .outfit-order,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-main-grid,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .personal-extra-grid,
 body.ct-korsika-template .ct-korsika-page .form-step[data-step="4"] .review-grid{grid-template-columns:1fr!important}
 body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .stage-card-1 .stage-image{
  overflow:hidden!important;
  background:#eef0ed!important;
}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .form-step[data-step="3"]~.form-error + .form-nav .next,
body.ct-korsika-template .ct-korsika-page .form-nav .back,
body.ct-korsika-template .ct-korsika-page .form-nav .next,
body.ct-korsika-template .ct-korsika-page .form-nav .submit{
  font-size:15px!important;
  font-weight:900!important;
}

/* Confirmation after successful submission – aligned with Korsika. */
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-page .success.ct-booking-confirmation[hidden]{display:none!important}
body.ct-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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-korsika-template .ct-korsika-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;
}


body.ct-korsika-template .ct-korsika-page .transfer-options{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:18px 0 0!important;padding-top:2px!important}
body.ct-korsika-template .ct-korsika-page .transfer-options label{display:flex!important;align-items:flex-start!important;gap:12px!important;color:#c4c9cb!important;font-size:13px!important;line-height:1.45!important;font-weight:500!important;cursor:pointer!important}
body.ct-korsika-template .ct-korsika-page .transfer-options input{width:18px!important;height:18px!important;min-width:18px!important;margin:1px 0 0!important;accent-color:#ffd400!important}


/* 1.0.32 – focused corrections after booking-form standardisation.
   Keep all non-booking page visuals independent from the booking form. */

/* The anti-spam honeypot must never take up visible space. */
body.ct-korsika-template .ct-korsika-page #ct-korsika-native-form > input.trap{
  display:none!important;
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}

/* Airport transfer copy: explicit contrast so Safari/iPad cannot inherit dark text. */
body.ct-korsika-template .ct-korsika-page .transfer-options{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  margin:18px 0 0!important;
}
body.ct-korsika-template .ct-korsika-page .transfer-options label{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  color:#c9ced0!important;
  opacity:1!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:500!important;
}
body.ct-korsika-template .ct-korsika-page .transfer-options label span{
  display:block!important;
  color:#c9ced0!important;
  opacity:1!important;
  visibility:visible!important;
}
body.ct-korsika-template .ct-korsika-page .transfer-options input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px!important;
  margin:1px 0 0!important;
  accent-color:#ffd400!important;
}

/* Give the remarks field the same breathing room as the Grand Tour master. */
body.ct-korsika-template .ct-korsika-page .form-step[data-step="3"] .remarks-wide{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin-top:26px!important;
}

/* Restore the pre-booking-change crop of “Gemeinsam unterwegs”. */
body.ct-korsika-template .ct-korsika-page .highlight-card:nth-child(4) .highlight-image img{
  object-fit:cover!important;
  object-position:center 18%!important;
  transform:none!important;
}

/* Guide presentation on tablet portrait: use the compact Ladies-Camp rhythm,
   with the photo above the copy instead of a tall two-column card. */
@media (max-width:1100px){
  body.ct-korsika-template .ct-korsika-page .pricing{
    grid-template-columns:1fr!important;
  }
  body.ct-korsika-template .ct-korsika-page .guide-compact{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.ct-korsika-template .ct-korsika-page .guide-compact-image{
    width:100%!important;
    height:400px!important;
    min-height:400px!important;
    background:#101416!important;
  }
  body.ct-korsika-template .ct-korsika-page .guide-compact-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 34%!important;
    transform:none!important;
  }
  body.ct-korsika-template .ct-korsika-page .guide-compact-content{
    padding:22px!important;
  }
  body.ct-korsika-template .ct-korsika-page .guide-compact-signoff{
    margin:0!important;
    padding-top:18px!important;
  }
}
@media (max-width:780px){
  body.ct-korsika-template .ct-korsika-page .guide-compact-image{
    height:340px!important;
    min-height:340px!important;
  }
}


/* ============================================================
   1.0.33 – zentrale Website-Hülle
   ============================================================
   Der globale Header/Footer kommt aus "Champions Training – Website Design".
   Die bestehende Reisenavigation bleibt als eigenständige Sprungnavigation.
   Buchung, Reiseinhalte und Formulare bleiben unverändert.
   ============================================================ */

body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav{
  min-height:58px !important;
  height:auto !important;
  padding:8px clamp(24px,5vw,78px) !important;
  justify-content:center !important;
  gap:28px !important;
  background:#0b0d0e !important;
  border-top:1px solid rgba(255,255,255,.05) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav nav{
  margin-left:0 !important;
  flex:1 1 auto !important;
  justify-content:center !important;
}

body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav .header-cta{
  margin-left:0 !important;
  flex:0 0 auto !important;
}

/* Nur der lokale Fallback-Footer erhält die alten Reise-Styles.
   Der zentrale CTWD-Footer bleibt vollständig unter Kontrolle des
   Website-Design-Plugins. */
body.ct-korsika-template .ct-korsika-fallback-footer{
  background:#080a0b;
  color:#fff;
  padding:42px clamp(24px,6vw,90px);
  display:flex;
  align-items:center;
  gap:42px;
}

@media(max-width:900px){
  body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav{
    padding:8px 18px !important;
  }
  body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav nav{
    display:flex !important;
    overflow-x:auto !important;
    justify-content:flex-start !important;
    gap:22px !important;
    scrollbar-width:none;
  }
  body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav nav::-webkit-scrollbar{
    display:none;
  }
}

@media(max-width:700px){
  body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav{
    gap:12px !important;
  }
  body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav nav a{
    white-space:nowrap !important;
  }
  body.ct-korsika-template .ct-korsika-page .site-header.trip-subnav .header-cta{
    white-space:nowrap !important;
  }
}


/* 1.0.34 – Schutz der zentralen Website-Hülle
   Keine generischen Footer-Regeln dieser Reise dürfen den globalen CTWD-Footer
   beeinflussen. Der zentrale Footer bleibt vollständig im Website-Design-Plugin. */
body.ct-korsika-template > .ctwd-footer{
  display:block !important;
}


/* 1.0.35 – die frühere lokale schwarze Reisenavigation ist entfernt.
   Der Reise-Header kommt nun als EINZEILIGER zentraler Header aus CTWD 0.3.3+. */
body.ct-korsika-template .ct-korsika-page > .site-header.trip-subnav{
  display:none!important;
}
