/* Flusskreuzfahrt-Experten.de – Premium UI foundation
   Goal: less card-soup, more editorial space, hierarchy and calm surfaces. */
:root{
  --premium-line:rgba(6,39,70,.13);
  --premium-line-soft:rgba(6,39,70,.085);
  --premium-cream:#fbf7ef;
  --premium-ice:#f5f8fa;
  --premium-shadow:0 14px 38px rgba(6,39,70,.075);
  --premium-shadow-soft:0 8px 24px rgba(6,39,70,.045);
  --shadow:0 14px 38px rgba(6,39,70,.075);
  --radius:16px;
}

/* Global tone: fewer shadows and tighter radius language. */
body{background:#fff}
.section{padding-top:82px;padding-bottom:82px}
.section-light{background:linear-gradient(180deg,#fbfaf7 0%,#fff 100%)}
.section h2{letter-spacing:-.025em}
.section-heading{max-width:900px}

/* The booking area is a stage, not a card inside another card. */
.booking-shell{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.booking-head{
  padding:0 0 25px;
  margin-bottom:0;
  background:transparent;
  border-bottom:1px solid var(--premium-line);
  align-items:end;
}
.booking-head h2{font-size:clamp(2rem,3.2vw,2.65rem);letter-spacing:-.025em}
.booking-note{
  max-width:390px;
  padding:2px 0 2px 20px;
  border-left:2px solid var(--gold);
  color:#445468;
  background:transparent;
}
.ibe-frame{
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.benefit-line{
  gap:0;
  margin-top:26px;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  border-top:1px solid var(--premium-line-soft);
  border-bottom:1px solid var(--premium-line-soft);
}
.benefit-line div{
  background:transparent;
  padding:20px 22px;
  border-left:1px solid var(--premium-line-soft);
}
.benefit-line div:first-child{border-left:0}

/* Editorial side rail instead of a floating card. */
.side-card,
.cabin-side-card,
.journey-side-card,
.solo-side-card,
.dog-side-card,
.inclusive-side-card{
  background:transparent!important;
  border:0!important;
  border-left:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:4px 0 4px 26px!important;
}
.side-card .btn,
.cabin-side-card .btn,
.journey-side-card .btn,
.solo-side-card .btn,
.dog-side-card .btn,
.inclusive-side-card .btn{width:auto;max-width:100%}

/* Generic information links: editorial rows, not tiles. */
.list-links{gap:0;border-top:1px solid var(--premium-line)}
.list-link{
  padding:18px 18px 18px 0;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--premium-line);
  border-radius:0;
  box-shadow:none;
}
.list-link:hover{transform:none;box-shadow:none;border-color:var(--premium-line);color:#0a456f}

.topic-grid,.quality-list,.reassurance{gap:0}
.topic-card,.quality-list div,.reassurance div{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:20px 24px 20px 0!important;
}
.topic-card:nth-child(3n+2),.topic-card:nth-child(3n+3),
.reassurance div:nth-child(3n+2),.reassurance div:nth-child(3n+3){padding-left:24px!important;border-left:1px solid var(--premium-line-soft)!important}
.quality-list div:nth-child(even){padding-left:24px!important;border-left:1px solid var(--premium-line-soft)!important}
.quality-list-warm div{background:transparent!important;border-color:var(--premium-line-soft)!important}

.highlight-box{
  background:linear-gradient(90deg,#fff8e8 0%,rgba(255,248,232,0) 96%)!important;
  border:0!important;
  border-left:3px solid var(--gold)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:18px 22px!important;
}

/* Cabin guides: keep actual selectable cards, flatten explanatory boxes. */
.cabin-facts{gap:0;border-top:1px solid var(--premium-line);border-bottom:1px solid var(--premium-line)}
.cabin-facts div{
  background:transparent;
  border:0;
  border-left:1px solid var(--premium-line-soft);
  border-radius:0;
  box-shadow:none;
  padding:18px 20px;
}
.cabin-facts div:first-child{border-left:0}
.cabin-card{
  border:1px solid var(--premium-line);
  border-radius:14px;
  box-shadow:none;
  background:#fff;
}
.cabin-card:hover{box-shadow:var(--premium-shadow-soft);transform:translateY(-2px)}
.cabin-type-grid article,.cabin-focus-grid article,.cabin-example-grid article{
  background:transparent;
  border:0;
  border-top:1px solid var(--premium-line);
  border-radius:0;
  box-shadow:none;
  padding:24px 24px 24px 0;
}
.cabin-checklist,.cabin-decision-list{gap:0;border-top:1px solid var(--premium-line-soft)}
.cabin-checklist>div,.cabin-decision-list>div{
  background:transparent;
  border:0;
  border-bottom:1px solid var(--premium-line-soft);
  border-radius:0;
  padding:17px 0;
}
.cabin-related-grid{gap:0;border-top:1px solid var(--premium-line-soft)}
.cabin-related-grid a{
  background:transparent;
  border:0;
  border-bottom:1px solid var(--premium-line-soft);
  border-radius:0;
  box-shadow:none;
  padding:18px 22px 18px 0;
}

/* Inclusion/tariff guides: same editorial language. */
.inclusive-facts{gap:0;border-top:1px solid var(--premium-line);border-bottom:1px solid var(--premium-line)}
.inclusive-facts div{background:transparent!important;border:0!important;border-left:1px solid var(--premium-line-soft)!important;border-radius:0!important;box-shadow:none!important}
.inclusive-facts div:first-child{border-left:0!important}
.inclusive-card{border:1px solid var(--premium-line);border-radius:14px;box-shadow:none;background:#fff}
.inclusive-card:hover{box-shadow:var(--premium-shadow-soft);transform:translateY(-2px)}
.inclusive-model-grid article,.inclusive-focus-grid article{
  background:transparent;border:0;border-top:1px solid var(--premium-line);border-radius:0;box-shadow:none;padding:24px 24px 24px 0
}
.inclusive-checklist{gap:0;border-top:1px solid var(--premium-line-soft)}
.inclusive-checklist>div{background:transparent;border:0;border-bottom:1px solid var(--premium-line-soft);border-radius:0;padding:17px 0}
.inclusive-related-grid{gap:0;border-top:1px solid var(--premium-line-soft)}
.inclusive-related-grid a{background:transparent;border:0;border-bottom:1px solid var(--premium-line-soft);border-radius:0;box-shadow:none;padding:18px 22px 18px 0}

/* Journey guides: selectable destinations may still look clickable; explanations stay open. */
.journey-card{border:1px solid var(--premium-line);border-radius:14px;box-shadow:none;background:#fff}
.journey-card:hover{box-shadow:var(--premium-shadow-soft);transform:translateY(-2px)}
.journey-choice-grid{gap:0;border-top:1px solid var(--premium-line-soft)}
.journey-choice-grid article{background:transparent;border:0;border-bottom:1px solid var(--premium-line-soft);border-radius:0;padding:21px 22px 21px 0}
.journey-facts{gap:0;border-top:1px solid var(--premium-line);border-bottom:1px solid var(--premium-line)}
.journey-facts div{background:transparent!important;border:0!important;border-left:1px solid var(--premium-line-soft)!important;border-radius:0!important;box-shadow:none!important}
.journey-facts div:first-child{border-left:0!important}

/* Ports are true choices: keep a restrained clickable surface, remove catalogue-card gloss. */
.departure-port-card{
  border:1px solid var(--premium-line);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.departure-port-card:hover{box-shadow:var(--premium-shadow-soft);transform:translateY(-2px)}
.departure-photo-card{border-radius:14px;border:0;box-shadow:none}

/* Proof/info blocks are editorial columns. */
.proof-grid{gap:0;border-top:1px solid var(--premium-line-soft)}
.proof-card{
  background:transparent;
  border:0;
  border-bottom:1px solid var(--premium-line-soft);
  border-radius:0;
  box-shadow:none;
  padding:24px 24px 24px 0;
}

/* One call-to-action panel is allowed to be a surface; a panel inside another panel is not. */
.service-box,.service-card{
  border-radius:14px;
  box-shadow:var(--premium-shadow-soft);
}

/* Cards inside cards lose their own chrome. */
:is(.booking-shell,.side-card,.service-box,.service-card,.soft-card) :is(.topic-card,.list-link,.quality-list>div,.reassurance>div,.stat){box-shadow:none!important}

@media(max-width:980px){
  .section{padding-top:66px;padding-bottom:66px}
  .side-card,.cabin-side-card,.journey-side-card,.solo-side-card,.dog-side-card,.inclusive-side-card{
    border-left:0!important;border-top:1px solid var(--premium-line)!important;padding:22px 0 0!important;margin-top:24px
  }
  .topic-card:nth-child(n),.reassurance div:nth-child(n),.quality-list div:nth-child(n){padding-left:0!important;border-left:0!important}
  .benefit-line div:nth-child(n),.cabin-facts div:nth-child(n),.inclusive-facts div:nth-child(n),.journey-facts div:nth-child(n){border-left:0!important;border-top:1px solid var(--premium-line-soft)}
  .benefit-line div:first-child,.cabin-facts div:first-child,.inclusive-facts div:first-child,.journey-facts div:first-child{border-top:0!important}
}

@media(max-width:640px){
  .section{padding-top:54px;padding-bottom:54px}
  .booking-head{padding:0 0 20px}
  .booking-note{margin-top:16px;padding-left:14px}
  .topic-card,.quality-list div,.reassurance div,.proof-card,.cabin-type-grid article,.cabin-focus-grid article,.cabin-example-grid article,.inclusive-model-grid article,.inclusive-focus-grid article,.journey-choice-grid article{padding-right:0!important}
  .cabin-card,.inclusive-card,.journey-card,.departure-port-card{border-radius:12px}
}

/* FAQs and source notes are content rows, not floating cards. */
.faq-layout .faq{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.source-note{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--premium-line)!important;
  border-bottom:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.source-note summary{padding:16px 0!important}
.source-note-body{padding:16px 0 18px!important}

/* Route/place explanations: open columns rather than nested tiles. */
.route-place-grid{gap:0;border-top:1px solid var(--premium-line-soft)}
.route-place-grid article{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  padding:20px 22px 20px 0!important;
}
.route-place-grid article:nth-child(even){padding-left:22px!important;border-left:1px solid var(--premium-line-soft)!important}

/* Pills stay compact but lose floating shadows. */
.mini-links a{box-shadow:none!important;background:transparent}
.mini-links a:hover{box-shadow:none!important}

@media(max-width:640px){
  .route-place-grid article:nth-child(n){padding-left:0!important;padding-right:0!important;border-left:0!important}
}

/* ==========================================================
   Premium foundation v2 — anti box-in-box / editorial layout
   Informational hierarchy uses space, type and rules.
   A contained surface is reserved for a real choice or action.
   ========================================================== */

/* The embedded booking area is visually part of the page, not a card stack. */
#flusskreuzfahrt-suchen .booking-shell{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#flusskreuzfahrt-suchen .booking-head{
  width:100%!important;
  margin:0!important;
  padding:0 0 26px!important;
  gap:30px!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#flusskreuzfahrt-suchen .booking-note{
  margin:0!important;
  max-width:390px!important;
  padding:2px 0 2px 20px!important;
  background:transparent!important;
  border:0!important;
  border-left:2px solid var(--gold)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#445468!important;
}
#flusskreuzfahrt-suchen .ibe-frame{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
#flusskreuzfahrt-suchen .booking-steps{
  gap:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--premium-line-soft)!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#flusskreuzfahrt-suchen .booking-steps li{
  position:relative;
  background:transparent!important;
  border:0!important;
  border-left:1px solid var(--premium-line-soft)!important;
  padding:13px 16px!important;
}
#flusskreuzfahrt-suchen .booking-steps li:first-child{border-left:0!important}
#flusskreuzfahrt-suchen .booking-steps span{box-shadow:none!important}
#flusskreuzfahrt-suchen .booking-context-links{padding-left:0!important;padding-right:0!important}
#flusskreuzfahrt-suchen .booking-context-links a{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:7px 0!important;
  margin-right:18px!important;
  border-bottom:1px solid transparent!important;
}
#flusskreuzfahrt-suchen .booking-context-links a:hover{border-bottom-color:var(--gold)!important}

/* Intro / explanation modules are editorial sections rather than framed containers. */
.search-guidance-panel,
.aftercare-grid,
.intent-summary,
.sales-intent-copy{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.search-guidance-panel:before{display:none!important}
.search-steps,
.aftercare-cards{
  gap:0!important;
  border-top:1px solid var(--premium-line)!important;
}
.search-steps div,
.aftercare-cards div{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:20px 24px 20px 0!important;
}
.search-steps div + div,
.aftercare-cards div + div{padding-left:24px!important;border-left:1px solid var(--premium-line-soft)!important}

/* Fact rows: one horizontal information band, no mini-card collection. */
.intent-facts,.sales-trust,
.dog-facts,.solo-facts,.family-fact-grid,.ship-fact-grid{
  gap:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--premium-line)!important;
  border-bottom:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.intent-facts div,.sales-trust div,
.dog-facts div,.solo-facts div,.family-fact-grid>div,.ship-fact-grid>div{
  background:transparent!important;
  border:0!important;
  border-left:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:19px 22px!important;
}
.intent-facts div:first-child,.sales-trust div:first-child,
.dog-facts div:first-child,.solo-facts div:first-child,.family-fact-grid>div:first-child,.ship-fact-grid>div:first-child{border-left:0!important}

/* Explanation grids — use columns and separators instead of panels. */
.family-length-grid,.family-published-grid,.family-decision-grid,.family-terms-grid,
.journey-focus-grid,.journey-published-grid,.journey-feeling-grid{
  gap:0!important;
  border-top:1px solid var(--premium-line-soft)!important;
}
.family-length-grid article,.family-published-grid article,.family-decision-grid article,.family-terms-grid article,
.journey-focus-grid article,.journey-published-grid article,.journey-feeling-grid article{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:22px 24px 22px 0!important;
}

/* Information sidebars become rails; selectable objects stay restrained cards. */
.ship-overview-card,.family-overview-card,
.dog-finder-path,.solo-finder-path{
  background:transparent!important;
  border:0!important;
  border-left:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:4px 0 4px 26px!important;
}

/* Timelines / comparisons should read like content, not stacked capsules. */
.dog-route-flow,.journey-stop-flow{
  gap:0!important;
  border-top:1px solid var(--premium-line-soft)!important;
}
.dog-route-flow li,.journey-stop-flow li{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:17px 0!important;
}
.dog-comparison,.solo-comparison{
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--premium-line)!important;
  border-bottom:1px solid var(--premium-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.dog-comparison-row,.solo-comparison-row{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Related knowledge links should feel like an index, not a shelf of cards. */
.family-related-grid,.ship-related-grid,.solo-related-grid{
  gap:0!important;
  border-top:1px solid var(--premium-line-soft)!important;
}
.family-related-grid a,.ship-related-grid a,.solo-related-grid a{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--premium-line-soft)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:18px 22px 18px 0!important;
}

/* Selection cards remain surfaces, but with a quieter premium treatment. */
.quick-booking-grid a,.intent-link-grid a,
.dog-trip-card,.solo-trip-card,.ship-card-grid article,
.current-offer-card,.travel-river-card,.travel-operator-card,.travel-search-grid>a{
  border:1px solid var(--premium-line)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.quick-booking-grid a:hover,.intent-link-grid a:hover,
.dog-trip-card:hover,.solo-trip-card:hover,.ship-card-grid article:hover,
.current-offer-card:hover,.travel-river-card:hover,.travel-operator-card:hover,.travel-search-grid>a:hover{
  border-color:rgba(216,178,106,.75)!important;
  box-shadow:var(--premium-shadow-soft)!important;
  transform:translateY(-2px)!important;
}

/* A single service/CTA surface may stand out; explanatory neighbor stays open. */
.service-text-panel{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding-left:0!important;
}
.service-contact-card{border-radius:14px!important;box-shadow:var(--premium-shadow-soft)!important}
.final-booking-card{border-radius:14px!important;box-shadow:var(--premium-shadow-soft)!important}

/* Existing page chrome: reduce catalogue gloss without erasing hierarchy. */
.route-advice,.rhein-direct-card{
  box-shadow:none!important;
  border-radius:0!important;
  border:0!important;
  border-left:2px solid var(--gold)!important;
  background:transparent!important;
}

@media(max-width:980px){
  #flusskreuzfahrt-suchen .booking-head{grid-template-columns:1fr!important;padding:0 0 22px!important}
  #flusskreuzfahrt-suchen .booking-note{max-width:none!important;margin-top:6px!important}
  .search-steps div + div,.aftercare-cards div + div{padding-left:0!important;border-left:0!important}
  .intent-facts div:nth-child(n),.sales-trust div:nth-child(n),.dog-facts div:nth-child(n),.solo-facts div:nth-child(n),.family-fact-grid>div:nth-child(n),.ship-fact-grid>div:nth-child(n){border-left:0!important;border-top:1px solid var(--premium-line-soft)!important}
  .intent-facts div:first-child,.sales-trust div:first-child,.dog-facts div:first-child,.solo-facts div:first-child,.family-fact-grid>div:first-child,.ship-fact-grid>div:first-child{border-top:0!important}
  .ship-overview-card,.family-overview-card,.dog-finder-path,.solo-finder-path{border-left:0!important;border-top:1px solid var(--premium-line)!important;padding:22px 0 0!important}
}

@media(max-width:760px){
  #flusskreuzfahrt-suchen .booking-shell{width:100%!important;max-width:100%!important;box-shadow:none!important}
  #flusskreuzfahrt-suchen .booking-head{width:calc(100% - 28px)!important;margin:0 auto!important;padding:0 0 18px!important;border-radius:0!important}
  #flusskreuzfahrt-suchen .booking-note{margin-top:4px!important;padding:2px 0 2px 14px!important;border-radius:0!important;box-shadow:none!important;font-size:.88rem!important}
  #flusskreuzfahrt-suchen .booking-steps{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:calc(100% - 28px)!important;margin:0 auto!important}
  #flusskreuzfahrt-suchen .booking-steps li{justify-content:center!important;padding:9px 4px!important;border-top:0!important;border-left:1px solid var(--premium-line-soft)!important;text-align:center!important}
  #flusskreuzfahrt-suchen .booking-steps li:first-child{border-left:0!important}
  .search-guidance-panel,.aftercare-grid,.intent-summary,.sales-intent-copy{padding:0!important;border-radius:0!important}
  .search-steps div,.aftercare-cards div{padding:17px 0!important}
}

@media(max-width:640px){
  #flusskreuzfahrt-suchen .booking-head{width:calc(100% - 24px)!important}
  #flusskreuzfahrt-suchen .booking-steps{width:calc(100% - 24px)!important}
  .family-length-grid article,.family-published-grid article,.family-decision-grid article,.family-terms-grid article,.journey-focus-grid article,.journey-published-grid article,.journey-feeling-grid article{padding-right:0!important}
}
