.cfm360{--m360-blue:#087fa8;--m360-cyan:#10abc5;--m360-navy:#0c3570;--m360-text:#496b7a;--m360-soft:#f3fafc;font-family:inherit;color:var(--m360-text)}
.cfm360 *{box-sizing:border-box}.cfm360-shell{max-width:1180px;margin:0 auto;padding:24px 16px 44px}.cfm360-head{padding:28px 24px;text-align:center;background:#fff;border:1px solid rgba(8,127,168,.12);border-radius:26px;box-shadow:0 12px 34px rgba(11,64,88,.08)}
.cfm360-kicker,.cfm360-step-kicker{display:block;color:var(--m360-blue);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cfm360-head h1{margin:7px 0 8px;color:var(--m360-navy);font-size:clamp(30px,5vw,52px);line-height:1.04}.cfm360-head p{margin:0;color:#355d70;font-size:18px}.cfm360-head small{display:block;max-width:780px;margin:12px auto 0;color:#758b96;line-height:1.45}
.cfm360-wizard,.cfm360-dashboard{margin-top:18px}.cfm360-progress{height:7px;border-radius:999px;background:#e9f4f7;overflow:hidden}.cfm360-progress span{display:block;height:100%;width:25%;border-radius:999px;background:linear-gradient(90deg,var(--m360-blue),var(--m360-cyan));transition:width .2s ease}
.cfm360-step{display:none;margin-top:14px;padding:24px;background:#fff;border:1px solid rgba(8,127,168,.11);border-radius:24px;box-shadow:0 8px 24px rgba(11,64,88,.06)}.cfm360-step.is-active{display:block}.cfm360-step h2{margin:5px 0 20px;color:var(--m360-navy);font-size:28px}.cfm360-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cfm360-date-grid label,.cfm360-origin{display:grid;gap:7px;font-weight:800;color:#345f72}.cfm360 input[type=date],.cfm360 select{width:100%;min-height:48px;border:1px solid #cfe3ea;border-radius:13px;background:#fff;padding:0 13px;font:inherit;color:#294f61}
.cfm360-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.cfm360-choice-grid-many{grid-template-columns:repeat(3,minmax(0,1fr))}.cfm360-choice-grid button,.cfm360-quick button,.cfm360-day-idea>div:nth-child(2)>button{min-height:46px;border:1px solid #d7e8ed;border-radius:999px;background:#f8fcfd;color:#315f72;font:inherit;font-weight:800;cursor:pointer;padding:8px 13px}.cfm360-choice-grid button.is-selected,.cfm360-quick button.is-active,.cfm360-choice-grid button:hover,.cfm360-quick button:hover,.cfm360-day-idea>div:nth-child(2)>button:hover{background:var(--m360-blue);border-color:var(--m360-blue);color:#fff}
.cfm360-check{display:flex;align-items:center;gap:9px;margin-top:16px;font-weight:700}.cfm360-origin{margin-top:18px}.cfm360-wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.cfm360-primary,.cfm360-secondary{border:0;border-radius:999px;min-height:44px;padding:0 17px;font:inherit;font-weight:900;cursor:pointer}.cfm360-primary{background:linear-gradient(110deg,var(--m360-blue),var(--m360-cyan));color:#fff}.cfm360-secondary{background:#eef6f9;color:var(--m360-blue)}.cfm360-secondary:disabled{opacity:.45}
.cfm360-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-radius:24px;background:linear-gradient(120deg,#effbfc,#fff);border:1px solid #d8edf1}.cfm360-summary h2{margin:4px 0;color:var(--m360-navy);font-size:32px}.cfm360-summary p{margin:0;font-weight:700}
.cfm360-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.cfm360-tabs button{border:1px solid #d6e7ed;border-radius:14px;background:#fff;color:#456979;min-height:46px;font:inherit;font-weight:900;cursor:pointer}.cfm360-tabs button.is-active{background:var(--m360-blue);color:#fff;border-color:var(--m360-blue)}
.cfm360-quick{padding:15px 17px;border-radius:19px;background:#fff;border:1px solid #dfedf1}.cfm360-quick>strong{display:block;margin-bottom:9px;color:var(--m360-navy)}.cfm360-quick>div{display:flex;flex-wrap:wrap;gap:7px}.cfm360-quick button{min-height:35px;font-size:12px}
.cfm360-pane{display:none;margin-top:18px}.cfm360-pane.is-active{display:block}.cfm360-pane h3,.cfm360-affiliate h3{margin:0 0 12px;color:var(--m360-navy);font-size:25px}.cfm360-pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cfm360-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cfm360-card{min-width:0;border:1px solid rgba(8,127,168,.11);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 7px 23px rgba(11,64,88,.07)}.cfm360-card-image{aspect-ratio:16/8;background-size:cover;background-position:center}.cfm360-card-body{padding:15px}.cfm360-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cfm360-card-top>span{color:var(--m360-blue);font-size:11px;font-weight:950;letter-spacing:.08em}.cfm360-save{width:34px;height:34px;border-radius:50%;border:1px solid #d8e8ed;background:#fff;color:var(--m360-blue);font-size:20px;cursor:pointer}.cfm360-save.is-saved{background:var(--m360-blue);color:#fff}.cfm360-card h4{margin:7px 0 6px;color:var(--m360-navy);font-size:19px;line-height:1.15}.cfm360-card p{margin:0 0 9px;font-size:13px;line-height:1.45}.cfm360-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.cfm360-meta span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf7fa;color:#397084;font-size:11px;font-weight:800}.cfm360-card a{display:flex;align-items:center;justify-content:space-between;color:var(--m360-blue)!important;text-decoration:none!important;font-weight:900}
.cfm360-day-idea{margin-top:22px;padding:17px;border-radius:21px;background:#f1f9fb;border:1px solid #d7ebef}.cfm360-day-idea>div:first-child{display:flex;flex-direction:column}.cfm360-day-idea>div:first-child strong{color:var(--m360-navy);font-size:19px}.cfm360-day-idea>div:first-child span{font-size:12px}.cfm360-day-idea>div:nth-child(2){display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.cfm360-grid-idea{margin-top:12px}.cfm360-empty{grid-column:1/-1;padding:16px;border-radius:14px;background:#f7fafb;color:#708690}
.cfm360-affiliate{margin-top:22px;padding-top:20px;border-top:1px solid #dcecef}.cfm360-affiliate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cfm360-affiliate-grid a{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid #d9e9ee;border-radius:18px;background:#fff;text-decoration:none!important}.cfm360-affiliate-grid strong{color:var(--m360-navy)}.cfm360-affiliate-grid span{color:#67818d;font-size:12px}.cfm360-affiliate-grid b{margin-top:5px;color:var(--m360-blue)}
.cfm360-settings{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e1ecef}.cfm360-settings span{font-size:11px;color:#788e98}.cfm360-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}.cfm360-noscript{padding:14px;border:1px solid #f0c36d;background:#fff8df;border-radius:12px}
@media(max-width:860px){.cfm360-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cfm360-choice-grid,.cfm360-choice-grid-many{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cfm360-shell{padding:14px 10px 30px}.cfm360-head{padding:22px 15px;border-radius:21px}.cfm360-head p{font-size:16px}.cfm360-step{padding:18px 14px}.cfm360-date-grid,.cfm360-grid,.cfm360-affiliate-grid{grid-template-columns:1fr}.cfm360-summary{align-items:flex-start;flex-direction:column;padding:18px}.cfm360-summary h2{font-size:27px}.cfm360-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.cfm360-pane-head{align-items:flex-start;flex-direction:column}.cfm360-settings{align-items:flex-start;flex-direction:column}.cfm360-card-image{aspect-ratio:16/7.5}}


/* 3.1.81 – visuelle Verfeinerung Mein 360° */
.cfm360 [hidden]{display:none!important}
.cfm360-loading[hidden]{display:none!important}
.cfm360-shell{
  max-width:1220px;
  padding:22px 14px 50px;
}
.cfm360-head{
  position:relative;
  overflow:hidden;
  padding:34px 28px 30px;
  border-radius:30px;
  background:
    radial-gradient(circle at 12% 10%,rgba(111,225,233,.24),transparent 34%),
    linear-gradient(145deg,#ffffff 0%,#f7fdfe 100%);
  border:1px solid rgba(8,127,168,.13);
  box-shadow:0 18px 44px rgba(7,70,94,.09);
}
.cfm360-head:after{
  content:"";
  position:absolute;
  width:240px;height:240px;
  right:-110px;bottom:-140px;
  border-radius:50%;
  background:rgba(8,127,168,.055);
  pointer-events:none;
}
.cfm360-head h1{letter-spacing:-.035em}
.cfm360-head small{font-size:12px}
.cfm360-step{
  padding:26px 24px 24px;
  border-radius:26px;
  box-shadow:0 12px 34px rgba(8,67,91,.065);
}
.cfm360-choice-grid button,.cfm360-quick button,.cfm360-day-idea>div:nth-child(2)>button{
  transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.cfm360-choice-grid button:hover,.cfm360-quick button:hover,.cfm360-day-idea>div:nth-child(2)>button:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(8,127,168,.12);
}
.cfm360-summary{
  padding:24px 26px;
  border-radius:28px;
  background:
    radial-gradient(circle at 5% 20%,rgba(100,222,232,.18),transparent 38%),
    linear-gradient(145deg,#f8feff,#fff);
  box-shadow:0 11px 32px rgba(9,69,94,.06);
}
.cfm360-tabs{
  gap:9px;
  margin:16px 0;
  padding:5px;
  border-radius:18px;
  background:#eff7f9;
}
.cfm360-tabs button{
  border:0;
  border-radius:14px;
  background:transparent;
  min-height:44px;
}
.cfm360-tabs button.is-active{
  background:#fff;
  color:var(--m360-blue);
  box-shadow:0 5px 14px rgba(9,69,94,.09);
}
.cfm360-quick{
  padding:17px 18px;
  border-radius:21px;
  background:linear-gradient(145deg,#fff,#fafdfe);
  box-shadow:0 7px 24px rgba(8,70,95,.045);
}
.cfm360-grid{gap:16px}
.cfm360-card{
  position:relative;
  border:1px solid rgba(8,127,168,.1);
  border-radius:24px;
  box-shadow:0 10px 30px rgba(9,68,92,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  overflow:visible;
}
.cfm360-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(9,68,92,.12);
  border-color:rgba(8,127,168,.18);
}
.cfm360-card-image{
  overflow:hidden;
  border-radius:23px 23px 0 0;
  background-color:#eaf6f8;
}
.cfm360-card-image-empty{
  display:grid;
  place-items:center;
  background:
    linear-gradient(145deg,#e8f8fa 0%,#f7fcfd 100%);
}
.cfm360-card-image-empty span{
  display:grid;
  place-items:center;
  width:58px;height:58px;
  border-radius:18px;
  background:#fff;
  color:var(--m360-blue);
  font-size:25px;
  font-weight:950;
  box-shadow:0 8px 22px rgba(8,127,168,.09);
}
.cfm360-card-body{padding:17px 17px 16px}
.cfm360-card-top{padding-right:34px}
.cfm360-card-top>span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 9px;
  border-radius:999px;
  background:#ecf8fa;
  letter-spacing:.075em;
}
.cfm360-card h4{
  margin:10px 0 7px;
  font-size:20px;
  letter-spacing:-.018em;
}
.cfm360-card p{
  color:#67808b;
  font-size:13px;
  line-height:1.5;
}
.cfm360-save-flag{
  position:absolute;
  z-index:7;
  top:-1px;
  right:18px;
  width:40px;
  height:54px;
  margin:0;
  padding:0 0 10px;
  border:0;
  border-radius:0 0 12px 12px;
  background:linear-gradient(180deg,#edf8fa 0%,#dff1f5 100%);
  color:#0b7f9a;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(8,70,94,.13);
  transition:height .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}
.cfm360-save-flag:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:rgba(255,255,255,.7);
}
.cfm360-save-flag span{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  margin:10px auto 0;
  border-radius:50%;
  background:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:0 3px 9px rgba(8,70,94,.1);
}
.cfm360-save-flag:hover{
  height:58px;
  background:linear-gradient(180deg,#dff5f8 0%,#ccecf1 100%);
}
.cfm360-save-flag.is-saved{
  background:linear-gradient(180deg,#12aec2 0%,#087fa8 100%);
  color:#087fa8;
  box-shadow:0 8px 18px rgba(8,127,168,.25);
}
.cfm360-save-flag.is-saved span{
  background:#fff;
  color:#087fa8;
}
.cfm360-meta{margin-top:10px;margin-bottom:13px}
.cfm360-meta span{
  background:#f1f8fa;
  color:#3c7184;
  border:1px solid rgba(8,127,168,.06);
}
.cfm360-card-link{
  min-height:40px;
  margin-top:4px;
  padding-top:12px;
  border-top:1px solid #e6f0f3;
}
.cfm360-card-link b{
  display:grid;
  place-items:center;
  width:31px;height:31px;
  border:1px solid var(--m360-blue);
  border-radius:50%;
  font-size:21px;
  line-height:1;
  font-weight:500;
  transition:background .15s ease,color .15s ease;
}
.cfm360-card-link:hover b{
  background:var(--m360-blue);
  color:#fff;
}
.cfm360-pane-head{
  margin-bottom:12px;
}
.cfm360-pane-head h3{margin-bottom:0}
.cfm360-pane-head .cfm360-secondary{
  min-height:36px;
  padding:0 13px;
  font-size:12px;
}
.cfm360-empty{
  grid-column:1/-1;
  display:grid;
  justify-items:center;
  gap:5px;
  width:100%;
  padding:30px 18px;
  border:1px dashed #cfe1e7;
  border-radius:20px;
  background:linear-gradient(145deg,#fafdfe,#f4fafb);
  color:#748a94;
  text-align:center;
}
.cfm360-empty>span{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:#fff;
  color:#8ab7c4;
  font-size:22px;
  box-shadow:0 5px 16px rgba(8,80,105,.07);
}
.cfm360-empty strong{
  color:#365f70;
  font-size:15px;
}
.cfm360-empty p{
  max-width:520px;
  margin:0;
  font-size:12px;
  line-height:1.45;
}
.cfm360-day-idea{
  margin-top:25px;
  padding:20px;
  border-radius:24px;
}
.cfm360-affiliate{
  margin-top:28px;
}
.cfm360-affiliate-grid a{
  padding:18px;
  border-radius:20px;
  box-shadow:0 7px 22px rgba(8,70,94,.05);
}
.cfm360-settings{
  margin-top:30px;
  padding:18px 0 0;
}
@media(max-width:600px){
  .cfm360-shell{padding:12px 9px 28px}
  .cfm360-head{padding:25px 15px 23px;border-radius:24px}
  .cfm360-step{padding:19px 14px;border-radius:22px}
  .cfm360-tabs{gap:5px;padding:4px}
  .cfm360-card{border-radius:22px}
  .cfm360-card-image{border-radius:21px 21px 0 0}
  .cfm360-save-flag{right:14px}
  .cfm360-pane-head{flex-direction:row;align-items:center}
  .cfm360-pane-head .cfm360-secondary{width:auto}
}


/* 3.1.82 – auffälliger Hinweis zur Sitzungs-Speicherung */
.cfm360-privacy-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  max-width:860px;
  margin:18px auto 0;
  padding:14px 16px;
  border:1px solid rgba(8,127,168,.2);
  border-left:5px solid var(--m360-blue);
  border-radius:16px;
  background:linear-gradient(145deg,#f0fbfd 0%,#ffffff 100%);
  text-align:left;
  box-shadow:0 8px 22px rgba(7,76,100,.07);
}
.cfm360-privacy-note-icon{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--m360-blue);
  color:#fff;
  font-size:16px;
  font-weight:950;
  line-height:1;
}
.cfm360-privacy-note>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.cfm360-privacy-note strong{
  color:var(--m360-navy);
  font-size:14px;
  line-height:1.35;
}
.cfm360-privacy-note span:not(.cfm360-privacy-note-icon){
  color:#5c7682;
  font-size:12px;
  line-height:1.5;
}
@media(max-width:600px){
  .cfm360-privacy-note{
    margin-top:15px;
    padding:13px 13px;
    border-radius:14px;
  }
  .cfm360-privacy-note strong{
    font-size:13px;
  }
  .cfm360-privacy-note span:not(.cfm360-privacy-note-icon){
    font-size:11.5px;
  }
}


/* 3.1.83 – ruhige blaue Icon-Leiste statt bunter Emojis */
.cfm360-summary p{
  margin-top:10px!important;
}
.cfm360-summary-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
}
.cfm360-summary-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#365f70;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}
.cfm360-summary-icon{
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:linear-gradient(145deg,#0b9fba,#087fa8);
  color:#fff;
  box-shadow:0 4px 10px rgba(8,127,168,.18);
}
.cfm360-summary-icon svg{
  width:15px;
  height:15px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-summary-chip .cfm360-summary-icon svg path[fill],
.cfm360-summary-chip .cfm360-summary-icon svg{
  vector-effect:non-scaling-stroke;
}
.cfm360-summary-chip:nth-child(2) .cfm360-summary-icon svg{
  fill:currentColor;
  stroke:none;
}
@media(max-width:600px){
  .cfm360-summary-chips{
    gap:7px 10px;
  }
  .cfm360-summary-chip{
    font-size:12px;
  }
  .cfm360-summary-icon{
    width:26px;
    height:26px;
    flex-basis:26px;
  }
  .cfm360-summary-icon svg{
    width:14px;
    height:14px;
  }
}


/* 3.1.84 – Ausgangsort frei an der Costa Brava wählbar */
.cfm360-origin-box{
  margin-top:18px;
  padding:15px;
  border:1px solid #dcecef;
  border-radius:20px;
  background:linear-gradient(145deg,#fafdfe,#f4fafb);
}
.cfm360-origin-default{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.cfm360-origin-default-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(145deg,#0b9fba,#087fa8);
  color:#fff;
  font-size:18px;
  font-weight:900;
  box-shadow:0 5px 12px rgba(8,127,168,.18);
}
.cfm360-origin-default>div{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.cfm360-origin-default strong{
  color:var(--m360-navy);
  font-size:14px;
}
.cfm360-origin-default span:not(.cfm360-origin-default-icon){
  color:#748993;
  font-size:11.5px;
}
.cfm360-origin-default>b{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#e8f7fa;
  color:var(--m360-blue);
  font-size:12px;
  white-space:nowrap;
}
.cfm360-origin-toggle{
  margin:13px 0 0;
  padding-top:12px;
  border-top:1px solid #e0ecef;
}
.cfm360-origin-custom{
  display:grid;
  gap:7px;
  margin-top:12px;
}
.cfm360-origin-custom[hidden]{
  display:none!important;
}
.cfm360-origin-custom>span{
  color:#345f72;
  font-size:12px;
  font-weight:850;
}
.cfm360-origin-custom input{
  width:100%;
  min-height:48px;
  border:1px solid #cfe3ea;
  border-radius:13px;
  background:#fff;
  padding:0 13px;
  font:inherit;
  color:#294f61;
  outline:none;
}
.cfm360-origin-custom input:focus{
  border-color:var(--m360-blue);
  box-shadow:0 0 0 3px rgba(8,127,168,.09);
}
.cfm360-origin-custom small{
  color:#7b8f98;
  font-size:11px;
  line-height:1.4;
}
@media(max-width:600px){
  .cfm360-origin-default{
    grid-template-columns:34px minmax(0,1fr);
  }
  .cfm360-origin-default>b{
    grid-column:2;
    justify-self:start;
  }
}


/* 3.1.86 – Standardbilder aus den Quellmodulen verwenden; nur echter Notfall-Fallback als Icon */
.cfm360-card-image-empty .cfm360-fallback-icon{
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  border-radius:18px;
  background:#fff;
  color:var(--m360-blue);
  box-shadow:0 8px 22px rgba(8,127,168,.09);
}
.cfm360-card-image-empty .cfm360-fallback-icon svg{
  display:block;
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* 3.1.87 – Merkliste-Fähnchen im Bereich „Was machen wir heute?“ */
.cfm360-day-idea .cfm360-card .cfm360-save-flag{
  position:absolute!important;
  z-index:7!important;
  top:-1px!important;
  right:18px!important;
  display:block!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 0 10px!important;
  border:0!important;
  border-radius:0 0 12px 12px!important;
  background:linear-gradient(180deg,#edf8fa 0%,#dff1f5 100%)!important;
  color:#0b7f9a!important;
  box-shadow:0 6px 14px rgba(8,70,94,.13)!important;
  transform:none!important;
}
.cfm360-day-idea .cfm360-card .cfm360-save-flag:hover{
  height:58px!important;
  min-height:58px!important;
  background:linear-gradient(180deg,#dff5f8 0%,#ccecf1 100%)!important;
  transform:none!important;
}
.cfm360-day-idea .cfm360-card .cfm360-save-flag.is-saved{
  background:linear-gradient(180deg,#12aec2 0%,#087fa8 100%)!important;
}
.cfm360-day-idea .cfm360-card .cfm360-save-flag span{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  margin:10px auto 0!important;
  padding:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#087fa8!important;
  font-size:16px!important;
  line-height:1!important;
  box-shadow:0 3px 9px rgba(8,70,94,.1)!important;
}
@media(max-width:600px){
  .cfm360-day-idea .cfm360-card .cfm360-save-flag{
    right:14px!important;
  }
}


/* 3.1.88 – Entfernung / Phase 1 */
.cfm360-distance-filter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:10px;
  padding:13px 16px;
  border:1px solid #dcecef;
  border-radius:18px;
  background:#f8fcfd;
}
.cfm360-distance-filter>div:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.cfm360-distance-filter strong{color:var(--m360-navy);font-size:13px}
.cfm360-distance-filter [data-distance-note]{color:#78909a;font-size:11px}
.cfm360-distance-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.cfm360-distance-buttons button{
  min-height:32px;
  padding:0 10px;
  border:1px solid #cfe2e8;
  border-radius:999px;
  background:#fff;
  color:#426d7d;
  font:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.cfm360-distance-buttons button.is-active,
.cfm360-distance-buttons button:hover{
  border-color:var(--m360-blue);
  background:var(--m360-blue);
  color:#fff;
}
@media(max-width:700px){
  .cfm360-distance-filter{align-items:flex-start;flex-direction:column}
  .cfm360-distance-buttons{justify-content:flex-start}
}


/* 3.1.89 – Phase 2: Tageszeit, Öffnungszeiten, echte 2h/4h/Ganztag-Kombinationen */
.cfm360-idea-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:11px 13px;
  border-radius:15px;
  background:#fff;
  border:1px solid #d8e9ee;
}
.cfm360-idea-head[hidden]{display:none!important}
.cfm360-idea-head strong{color:var(--m360-navy);font-size:13px}
.cfm360-idea-head span{color:#78909a;font-size:10.5px;text-align:right}
.cfm360-card-top em{
  margin-left:auto;
  color:#79909a;
  font-size:9px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.07em;
}
.cfm360-grid-idea .cfm360-card{
  border-color:rgba(8,127,168,.16);
}
@media(max-width:600px){
  .cfm360-idea-head{align-items:flex-start;flex-direction:column}
  .cfm360-idea-head span{text-align:left}
}


/* 3.1.90 – Phase 3A: Vorteile + Hund */
.cfm360-benefit-head,.cfm360-dog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:18px 20px;
  border:1px solid #d9ebef;
  border-radius:22px;
  background:linear-gradient(145deg,#f4fbfc,#fff);
}
.cfm360-benefit-head h3,.cfm360-dog-head h3{margin:3px 0 4px}
.cfm360-benefit-head p,.cfm360-dog-head p{margin:0;color:#6f8791;font-size:12px}
.cfm360-benefit-mark,.cfm360-dog-icon{
  display:grid;
  place-items:center;
  flex:0 0 48px;
  width:48px;height:48px;
  border-radius:50%;
  background:linear-gradient(145deg,#0b9fba,#087fa8);
  color:#fff;
  font-size:22px;
  font-weight:950;
  box-shadow:0 7px 18px rgba(8,127,168,.18);
}
.cfm360-dog-section{
  margin-top:22px;
  padding:20px;
  border:1px solid #d9ebef;
  border-radius:24px;
  background:linear-gradient(145deg,#f9fdfe,#f2fafb);
}
.cfm360-dog-section[hidden]{display:none!important}
.cfm360-dog-head{margin:-20px -20px 14px;border:0;border-bottom:1px solid #dcecef;border-radius:24px 24px 0 0}
.cfm360-dog-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:12px;
}
.cfm360-dog-links span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  background:#eaf7f9;
  color:#397184;
  font-size:10.5px;
  font-weight:850;
}
@media(max-width:600px){
  .cfm360-benefit-head,.cfm360-dog-head{align-items:flex-start}
  .cfm360-benefit-mark,.cfm360-dog-icon{width:42px;height:42px;flex-basis:42px}
}


/* 3.1.91 – Phase 3B: Kontext-Affiliate + Überrasch mich */
.cfm360-surprise{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 18px;
  align-items:center;
  margin:14px 0 18px;
  padding:16px 18px;
  border:1px solid #d6e9ee;
  border-radius:20px;
  background:linear-gradient(145deg,#ffffff,#f5fbfc);
  box-shadow:0 7px 22px rgba(8,70,94,.045);
}
.cfm360-surprise-copy{
  display:flex;
  align-items:center;
  gap:11px;
}
.cfm360-surprise-copy>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.cfm360-surprise-copy strong{
  color:var(--m360-navy);
  font-size:14px;
}
.cfm360-surprise-copy span:not(.cfm360-surprise-icon){
  color:#728a95;
  font-size:11px;
}
.cfm360-surprise-icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;height:36px;
  border-radius:50%;
  background:linear-gradient(145deg,#0b9fba,#087fa8);
  color:#fff;
}
.cfm360-surprise-icon svg{
  width:19px;height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-surprise-button{
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--m360-blue);
  border-radius:999px;
  background:var(--m360-blue);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.cfm360-surprise-button:hover{background:#066f94}
.cfm360-surprise-grid{
  grid-column:1/-1;
  margin-top:2px;
}
.cfm360-surprise-grid[hidden]{display:none!important}
@media(max-width:600px){
  .cfm360-surprise{grid-template-columns:1fr}
  .cfm360-surprise-button{justify-self:start}
}


/* 3.2.19 – Schnellwahl entfernt; Ideen-Schaltflächen sind lokal begrenzt. */
.cfm360-save-menu{
  position:absolute;
  z-index:20;
  top:50px;
  right:10px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  min-width:248px;
  padding:14px;
  border:1px solid #d7e8ed;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfeff 100%);
  box-shadow:0 18px 42px rgba(5,53,73,.16);
}
.cfm360-save-menu[hidden]{display:none!important}
.cfm360-save-menu .cfm360-save-menu-kicker{
  display:block;
  margin:0 0 -4px;
  color:var(--m360-blue);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.cfm360-save-menu strong{
  display:block;
  margin:0;
  padding:0;
  color:var(--m360-navy);
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
  text-transform:none;
}
.cfm360-save-menu .cfm360-save-menu-copy{
  margin:-2px 0 2px;
  color:#6b8896;
  font-size:12px;
  line-height:1.5;
}
.cfm360-save-menu button{
  width:100%;
  min-height:40px;
  padding:9px 13px;
  border:1px solid #d8e9ef;
  border-radius:12px;
  background:#f6fbfd;
  color:#24526c;
  font:inherit;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
}
.cfm360-save-menu button.is-active,.cfm360-save-menu button:hover{
  border-color:var(--m360-blue);
  background:#e8f7fa;
  color:var(--m360-blue);
}
.cfm360-save-menu .cfm360-save-remove{
  background:#fff;
  color:#8a5b61;
  border-color:#e3d2d6;
}
.cfm360-saved-for{
  display:inline-flex;
  margin:0 0 10px;
  padding:4px 8px;
  border-radius:999px;
  background:#edf8fa;
  color:#3d7182;
  font-size:10px;
  font-weight:850;
}
.cfm360-favorite-groups{
  display:grid;
  gap:20px;
}
.cfm360-favorite-group{
  padding-top:2px;
}
.cfm360-favorite-group+.cfm360-favorite-group{
  padding-top:18px;
  border-top:1px solid #e1ecef;
}
.cfm360-favorite-group-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.cfm360-favorite-group-head span{
  color:#3f6b7c;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
}
.cfm360-favorite-group-head b{
  display:grid;
  place-items:center;
  width:24px;height:24px;
  border-radius:50%;
  background:#e9f6f9;
  color:var(--m360-blue);
  font-size:10px;
}
.cfm360-pane-head>div p{
  margin:3px 0 0;
  color:#78909a;
  font-size:11px;
}
@media(max-width:600px){
  .cfm360-save-menu{right:6px;min-width:208px}
}


/* 3.1.93 – Abschluss-Härtung */
.cfm360-quick button[data-quick="events"]{
  white-space:nowrap;
}


/* 3.1.94 – Schritt 2 ohne Emojis: einheitliche interne SVG-Icons */
.cfm360-choice-grid-companions button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  text-align:left;
}
.cfm360-choice-grid-companions .cfm360-choice-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#eaf7f9;
  color:var(--m360-blue);
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.cfm360-choice-grid-companions .cfm360-choice-icon svg{
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-choice-grid-companions button[data-value="dog"] .cfm360-choice-icon svg{
  fill:currentColor;
  stroke:none;
}
.cfm360-choice-grid-companions button.is-selected .cfm360-choice-icon{
  background:#fff;
  color:var(--m360-blue);
  box-shadow:0 3px 10px rgba(8,127,168,.12);
}


/* 3.1.95 – Merkliste-Herz auf Mobilgeräten immer als internes SVG */
.cfm360 .cfm360-save-flag span svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.cfm360 .cfm360-save-flag.is-saved span svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}


/* 3.1.96 – aktive Mein-360-Registerkarte sofort in den sichtbaren Bereich holen */
.cfm360 [data-pane]{
  scroll-margin-top:88px;
}
@media(max-width:700px){
  .cfm360 [data-pane]{
    scroll-margin-top:72px;
  }
}


/* 3.1.97 – großer Mein-360-Ladekasten mit pendelndem Punkt */
.cfm360 .cfm360-loading{
  position:relative;
  display:block;
  overflow:hidden;
  margin:0 0 16px;
  padding:24px 26px 22px;
  border:1px solid #d8edf1;
  border-radius:28px;
  background:
    radial-gradient(circle at 5% 20%,rgba(100,222,232,.18),transparent 38%),
    linear-gradient(145deg,#f8feff,#fff);
  box-shadow:0 11px 32px rgba(9,69,94,.06);
}
.cfm360 .cfm360-loading[hidden]{
  display:none!important;
}
.cfm360-loading-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.cfm360-loading-copy>strong{
  margin:4px 0 3px;
  color:var(--m360-navy);
  font-size:clamp(24px,3vw,32px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.cfm360-loading-copy>p{
  margin:0;
  color:#637e8b;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}
.cfm360-loading-track{
  position:relative;
  width:100%;
  height:10px;
  margin-top:20px;
  border-radius:999px;
  background:#e7f3f6;
}
.cfm360-loading-track .cfm360-loading-dot{
  position:absolute;
  top:50%;
  left:0;
  width:18px;
  height:18px;
  margin-top:-9px;
  border:0;
  border-radius:50%;
  background:linear-gradient(145deg,#0b9fba,#087fa8);
  box-shadow:0 4px 12px rgba(8,127,168,.28);
  animation:cfm360LoadingShuttle 1.5s ease-in-out infinite alternate;
}
@keyframes cfm360LoadingShuttle{
  from{left:0;transform:translateX(0)}
  to{left:100%;transform:translateX(-100%)}
}
@media(max-width:600px){
  .cfm360 .cfm360-loading{
    padding:20px 18px 19px;
    border-radius:24px;
  }
  .cfm360-loading-copy>strong{
    font-size:25px;
  }
  .cfm360-loading-copy>p{
    font-size:12px;
  }
  .cfm360-loading-track{
    margin-top:17px;
  }
}
@media(prefers-reduced-motion:reduce){
  .cfm360-loading-track .cfm360-loading-dot{
    animation-duration:3s;
  }
}


/* 3.1.98 – alten Spinner vollständig entfernen */
.cfm360 .cfm360-loading .cfm360-kicker{
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  animation:none!important;
  transform:none!important;
}
.cfm360 .cfm360-loading .cfm360-loading-dot{
  animation:cfm360LoadingShuttle 1.5s ease-in-out infinite alternate!important;
}


/* 3.1.99 – moderner Vollbild-Ladeoverlay für Mein 360° */
.cfm360 .cfm360-loading{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:1;
  visibility:visible;
  transition:opacity .34s ease,visibility .34s ease;
}
.cfm360 .cfm360-loading[hidden]{display:none!important}
.cfm360 .cfm360-loading.is-closing{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.cfm360-loading-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,22,32,.58);
  backdrop-filter:blur(4px);
}
.cfm360-loading-panel{
  position:relative;
  z-index:1;
  width:min(100%,560px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  padding:34px 30px 28px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:32px;
  background:linear-gradient(160deg,rgba(11,24,35,.92),rgba(15,36,51,.88));
  box-shadow:0 24px 70px rgba(3,18,28,.34);
}
.cfm360-loading-stage{
  position:relative;
  width:min(62vw,290px);
  height:min(62vw,290px);
  display:grid;
  place-items:center;
}
.cfm360-loading-logo{
  display:block;
  width:70%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.2));
}
.cfm360-loading-orbit{
  position:absolute;
  inset:6%;
  border:4px solid rgba(255,255,255,.96);
  border-radius:50%;
}
.cfm360-loading-orbit-dot{
  position:absolute;
  top:-9px;
  left:50%;
  width:18px;
  height:18px;
  margin-left:-9px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 6px rgba(255,255,255,.14),0 0 22px rgba(255,255,255,.35);
  animation:cfm360LoadingOrbit 1.45s linear infinite;
  transform-origin:9px calc(100% + 122px);
}
@keyframes cfm360LoadingOrbit{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.cfm360 .cfm360-loading .cfm360-loading-copy{
  align-items:center;
  text-align:center;
}
.cfm360 .cfm360-loading .cfm360-kicker{
  width:auto!important;
  height:auto!important;
  margin:0 0 6px;
  color:#86ddec;
  border:0!important;
  border-radius:0!important;
  animation:none!important;
}
.cfm360 .cfm360-loading-copy>strong{
  margin:0 0 7px;
  color:#fff;
  font-size:clamp(26px,4vw,36px);
  line-height:1.06;
  letter-spacing:-.035em;
}
.cfm360 .cfm360-loading-copy>p{
  max-width:420px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:700;
  line-height:1.55;
}
/* alte Ladeleiste in Overlay-Kontext ausblenden */
.cfm360 .cfm360-loading-track{display:none!important}
.cfm360 .cfm360-loading-dot{display:none!important}
@media(max-width:700px){
  .cfm360 .cfm360-loading{padding:18px}
  .cfm360-loading-panel{
    width:min(100%,420px);
    padding:24px 18px 22px;
    border-radius:26px;
    gap:16px;
  }
  .cfm360-loading-stage{
    width:min(74vw,250px);
    height:min(74vw,250px);
  }
  .cfm360-loading-orbit{border-width:3px}
  .cfm360-loading-orbit-dot{
    width:15px;
    height:15px;
    margin-left:-7.5px;
    top:-8px;
  }
  .cfm360 .cfm360-loading-copy>strong{font-size:28px}
  .cfm360 .cfm360-loading-copy>p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .cfm360-loading-orbit-dot{animation-duration:3s}
  .cfm360 .cfm360-loading{transition:none}
}


/* 3.2.00 – Ladeabschluss + Auswahl "Alleine" */
.cfm360-loading.is-ready .cfm360-loading-orbit-dot{
  animation-duration:2.2s;
}
.cfm360-loading.is-ready .cfm360-loading-panel{
  transform:scale(1.015);
  transition:transform .28s ease;
}
.cfm360-loading.is-ready .cfm360-loading-copy>strong{
  color:#fff;
}
.cfm360-choice-grid-companions{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
@media(max-width:860px){
  .cfm360-choice-grid-companions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .cfm360-choice-grid-companions{
    grid-template-columns:1fr 1fr;
  }
}


/* 3.2.01 – Detail-Popups direkt in Mein Costa Brava 360° */
html.cfm360-modal-lock{overflow:hidden}
.cfm360-detail-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  transition:opacity .18s ease;
}
.cfm360-detail-modal[hidden]{display:none!important}
.cfm360-detail-modal.is-open{opacity:1}
.cfm360-detail-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,28,40,.62);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.cfm360-detail-dialog{
  position:relative;
  z-index:1;
  width:min(880px,96vw);
  max-height:92vh;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.cfm360-detail-close{
  position:absolute;
  z-index:5;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:var(--m360-blue);
  color:#fff;
  font:inherit;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(8,127,168,.25);
}
.cfm360-detail-scroll{max-height:92vh;overflow:auto}
.cfm360-detail-hero{
  min-height:280px;
  background-size:cover;
  background-position:center;
}
.cfm360-detail-content{padding:28px}
.cfm360-detail-content h2{
  margin:5px 54px 8px 0;
  color:var(--m360-navy);
  font-size:clamp(28px,5vw,44px);
  line-height:1.04;
}
.cfm360-detail-lead{
  margin:0 0 18px;
  color:#587580;
  font-size:15px;
  line-height:1.55;
}
.cfm360-detail-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:18px 0;
}
.cfm360-detail-facts>div{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:12px 14px;
  border-radius:14px;
  background:#eff8fa;
}
.cfm360-detail-facts span{
  color:#67838e;
  font-size:10px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cfm360-detail-facts strong{color:var(--m360-navy)}
.cfm360-detail-text{
  margin:18px 0;
  color:#3f5e6a;
  font-size:14px;
  line-height:1.65;
}
.cfm360-detail-text p{margin:0 0 11px}
.cfm360-detail-important{
  margin:18px 0;
  padding:16px;
  border-radius:16px;
  background:#fff8e8;
  border:1px solid #f0ddb1;
  color:#765a22;
}
.cfm360-detail-important strong{display:block;margin-bottom:5px}
.cfm360-detail-important p{margin:0;line-height:1.5}
.cfm360-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.cfm360-detail-actions a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  background:var(--m360-blue);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900;
}
.cfm360-card .cfm360-card-detail{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0;
  border:0;
  background:transparent;
  color:var(--m360-blue);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  text-align:left;
}
.cfm360-card .cfm360-card-detail b{font-size:18px}
@media(max-width:600px){
  .cfm360-detail-modal{padding:8px}
  .cfm360-detail-dialog{width:100%;max-height:95vh;border-radius:23px}
  .cfm360-detail-scroll{max-height:95vh}
  .cfm360-detail-hero{min-height:190px}
  .cfm360-detail-content{padding:21px 16px 24px}
  .cfm360-detail-facts{grid-template-columns:1fr}
}


/* 3.2.02 – Bereichsumschaltung direkt unter „Zeig mir etwas für jetzt“ */
.cfm360-tabs-content{
  position:sticky;
  top:8px;
  z-index:30;
  margin:14px 0 16px;
  box-shadow:0 8px 24px rgba(7,70,94,.08);
}
.cfm360-pane{
  margin-top:0;
}
@media(max-width:700px){
  .cfm360-tabs-content{
    top:6px;
  }
}


/* 3.2.03 – Popup-Schließen-Button vereinheitlicht + hochauflösende Bilder */
.cfm360 .cfm360-detail-close{
  position:absolute!important;
  z-index:8!important;
  top:14px!important;
  right:14px!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--m360-blue)!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(8,127,168,.28)!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.cfm360 .cfm360-detail-close svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.cfm360 .cfm360-detail-close:hover,
.cfm360 .cfm360-detail-close:focus-visible{
  background:#066f94!important;
  transform:scale(1.04);
}
.cfm360-detail-hero{
  background-color:#e8f3f6;
  image-rendering:auto;
}
@media(max-width:600px){
  .cfm360 .cfm360-detail-close{
    top:11px!important;
    right:11px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
}


/* 3.2.04 – Tabs oben, gewählter Bereich direkt darunter, übrige Steuerung darunter */
.cfm360-active-pane-wrap{
  margin:0 0 16px;
}
.cfm360-tabs-content{
  margin-bottom:0;
  border-radius:18px 18px 0 0;
}
.cfm360-active-pane-wrap>.cfm360-pane{
  margin-top:0;
  padding:18px 17px;
  border:1px solid #dfedf1;
  border-top:0;
  border-radius:0 0 20px 20px;
  background:#fff;
}
.cfm360-active-pane-wrap>.cfm360-pane:not(.is-active){
  display:none;
}
.cfm360-active-pane-wrap>.cfm360-pane.is-active{
  display:block;
}
@media(max-width:600px){
  .cfm360-active-pane-wrap>.cfm360-pane{
    padding:15px 12px;
  }
}


/* 3.2.07 – Original-Popups der Module + nativer Restaurant-Inhalt */
.cfm360-native-event-host{
  position:absolute!important;
  width:0!important;
  height:0!important;
  overflow:visible!important;
  left:0!important;
  top:0!important;
  z-index:0!important;
}
.cfm360-native-event-host>.cfv-wrap{
  position:absolute!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
.cfm360-native-event-host .cfv-grid,
.cfm360-native-event-host .cfv-head,
.cfm360-native-event-host .cfv-filter,
.cfm360-native-event-host .cfv-actions,
.cfm360-native-event-host .cfv-empty{
  display:none!important;
}
.cfm360-native-card-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  transition:opacity .18s ease;
}
.cfm360-native-card-modal[hidden]{display:none!important}
.cfm360-native-card-modal.is-open{opacity:1}
.cfm360-native-card-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,33,46,.60);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.cfm360-native-card-dialog{
  position:relative;
  z-index:1;
  width:min(760px,96vw);
  max-height:92vh;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 90px rgba(0,0,0,.30);
}
.cfm360-native-card-scroll{
  max-height:92vh;
  overflow:auto;
  padding:18px;
}
.cfm360-native-card-scroll>.cfr-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-shadow:none!important;
}
.cfm360-native-card-scroll .cfr-hero img{
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:cover;
}
@media(max-width:600px){
  .cfm360-native-card-modal{padding:6px}
  .cfm360-native-card-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px);border-radius:22px}
  .cfm360-native-card-scroll{max-height:calc(100vh - 12px);padding:10px}
}


/* 3.2.08 – Merkliste als lokale Urlaubsplanung über den gesamten Reisezeitraum */
.cfm360-save-menu-trip{min-width:284px}
.cfm360-save-menu-trip select{
  width:100%;min-height:44px;padding:8px 12px;border:1px solid #cfe3e9;border-radius:13px;
  background:#fff;color:var(--m360-navy);font:inherit;font-size:13px;font-weight:750;
}
.cfm360-save-date-confirm{
  width:100%;min-height:43px;margin-top:0;border:0;border-radius:14px;
  background:linear-gradient(135deg,#1299b8,#0089a9);color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer;
  box-shadow:0 10px 22px rgba(0,137,169,.18);
}
.cfm360-save-date-confirm:hover{background:#087fa8}
.cfm360-trip-plan-summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:13px 15px;
  border-radius:16px;background:#edf8fa;color:#56717d;
}
.cfm360-trip-plan-summary strong{color:var(--m360-navy)}
.cfm360-trip-plan-summary span{font-size:12px;font-weight:750}
.cfm360-favorite-groups{display:grid;gap:13px}
.cfm360-favorite-group{
  padding:13px;border:1px solid #dfedf1;border-radius:18px;background:#fbfdfe;
}
/* 5.0.8: Auch unvollständig markierte Tage dürfen ihre Kacheln nicht ausblenden. */
.cfm360-favorite-group:not(.has-items){opacity:1}
.cfm360-favorite-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cfm360-favorite-group-head span{color:var(--m360-navy);font-size:12px;font-weight:950;letter-spacing:.035em}
.cfm360-favorite-group-head b{
  display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  background:#e7f5f8;color:var(--m360-blue);font-size:12px;
}
.cfm360-favorite-open{border-style:dashed}
@media(max-width:600px){
  .cfm360-save-menu{right:4px;left:auto;min-width:min(284px,calc(100vw - 24px));padding:12px}
  .cfm360-save-menu-trip{min-width:min(284px,calc(100vw - 24px))}
  .cfm360-trip-plan-summary{align-items:flex-start;flex-direction:column}
}


/* 3.2.09 – Mobile-Fixes, keine Emoji-Glyphen, zeitbewusste Empfehlungen, stabile Mein-360-Popups */

/* Schritt 1: Datumsfelder dürfen auf iPhone/Android niemals über den Kartenrand wachsen. */
.cfm360-date-grid,
.cfm360-date-grid>label{
  min-width:0;
  max-width:100%;
}
.cfm360 input[type="date"]{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0!important;
  box-sizing:border-box!important;
}
.cfm360 input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  text-align:left;
}

/* Interne SVGs statt Unicode-/Emoji-Zeichen. */
.cfm360-origin-default-icon svg,
.cfm360-dog-icon svg,
.cfm360-empty-icon svg{
  display:block;
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-dog-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
  stroke:none;
}
.cfm360-empty{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.cfm360-empty-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:2px;
  border-radius:50%;
  background:#eaf7f9;
  color:var(--m360-blue);
}
.cfm360-empty p{margin:0}

/* Detaildialog komplett isoliert von den Unterseiten-Modulen. */
.cfm360-detail-modal{
  z-index:999999!important;
}
.cfm360-detail-dialog{
  width:min(1040px,96vw);
  max-height:92vh;
  border-radius:30px;
  background:#fff;
}
.cfm360-detail-scroll{
  max-height:92vh;
  overflow:auto;
}
.cfm360-detail-dialog.is-restaurant .cfm360-detail-scroll{
  display:grid;
  grid-template-columns:minmax(330px,.9fr) minmax(0,1.12fr);
  align-items:stretch;
}
.cfm360-detail-dialog.is-restaurant .cfm360-detail-hero{
  min-height:620px;
  height:100%;
  background-size:cover;
  background-position:center;
}
.cfm360-detail-dialog.is-restaurant:not(.has-image) .cfm360-detail-content{
  grid-column:1/-1;
}
.cfm360-detail-content{
  min-width:0;
  padding:30px;
}
.cfm360-detail-content h2{
  overflow-wrap:anywhere;
}
.cfm360-detail-facts{
  align-items:stretch;
}
.cfm360-detail-facts>div strong{
  overflow-wrap:anywhere;
  white-space:pre-line;
}
.cfm360-detail-extra{
  display:grid;
  gap:12px;
  margin:18px 0;
}
.cfm360-detail-section{
  padding:16px;
  border:1px solid #dcecf0;
  border-radius:18px;
  background:#f9fcfd;
}
.cfm360-detail-section h3{
  margin:0 0 9px;
  color:var(--m360-navy);
  font-size:15px;
}
.cfm360-detail-section p{
  margin:0;
  line-height:1.55;
}
.cfm360-restaurant-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.cfm360-restaurant-tags span{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#eaf7f9;
  color:#28677d;
  font-size:12px;
  font-weight:800;
}
.cfm360-wallet-box{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.cfm360-wallet-kicker{
  color:var(--m360-blue);
  font-size:10px;
  font-weight:950;
  letter-spacing:.1em;
}
.cfm360-wallet-box>strong{
  color:var(--m360-navy);
  font-size:20px;
}
.cfm360-wallet-code{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border-radius:11px;
  background:#fff;
}
.cfm360-wallet-code span{
  font-size:11px;
  font-weight:800;
  color:#7a683e;
}
.cfm360-wallet-code b{
  color:var(--m360-navy);
  letter-spacing:.05em;
}
.cfm360-wallet-code-image{
  display:block;
  max-width:170px;
  max-height:170px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  padding:7px;
}
.cfm360-wallet-valid{font-weight:800}
.cfm360-detail-actions a.is-secondary{
  background:#eef7f9;
  color:var(--m360-blue)!important;
}
.cfm360-detail-actions a{
  white-space:nowrap;
}

@media(max-width:600px){
  .cfm360 input[type="date"]{
    font-size:16px!important;
    padding-left:9px;
    padding-right:7px;
  }

  /* Die vier Bereiche bleiben mobil bewusst in EINER Zeile. */
  .cfm360-tabs,
  .cfm360-tabs-content{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
    padding:4px!important;
  }
  .cfm360-tabs button{
    min-width:0!important;
    min-height:40px!important;
    padding:0 3px!important;
    font-size:11px!important;
    line-height:1.05!important;
    letter-spacing:-.015em;
    white-space:nowrap!important;
  }

  .cfm360-detail-modal{padding:7px!important}
  .cfm360-detail-dialog{
    width:100%!important;
    max-height:96vh!important;
    border-radius:22px!important;
  }
  .cfm360-detail-scroll{max-height:96vh!important}
  .cfm360-detail-dialog.is-restaurant .cfm360-detail-scroll{
    display:block;
  }
  .cfm360-detail-dialog.is-restaurant .cfm360-detail-hero,
  .cfm360-detail-hero{
    min-height:210px;
    height:auto;
  }
  .cfm360-detail-content{
    padding:20px 15px 24px!important;
  }
  .cfm360-detail-content h2{
    margin-right:44px;
    font-size:30px;
  }
  .cfm360-detail-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .cfm360-detail-actions a{
    justify-content:center;
    width:100%;
  }
}
@media(max-width:380px){
  .cfm360-tabs button{
    font-size:10px!important;
    padding:0 2px!important;
  }
}


/* 3.2.10 – Original-Unterseiten-Popups wieder aktiv.
   Der cfm360-Detaildialog ist ausschließlich das Restaurant-Popup. */
.cfm360-detail-dialog.is-restaurant{
  width:min(1040px,96vw);
}


/* 3.2.11 – GetYourGuide-Partnerkarten passend in Heute/Aufenthalt einstreuen */
.cfm360-gyg-card{
  border-color:rgba(8,127,168,.18);
  background:linear-gradient(180deg,#fff 0%,#fbfeff 100%);
}
.cfm360-gyg-visual{
  position:relative;
  min-height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.24),transparent 30%),
    linear-gradient(135deg,#087fa8 0%,#08a7bd 54%,#68d7dd 100%);
}
.cfm360-gyg-visual:before,
.cfm360-gyg-visual:after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
}
.cfm360-gyg-visual:before{width:170px;height:170px;left:-60px;bottom:-105px}
.cfm360-gyg-visual:after{width:105px;height:105px;right:-30px;top:-45px}
.cfm360-gyg-compass{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(4px);
}
.cfm360-gyg-compass svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-gyg-brand{
  position:absolute;
  left:14px;
  bottom:12px;
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.025em;
}
.cfm360-gyg-card .cfm360-card-top em{
  font-size:10px;
  font-style:normal;
  font-weight:800;
  color:#78919b;
}
.cfm360-gyg-link{
  text-decoration:none!important;
}
@media(max-width:600px){
  .cfm360-gyg-visual{min-height:110px}
}


/* 3.2.13 – Ortsvorschläge und dynamischer Empuriabrava/Costa-Brava-Kopf */
.cfm360-origin-input-wrap{
  position:relative;
  min-width:0;
}
.cfm360-origin-input-wrap input{
  position:relative;
  z-index:2;
}
.cfm360-origin-suggestions{
  position:absolute;
  z-index:60;
  left:0;
  right:0;
  top:calc(100% + 6px);
  display:grid;
  max-height:250px;
  overflow:auto;
  padding:5px;
  border:1px solid #cfe3ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 38px rgba(11,64,88,.18);
}
.cfm360-origin-suggestions[hidden]{display:none!important}
.cfm360-origin-suggestions button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:43px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:#fff;
  color:#294f61;
  font:inherit;
  cursor:pointer;
  text-align:left;
}
.cfm360-origin-suggestions button:hover,
.cfm360-origin-suggestions button.is-active{
  background:#eaf7f9;
  color:var(--m360-blue);
}
.cfm360-origin-suggestions button span{
  font-size:13px;
  font-weight:850;
}
.cfm360-origin-suggestions button small{
  margin:0;
  color:#7b8f98;
  font-size:10px;
  white-space:nowrap;
}
@media(max-width:600px){
  .cfm360-origin-suggestions{
    max-height:220px;
  }
}


/* 3.2.15 – Lazy geladene Original-Popups dürfen nicht hinter dem Mobile-Menü/
   Sticky-Elementen gefangen werden. */
body .cfm360-native-event-host,
body .cfm360-native-activity-host,
body .cfm360-native-destination-host{
  z-index:2147482900!important;
}
body .cfm360-native-event-host .cfv-modal,
body .cfm360-native-activity-host .cf-act-modal,
body .cfm360-native-destination-host .cf-modal,
body .cfm360 .cfm360-detail-modal{
  z-index:2147483000!important;
}


/* 3.2.16 – echte GetYourGuide-Aktivitäten statt allgemeiner Partner-Box */
.cfm360-gyg-widget-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border-color:rgba(8,127,168,.18);
  background:#fff;
}
.cfm360-gyg-widget-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:41px;
  padding:9px 12px;
  border-bottom:1px solid #e2eef1;
  background:linear-gradient(120deg,#eef9fb,#fff);
}
.cfm360-gyg-widget-head span{
  color:var(--m360-blue);
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.09em;
}
.cfm360-gyg-widget-head em{
  color:#7d929a;
  font-size:9.5px;
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
}
.cfm360-gyg-widget-shell{
  position:relative;
  flex:1 1 auto;
  min-height:300px;
  overflow:hidden;
  background:#f6fbfc;
}
.cfm360-gyg-auto,
.cfm360-gyg-auto iframe{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.cfm360-gyg-auto iframe{
  min-height:300px!important;
  border:0!important;
}
.cfm360-gyg-auto>span{
  display:block;
  padding:14px;
  color:#6f8790;
  font-size:11px;
}
.cfm360-gyg-widget-context{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  padding:10px 12px 12px;
  border-top:1px solid #edf3f5;
  background:#fff;
}
.cfm360-gyg-widget-context span{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#edf7fa;
  color:#397084;
  font-size:10.5px;
  font-weight:800;
}
@media(max-width:600px){
  .cfm360-gyg-widget-shell,
  .cfm360-gyg-auto iframe{
    min-height:285px!important;
  }
}


/* 3.2.17 – konkrete GetYourGuide-Produkte, inklusive Merkliste/Tagesplanung */
.cfm360-card[data-key^="gyg:"],
.cfm360-gyg-product-slot{
  border-color:rgba(8,127,168,.20);
}
.cfm360-card[data-key^="gyg:"] .cfm360-card-top em,
.cfm360-gyg-product-slot .cfm360-card-top em{
  color:#7d929a;
  font-size:9.5px;
  font-style:normal;
  font-weight:800;
}
.cfm360-card[data-key^="gyg:"] .cfm360-card-top>span{
  letter-spacing:.055em;
}
.cfm360-gyg-product-link{
  text-decoration:none!important;
}
.cfm360-gyg-loading-visual{
  display:grid;
  place-items:center;
  aspect-ratio:16/8;
  background:linear-gradient(135deg,#087fa8,#10abc5);
}
.cfm360-gyg-loading-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.10);
}
.cfm360-gyg-loading-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-gyg-loading-line{
  height:9px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#eaf3f5,#f6fafb,#eaf3f5);
  background-size:180% 100%;
  animation:cfm360GygPulse 1.25s linear infinite;
}
.cfm360-gyg-loading-line.is-title{height:16px;width:88%;margin-top:13px}
.cfm360-gyg-loading-line.is-short{width:58%}
@keyframes cfm360GygPulse{
  0%{background-position:180% 0}
  100%{background-position:-80% 0}
}


/* 3.2.18 – Datumsfelder: kompakte Einzelspalte statt überstehender nativer Picker.
   Einige mobile Browser behalten für input[type=date] eine große intrinsische
   Mindestbreite; darum auf kleinen Bildschirmen immer die volle Kartenbreite. */
.cfm360 .cfm360-date-grid,
.cfm360 .cfm360-date-grid > label,
.cfm360 .cfm360-date-grid input[type="date"]{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
.cfm360 .cfm360-date-grid > label{
  width:100%!important;
  overflow:visible;
}
.cfm360 .cfm360-date-grid input[type="date"]{
  display:block!important;
  position:relative;
  inline-size:100%!important;
  width:100%!important;
  margin:0!important;
  padding-inline:10px!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-variant-numeric:tabular-nums;
}
@media(max-width:767px){
  .cfm360 .cfm360-step{
    min-width:0!important;
    max-width:100%!important;
  }
  .cfm360 .cfm360-date-grid{
    display:grid!important;
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .cfm360 .cfm360-date-grid > label{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
  }
}
/* Ausstehenden GetYourGuide-Slots dürfen niemals wie ein allgemeines Angebot wirken. */
.cfm360-gyg-pending,
.cfm360-gyg-pending[hidden]{display:none!important;}


/* 3.2.19 – Nur „Was machen wir heute?“: lokaler Auswahlzustand */
.cfm360 .cfm360-day-idea .cfm360-idea-options{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
.cfm360 .cfm360-day-idea .cfm360-idea-options button{
  min-width:0;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
}
.cfm360 .cfm360-day-idea .cfm360-idea-options button.is-active,
.cfm360 .cfm360-day-idea .cfm360-idea-options button[aria-pressed="true"]{
  border-color:var(--m360-blue);
  background:var(--m360-blue);
  color:#fff;
}
@media(max-width:600px){
  .cfm360 .cfm360-day-idea .cfm360-idea-options{gap:6px}
  .cfm360 .cfm360-day-idea .cfm360-idea-options button{
    padding:8px 11px;
    min-height:38px;
    font-size:11px;
  }
}


/* 3.2.20 – Heute-Filter nur im Heute-Reiter, ausfahrbar direkt vor den Treffern. */
.cfm360-today-controls{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:grid-template-rows .32s ease,opacity .25s ease,visibility .32s;
}
.cfm360-today-controls.is-visible{
  grid-template-rows:1fr;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.cfm360-today-controls-clip{min-height:0;overflow:hidden}
.cfm360-today-controls-card{
  margin:0;
  border:1px solid #dcecef;
  border-top:0;
  border-radius:0 0 18px 18px;
  background:linear-gradient(160deg,#f1fafc 0%,#fff 100%);
}
.cfm360-today-controls-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:66px;
  padding:12px 17px;
  border:0;
  background:transparent;
  color:var(--m360-navy);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.cfm360-today-controls-toggle:focus-visible{
  outline:3px solid var(--m360-cyan);
  outline-offset:-4px;
  border-radius:14px;
}
.cfm360-today-controls-icon{
  flex:0 0 38px;
  display:grid;
  place-items:center;
  height:38px;
  border-radius:50%;
  background:var(--m360-blue);
  color:#fff;
}
.cfm360-today-controls-icon svg,
.cfm360-today-controls-chevron svg{
  display:block;
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360-today-controls-label{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}
.cfm360-today-controls-label strong{font-size:14px;font-weight:900;color:var(--m360-navy)}
.cfm360-today-controls-label small{font-size:11px;line-height:1.25;color:#65808d}
.cfm360-today-controls-chevron{
  flex:0 0 28px;
  display:grid;
  place-items:center;
  width:28px;height:28px;
  border-radius:50%;background:#e2f1f5;color:var(--m360-blue);
  transition:transform .25s ease;
}
.cfm360-today-controls-toggle[aria-expanded="true"] .cfm360-today-controls-chevron{transform:rotate(180deg)}
.cfm360-today-controls-panel{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .32s ease,opacity .2s ease;
}
.cfm360-today-controls-panel.is-open{grid-template-rows:1fr;opacity:1}
.cfm360-today-controls-inner{min-height:0;overflow:hidden;padding:0 15px}
.cfm360-today-controls-panel.is-open .cfm360-today-controls-inner{padding-bottom:15px}
.cfm360-today-controls .cfm360-quick{
  margin:0;
  padding:12px 0 14px;
  border:0;
  border-top:1px solid #dcecef;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.cfm360-today-controls .cfm360-quick>strong{font-size:13px}
.cfm360-today-controls .cfm360-quick button{min-height:34px;font-size:11px;padding:6px 11px}
.cfm360-today-controls .cfm360-distance-filter{
  margin:0;
  padding:11px 0;
  border:0;
  border-top:1px solid #dcecef;
  border-radius:0;
  background:transparent;
}
.cfm360-today-controls-hint{margin:10px 0 5px;color:#6b8490;font-size:11px;line-height:1.45}
.cfm360-today-controls-reset{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:8px 13px;
  border:1px solid #cde3ea;
  border-radius:999px;
  background:#fff;
  color:var(--m360-blue);
  font:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.cfm360 .cfm360-today-controls-reset:hover,
.cfm360 .cfm360-today-controls-reset:focus-visible{
  background:var(--m360-blue);
  border-color:var(--m360-blue);
  color:#fff;
}
.cfm360-today-controls + .cfm360-pane.is-active{border-top:0}
@media(max-width:600px){
  .cfm360-today-controls-toggle{min-height:60px;padding:11px 12px;gap:8px}
  .cfm360-today-controls-icon{flex-basis:34px;height:34px}
  .cfm360-today-controls-label strong{font-size:13px}
  .cfm360-today-controls-inner{padding-left:11px;padding-right:11px}
  .cfm360-today-controls .cfm360-quick>div{gap:6px}
  .cfm360-today-controls .cfm360-quick button{min-height:32px;padding:6px 10px}
  .cfm360-today-controls .cfm360-distance-filter{gap:10px}
  .cfm360-today-controls .cfm360-distance-buttons{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .cfm360-today-controls,.cfm360-today-controls-panel,.cfm360-today-controls-chevron{transition:none!important}
}


/* 3.2.21 – Header "Heute anpassen": kein Hover-Effekt; Bedienbarkeit bleibt. */
.cfm360 .cfm360-today-controls .cfm360-today-controls-toggle:hover{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  color:var(--m360-navy)!important;
  opacity:1!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}
.cfm360 .cfm360-today-controls .cfm360-today-controls-toggle:hover .cfm360-today-controls-icon{
  background:var(--m360-blue)!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}
.cfm360 .cfm360-today-controls .cfm360-today-controls-toggle:hover .cfm360-today-controls-label strong{
  color:var(--m360-navy)!important;
}
.cfm360 .cfm360-today-controls .cfm360-today-controls-toggle:hover .cfm360-today-controls-label small{
  color:#65808d!important;
}
.cfm360 .cfm360-today-controls .cfm360-today-controls-toggle:hover .cfm360-today-controls-chevron{
  background:#e2f1f5!important;
  color:var(--m360-blue)!important;
}


/* 3.2.23 – dezenter Provisionshinweis bei buchbaren GetYourGuide-Einzelkarten */
.cfm360-card[data-key^="gyg:"] .cfm360-gyg-commission{
  display:block;
  margin:8px 0 0;
  color:#708894;
  font-size:10.5px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
}


/* 3.2.24 – einheitlicher blauer Aktionsfuß in ALLEN Mein-360-Kacheln.
   Der Fuß ist ein eigenes Flex-Element und bleibt auch bei unterschiedlich
   langen Titeln/Beschreibungen am Kartenboden. */
.cfm360 .cfm360-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  min-width:0;
}
.cfm360 .cfm360-card>.cfm360-card-body{
  flex:1 1 auto;
  min-width:0;
  padding-bottom:18px;
}
.cfm360 .cfm360-card>.cfm360-card-action{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  min-height:94px;
  margin-top:auto;
  padding:13px 17px 14px;
  border-radius:0 0 22px 22px;
  background:linear-gradient(115deg,#087fa8 0%,#079ab7 100%);
  color:#fff;
}
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-link,
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-detail{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-width:0;
  min-height:36px;
  margin:0;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  color:#fff!important;
  font:inherit;
  font-size:13px;
  font-weight:900;
  line-height:1.3;
  text-align:left;
  text-decoration:none!important;
  cursor:pointer;
}
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-link span{
  min-width:0;
}
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-link b{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  color:#fff;
  font-size:21px;
  font-weight:500;
  line-height:1;
  background:transparent;
  transition:background .15s ease,color .15s ease;
}
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-link:hover b,
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-link:focus-visible b{
  background:#fff;
  color:#087fa8;
}
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-card-link:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
  border-radius:4px;
}
.cfm360 .cfm360-card>.cfm360-card-action .cfm360-gyg-commission{
  display:block;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:10px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
}
@media(max-width:600px){
  .cfm360 .cfm360-card>.cfm360-card-action{
    padding:12px 15px 13px;
    min-height:94px;
    border-radius:0 0 21px 21px;
  }
}


/* 3.2.27 – Restaurant-Fotos vollständig sichtbar, optional mit Galerie. */
.cfm360-detail-dialog.is-restaurant .cfm360-detail-hero{
  display:flex!important;
  flex-direction:column;
  align-self:start;
  min-width:0;
  min-height:0!important;
  height:auto!important;
  padding:12px;
  background:#eef5f7!important;
  background-image:none!important;
}
.cfm360-restaurant-image-main{
  display:grid;
  place-items:center;
  width:100%;
  min-height:270px;
  height:min(380px,44vh);
  overflow:hidden;
  border-radius:16px;
  background:#fff;
}
.cfm360-restaurant-image-main img{
  display:block;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center;
}
.cfm360-restaurant-thumbnails{
  display:flex;
  gap:8px;
  max-width:100%;
  margin-top:11px;
  padding:2px 0 7px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
.cfm360-restaurant-thumbnail{
  flex:0 0 81px;
  width:81px;height:67px;
  overflow:hidden;
  padding:3px;
  border:2px solid transparent;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}
.cfm360-restaurant-thumbnail.is-active,
.cfm360-restaurant-thumbnail:focus-visible{
  border-color:var(--m360-blue);
  outline:none;
  box-shadow:0 0 0 2px rgba(8,127,168,.12);
}
.cfm360-restaurant-thumbnail img{
  display:block;
  width:100%;height:100%;
  object-fit:contain;
  border-radius:6px;
}
.cfm360 .cfm360-wallet-open{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:45px;
  padding:10px 17px;
  margin-top:10px;
  border:0;
  border-radius:13px;
  background:var(--m360-blue);
  color:#fff!important;
  font:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.cfm360 .cfm360-wallet-open:hover,
.cfm360 .cfm360-wallet-open:focus-visible{background:#056a8b;color:#fff!important}
.cfm360 .cfm360-wallet-open:disabled{opacity:.65;cursor:wait}
.cfm360 .cfm360-wallet-open span{font-size:21px;line-height:1}
.cfm360-wallet-box [data-restaurant-wallet-feedback]{color:#a2352d}
html body>.cfr-wallet-modal[data-cfr-wallet-modal]{z-index:2147483200!important}
@media(max-width:600px){
  .cfm360-detail-dialog.is-restaurant .cfm360-detail-hero{padding:10px}
  .cfm360-restaurant-image-main{min-height:195px;height:min(260px,33vh)}
  .cfm360-restaurant-thumbnail{flex-basis:70px;width:70px;height:60px}
}


/* 3.2.29 – Privatsphäre-Hinweis: nach Nutzung dezent einklappen, per Klick wieder aufklappbar. */
.cfm360 .cfm360-privacy-note{
  display:block;
  padding:12px 14px;
}
.cfm360 .cfm360-privacy-toggle{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:30px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  color:var(--m360-navy);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.cfm360 .cfm360-privacy-toggle strong{
  flex:1 1 auto;
  min-width:0;
  font-size:14px;
  line-height:1.4;
}
.cfm360 .cfm360-privacy-toggle .cfm360-privacy-note-icon{
  flex:0 0 30px;
}
.cfm360 .cfm360-privacy-chevron{
  flex:0 0 18px;
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--m360-blue);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .24s ease;
}
.cfm360 .cfm360-privacy-note.is-collapsed .cfm360-privacy-chevron{
  transform:rotate(-90deg);
}
.cfm360 .cfm360-privacy-content{
  display:grid;
  grid-template-rows:1fr;
  opacity:1;
  margin-left:41px;
  transition:grid-template-rows .3s ease, opacity .22s ease;
}
.cfm360 .cfm360-privacy-content-inner{
  min-height:0;
  overflow:hidden;
}
.cfm360 .cfm360-privacy-content-inner span{
  display:block;
  padding-top:5px;
}
.cfm360 .cfm360-privacy-note.is-collapsed .cfm360-privacy-content{
  grid-template-rows:0fr;
  opacity:0;
}
.cfm360 .cfm360-privacy-toggle:focus-visible{
  outline:2px solid var(--m360-blue);
  outline-offset:4px;
  border-radius:7px;
}
@media(max-width:600px){
  .cfm360 .cfm360-privacy-note{padding:12px}
  .cfm360 .cfm360-privacy-toggle{gap:9px}
  .cfm360 .cfm360-privacy-toggle strong{font-size:13px}
  .cfm360 .cfm360-privacy-content{margin-left:39px}
}
@media(prefers-reduced-motion:reduce){
  .cfm360 .cfm360-privacy-chevron,
  .cfm360 .cfm360-privacy-content{transition:none}
}

/* 3.2.30 – Nur der obere Mein-360-Bereich, nach Mockup; alle Trefferkarten bleiben unverändert.
   Es wird die Schrift des WordPress-Themes geerbt; keinerlei Webfonts. */
.cfm360.cfm360-redesign{position:relative;isolation:isolate;background:transparent}
.cfm360.cfm360-redesign:before{
  /* Hintergrund volle Viewportbreite – Inhalt/Ergebniskarten bleiben zentriert. */
  content:"";position:absolute;z-index:-1;left:50%;right:auto;top:0;
  width:100vw;max-width:none;height:730px;transform:translateX(-50%);
  background-image:linear-gradient(180deg,rgba(245,251,255,.48) 0%,rgba(236,250,254,.18) 42%,rgba(255,255,255,.38) 76%,#fff 100%),var(--cfm360-hero-bg,linear-gradient(135deg,#d8eff7,#f1f9fb 55%,#e2f3f5));
  background-position:center,center 46%;background-size:cover;background-repeat:no-repeat;
  pointer-events:none
}
.cfm360.cfm360-redesign .cfm360-shell{position:relative;z-index:1;max-width:1200px;padding-top:22px}
.cfm360.cfm360-redesign .cfm360-head{
  text-align:left;overflow:visible;padding:18px 15px 10px;
  border:0;border-radius:0;background:none;box-shadow:none
}
.cfm360.cfm360-redesign .cfm360-head:after{display:none}
.cfm360.cfm360-redesign .cfm360-head .cfm360-kicker{color:var(--m360-blue);letter-spacing:.14em}
.cfm360.cfm360-redesign .cfm360-head h1{margin:8px 0 8px;font:inherit;font-weight:800;font-size:clamp(31px,4.1vw,49px);line-height:1.12;letter-spacing:-.025em;color:var(--m360-navy)}
.cfm360.cfm360-redesign .cfm360-head>p{margin:0;color:#426b83;font-size:clamp(16px,2vw,21px);line-height:1.4}
.cfm360.cfm360-redesign .cfm360-privacy-note{
  max-width:none;margin:18px 0 0;padding:11px 16px;border:1px solid rgba(147,197,216,.55);
  background:rgba(255,255,255,.94);border-radius:16px;
  box-shadow:0 8px 25px rgba(6,48,83,.06);backdrop-filter:blur(9px)
}
.cfm360.cfm360-redesign .cfm360-dashboard{margin-top:4px}
.cfm360.cfm360-redesign .cfm360-summary{
  display:grid;grid-template-columns:minmax(0,1.85fr) minmax(275px,1fr);
  align-items:stretch;gap:11px;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none
}
.cfm360.cfm360-redesign .cfm360-summary-intro,
.cfm360.cfm360-redesign .cfm360-weather-card{
  min-width:0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.9);
  box-shadow:0 13px 28px rgba(10,56,85,.14)
}
.cfm360.cfm360-redesign .cfm360-summary-intro{
  display:flex;flex-direction:column;justify-content:center;min-height:265px;padding:26px 24px 20px;
  background-image:linear-gradient(95deg,rgba(5,57,88,.87) 0%,rgba(4,87,125,.64) 48%,rgba(5,75,103,.25) 100%),var(--cfm360-card-bg,var(--cfm360-hero-bg,linear-gradient(110deg,#064e70,#087fa8)));
  background-color:var(--m360-blue);background-position:center;background-size:cover
}
.cfm360.cfm360-redesign .cfm360-summary-intro .cfm360-kicker{color:#e4faff;letter-spacing:.17em;font-size:11px}
.cfm360.cfm360-redesign .cfm360-summary-intro h2{color:#fff;font:inherit;font-weight:800;font-size:clamp(27px,3.2vw,39px);line-height:1.12;margin:9px 0 14px;text-wrap:balance}
.cfm360.cfm360-redesign .cfm360-summary-intro p{margin:12px 0 0!important}
.cfm360.cfm360-redesign .cfm360-summary-chips{gap:9px}
.cfm360.cfm360-redesign .cfm360-summary-chip{
  display:inline-flex;align-items:center;gap:7px;padding:7px 12px;
  border-radius:10px;background:rgba(255,255,255,.96);
  color:#174e6b;font-size:12px;box-shadow:0 3px 12px rgba(0,37,67,.12)
}
.cfm360.cfm360-redesign .cfm360-summary-icon{
  flex:0 0 22px;width:22px;height:22px;background:none;box-shadow:none;color:var(--m360-blue)
}
.cfm360.cfm360-redesign .cfm360-summary-icon svg{width:20px;height:20px}
.cfm360.cfm360-redesign .cfm360-weather-card{
  display:flex;flex-direction:column;justify-content:space-between;gap:10px;
  padding:21px 19px 16px;background:rgba(255,255,255,.95);
  color:var(--m360-navy);backdrop-filter:blur(10px)
}
.cfm360.cfm360-redesign .cfm360-weather-place{display:flex;align-items:center;gap:6px;font-size:16px;color:var(--m360-navy)}
.cfm360.cfm360-redesign .cfm360-weather-place svg{width:17px;height:17px;stroke:var(--m360-blue);stroke-width:2;fill:none;flex-shrink:0}
.cfm360.cfm360-redesign .cfm360-weather-main{display:flex;align-items:center;gap:15px;min-height:70px}
.cfm360.cfm360-redesign .cfm360-weather-icon{display:grid;place-items:center;width:76px;height:76px;color:#eead20;flex-shrink:0}
.cfm360.cfm360-redesign .cfm360-weather-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cfm360.cfm360-redesign .cfm360-weather-temp{display:block;color:var(--m360-navy);font-size:clamp(29px,3.2vw,43px);font-weight:800;line-height:1.07}
.cfm360.cfm360-redesign .cfm360-weather-description{display:block;color:#668293;font-size:12px;margin-top:4px}
.cfm360.cfm360-redesign .cfm360-weather-details{color:#507188;font-size:11.5px;line-height:1.55}
.cfm360.cfm360-redesign .cfm360-weather-caption{padding-top:10px;border-top:1px solid #dbeaf0;color:#7c94a0;font-size:11px}
.cfm360.cfm360-redesign .cfm360-weather-edit{
  display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;
  border:1px solid var(--m360-blue);border-radius:999px;background:#fff;
  color:var(--m360-blue);font:inherit;font-size:13px;font-weight:800;cursor:pointer;
  transition:background .2s,color .2s
}
.cfm360.cfm360-redesign .cfm360-weather-edit:hover,
.cfm360.cfm360-redesign .cfm360-weather-edit:focus-visible{background:var(--m360-blue);color:#fff}
/* Kompakte, durchgehende Navigation statt separater hoher Kästen. */
.cfm360.cfm360-redesign .cfm360-tabs-content{
  position:relative;isolation:isolate;overflow:hidden;display:grid;gap:3px;margin:17px 0 0;padding:6px;
  border:1px solid #d8e8ef;border-radius:20px;
  background:linear-gradient(180deg,rgba(251,254,255,.96) 0%,rgba(244,250,252,.95) 100%);
  box-shadow:0 10px 20px rgba(9,61,86,.09)
}
.cfm360.cfm360-redesign .cfm360-tabs-content button{
  min-width:0;min-height:54px;border-radius:14px;background:transparent;
  color:var(--m360-navy);font:inherit;font-size:13px;font-weight:800
}
.cfm360.cfm360-redesign .cfm360-tabs-content button.is-active{
  background:linear-gradient(115deg,var(--m360-cyan),var(--m360-blue));color:#fff;
  box-shadow:0 6px 15px rgba(8,127,168,.18)
}
.cfm360.cfm360-redesign .cfm360-tabs-content button:not(.is-active):hover{background:#e9f4f8}
.cfm360.cfm360-redesign .cfm360-tabs-content::after{content:'';position:absolute;inset:auto 0 0 0;height:1px;background:rgba(214,231,237,.9);pointer-events:none}
/* Der vorhandene Heute-Filter ist optisch die große weiße Fläche des Mockups;
   seine Logik und die darunterliegenden Kacheln bleiben 1:1 erhalten. */
.cfm360.cfm360-redesign .cfm360-today-controls-card{
  margin-top:12px;border:1px solid #e1ecf0;border-radius:21px;
  background:#fff;box-shadow:0 12px 30px rgba(5,61,93,.08)
}
.cfm360.cfm360-redesign .cfm360-today-controls-toggle{min-height:84px;padding:16px 22px;gap:17px}
.cfm360.cfm360-redesign .cfm360-today-controls-icon{
  width:50px;height:50px;flex-basis:50px;background:linear-gradient(150deg,var(--m360-cyan),var(--m360-blue));
  box-shadow:0 5px 14px rgba(8,127,168,.15)
}
.cfm360.cfm360-redesign .cfm360-today-controls-label strong{font-size:17px;text-transform:uppercase;letter-spacing:.02em}
.cfm360.cfm360-redesign .cfm360-today-controls-label small{font-size:12px;margin-top:3px}
.cfm360.cfm360-redesign .cfm360-today-controls-chevron{background:#f3f8fa}
.cfm360.cfm360-redesign .cfm360-today-controls-inner{padding-left:22px;padding-right:22px}
.cfm360.cfm360-redesign .cfm360-today-controls-panel.is-open .cfm360-today-controls-inner{padding-bottom:20px}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick{padding:16px 0 19px}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick>strong,
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-filter strong{font-size:16px;color:var(--m360-navy)}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick>div{gap:9px;margin-top:11px}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button{
  padding:9px 17px;min-height:40px;border:1px solid #d9e7ed;
  background:#fff;color:var(--m360-navy);font-size:12px;
  box-shadow:0 3px 10px rgba(6,59,80,.045)
}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button.is-active,
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button:hover{
  background:var(--m360-blue);border-color:var(--m360-blue);color:#fff
}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-filter{padding:16px 0;gap:15px}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons{gap:0;overflow:hidden;border:1px solid #dce9ee;border-radius:999px}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons button{
  min-height:40px;padding:8px 18px;border:0;border-right:1px solid #dce9ee;
  border-radius:0;background:#fff;color:var(--m360-navy);font-size:12px
}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons button:last-child{border-right:0}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons button.is-active,
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons button:hover{background:var(--m360-blue);color:#fff}
.cfm360.cfm360-redesign .cfm360-today-controls-reset{padding:10px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.cfm360.cfm360-redesign .cfm360-today-controls + .cfm360-pane.is-active{border-top:1px solid #dfeaf0;margin-top:15px;border-radius:20px}
@media(max-width:800px){
  .cfm360.cfm360-redesign .cfm360-summary{grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr)}
  .cfm360.cfm360-redesign .cfm360-summary-intro{padding:22px 17px;min-height:250px}
  .cfm360.cfm360-redesign .cfm360-summary-chip{font-size:11px;padding:6px 9px}
  .cfm360.cfm360-redesign .cfm360-weather-card{padding:16px 14px}
  .cfm360.cfm360-redesign .cfm360-weather-icon{width:57px;height:57px}
  .cfm360.cfm360-redesign .cfm360-weather-temp{font-size:31px}
}
@media(max-width:650px){
  .cfm360.cfm360-redesign:before{height:740px}
  .cfm360.cfm360-redesign .cfm360-shell{padding:10px 10px 35px}
  .cfm360.cfm360-redesign .cfm360-head{padding:15px 4px 10px}
  .cfm360.cfm360-redesign .cfm360-head h1{font-size:clamp(28px,7.5vw,38px);overflow-wrap:anywhere}
  .cfm360.cfm360-redesign .cfm360-head>p{font-size:15px}
  .cfm360.cfm360-redesign .cfm360-privacy-note{padding:10px}
  .cfm360.cfm360-redesign .cfm360-summary{grid-template-columns:1fr;gap:10px}
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:210px;padding:24px 16px}
  .cfm360.cfm360-redesign .cfm360-summary-intro h2{font-size:clamp(26px,6.5vw,34px)}
  .cfm360.cfm360-redesign .cfm360-weather-card{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:14px 15px}
  .cfm360.cfm360-redesign .cfm360-weather-place{grid-column:1/3;font-size:14px}
  .cfm360.cfm360-redesign .cfm360-weather-main{gap:7px;min-height:52px}
  .cfm360.cfm360-redesign .cfm360-weather-icon{width:46px;height:46px}
  .cfm360.cfm360-redesign .cfm360-weather-temp{font-size:26px}
  .cfm360.cfm360-redesign .cfm360-weather-details{grid-column:1/3;font-size:11px}
  .cfm360.cfm360-redesign .cfm360-weather-caption{grid-column:1/3;padding:6px 0 0}
  .cfm360.cfm360-redesign .cfm360-weather-edit{grid-column:2;grid-row:2;min-width:123px;padding:0 12px;min-height:37px;font-size:12px}
  .cfm360.cfm360-redesign .cfm360-tabs-content button{min-height:43px;font-size:11px}
  .cfm360.cfm360-redesign .cfm360-today-controls-toggle{min-height:66px;padding:11px}
  .cfm360.cfm360-redesign .cfm360-today-controls-icon{width:38px;height:38px;flex-basis:38px}
  .cfm360.cfm360-redesign .cfm360-today-controls-label strong{font-size:14px}
  .cfm360.cfm360-redesign .cfm360-today-controls-inner{padding:0 11px}
  .cfm360.cfm360-redesign .cfm360-today-controls-panel.is-open .cfm360-today-controls-inner{padding-bottom:12px}
  .cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button{padding:7px 10px;min-height:36px;font-size:11px}
  .cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-filter{flex-direction:column;align-items:flex-start}
  .cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons{flex-wrap:wrap;border:0;overflow:visible;gap:5px}
  .cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons button{border:1px solid #dce9ee;border-radius:999px;padding:7px 12px;min-height:35px}
}
@media(prefers-reduced-motion:reduce){.cfm360.cfm360-redesign .cfm360-weather-edit{transition:none}}

.cfm360.cfm360-redesign .cfm360-weather-caption a{color:var(--m360-blue)!important;text-decoration:underline;text-underline-offset:2px;font-size:11px}
.cfm360.cfm360-redesign .cfm360-weather-card.is-unavailable .cfm360-weather-icon{opacity:.45}

/* SVGs passend zum bestehenden blauen Icon-Stil; kein neues Icon-Font. */
.cfm360.cfm360-redesign .cfm360-tabs-content button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.cfm360.cfm360-redesign .cfm360-tabs-content button svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:650px){.cfm360.cfm360-redesign .cfm360-tabs-content button svg{display:none}.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-quick button svg{width:15px;height:15px;flex-basis:15px}}

/* 3.2.32 – Echter Viewport-Ladebildschirm, ohne den fast weißen Alt-Hintergrund.
   Direkt am <body> statt im isolierten 360°-Dashboard: liegt über Header, Logos
   und anderen Plugin-Ebenen und deckt auch rechts/links/unten jeden Pixel ab. */
body > .cfm360-loader-portal{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  z-index:2147483640!important;
  pointer-events:none;
  isolation:isolate;
}
body > .cfm360-loader-portal .cfm360-loading{
  position:absolute!important;
  inset:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:24px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:1!important;
  pointer-events:auto;
}
body > .cfm360-loader-portal .cfm360-loading[hidden]{display:none!important;pointer-events:none!important}
body > .cfm360-loader-portal .cfm360-loading.is-closing{pointer-events:none!important}
body > .cfm360-loader-portal .cfm360-loading-backdrop{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  background:rgba(7,22,32,.57)!important;
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}
@media(max-width:700px){
  body > .cfm360-loader-portal .cfm360-loading{padding:18px!important}
}

/* 3.2.33 – Eigenes, dezentes Foto nur innerhalb der blauen Begrüßungskarte.
   Keine Änderung an Empfehlungs-, Rabatt- oder GetYourGuide-Karten. */
.cfm360.cfm360-redesign.cfm360-hero-mode-card:before{
  /* Das obere Seitenmotiv ist in dieser Variante ein neutraler Verlauf ohne Foto. */
  background-image:linear-gradient(180deg,#f0faff 0%,#f5fcff 47%,rgba(255,255,255,.92) 77%,#fff 100%);
}
.cfm360.cfm360-redesign.cfm360-hero-mode-card .cfm360-summary-intro{
  /* Der kräftige Blauverlauf hält den weißen Text lesbar und das Foto dezent. */
  background-image:linear-gradient(98deg,rgba(4,56,93,.91) 0%,rgba(4,91,131,.83) 52%,rgba(5,108,146,.68) 100%),var(--cfm360-card-bg,linear-gradient(110deg,#064e70,#087fa8));
  background-color:#087fa8;
  background-position:center;
  background-size:cover;
}
/* Eine lange Ortsbezeichnung darf die Abstandsknöpfe nicht aus dem Raster drücken. */
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-filter{
  display:flex;flex-direction:column;align-items:stretch;gap:11px;min-width:0;
}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-filter>div:first-child{
  display:flex;flex-direction:column;min-width:0;width:100%;gap:4px;
}
.cfm360.cfm360-redesign .cfm360-today-controls [data-distance-note]{
  display:block;max-width:100%;overflow-wrap:anywhere;line-height:1.5;
}
.cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons{
  display:flex;flex-wrap:wrap;align-self:flex-start;min-width:0;max-width:100%;
}
@media(max-width:650px){
  .cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons{
    width:100%;gap:7px;border:0;border-radius:0;overflow:visible;
  }
  .cfm360.cfm360-redesign .cfm360-today-controls .cfm360-distance-buttons button{
    flex:1 1 calc(50% - 7px);min-width:105px;border:1px solid #dce9ee;border-radius:999px;
  }
}

/* 3.2.34 – Unterkunftsfrage & vorhandene [cf_fewo]-Karten in Mein 360° */
.cfm360 .cfm360-step-accommodation{padding-bottom:26px}
.cfm360 .cfm360-accommodation-question-copy{color:#55768a;max-width:730px;margin:-6px 0 22px;line-height:1.65}
.cfm360 .cfm360-accommodation-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cfm360 .cfm360-accommodation-choices>button{border:1px solid #d3e6ed;border-radius:18px;padding:18px;min-height:107px;display:flex;align-items:center;gap:14px;text-align:left;white-space:normal;background:#f9fcfe;color:var(--m360-navy);transition:border-color .2s,background .2s,color .2s}
.cfm360 .cfm360-accommodation-choices>button.is-selected{background:linear-gradient(115deg,var(--m360-blue),var(--m360-cyan));color:#fff;border-color:var(--m360-blue)}
.cfm360 .cfm360-accommodation-choices>button:hover{background:var(--m360-blue);border-color:var(--m360-blue);color:#fff}
.cfm360 .cfm360-accommodation-choice-icon{width:46px;height:46px;flex:none;border-radius:13px;display:grid;place-items:center;background:#e9f5fa;color:var(--m360-blue)}
.cfm360 .cfm360-accommodation-choices>button:is(:hover,.is-selected) .cfm360-accommodation-choice-icon{background:rgba(255,255,255,.20);color:#fff}
.cfm360 .cfm360-accommodation-choice-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cfm360 .cfm360-accommodation-choices>button>span:last-child{display:flex;flex-direction:column;gap:5px}
.cfm360 .cfm360-accommodation-choices strong{font-size:1rem;line-height:1.4}
.cfm360 .cfm360-accommodation-choices small{font-size:.85rem;font-weight:500;line-height:1.4;opacity:.86}
.cfm360 .cfm360-accommodation-privacy{margin:15px 0 0;color:#6b8390;font-size:.83rem;line-height:1.6}
.cfm360 .cfm360-accommodation[hidden]{display:none!important}
.cfm360 .cfm360-accommodation{margin-top:28px;border-top:1px solid #e0edf1;padding-top:26px}
.cfm360 .cfm360-accommodation-heading .cfm360-kicker{display:block;margin-bottom:8px}
.cfm360 .cfm360-accommodation-heading h3{margin:0 0 7px;color:var(--m360-navy);font-size:clamp(22px,2.5vw,29px);line-height:1.22;font-family:inherit}
.cfm360 .cfm360-accommodation-heading p{margin:0 0 18px;color:#637d8a;line-height:1.55}
.cfm360 .cfm360-accommodation-fewo .cf-home-fewo-standalone{max-width:none;margin:0;padding:0}
.cfm360 .cfm360-accommodation-fewo .cf-home-section-fewo{box-shadow:none;clip-path:none;background:transparent;padding:0}
.cfm360 .cfm360-accommodation-fewo .cf-home-fewo-heading{display:none}
.cfm360 .cfm360-accommodation-fewo .cf-home-fewo-notice{margin-bottom:0}
@media(max-width:640px){
 .cfm360 .cfm360-accommodation-choices{grid-template-columns:1fr}
 .cfm360 .cfm360-accommodation-choices>button{min-height:85px;padding:13px}
 .cfm360 .cfm360-accommodation{margin-top:22px;padding-top:20px}
}


/* 3.2.35 – Reiseplanung als Bild (lokale Canvas-Vorschau). */
.cfm360 .cfm360-plan-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
.cfm360 .cfm360-export-open{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #087fa8;border-radius:999px;background:linear-gradient(110deg,#087fa8,#0a9ab5);color:#fff;font:inherit;font-weight:750;font-size:14px;cursor:pointer;transition:box-shadow .2s,filter .2s}
.cfm360 .cfm360-export-open:hover{filter:brightness(.94);box-shadow:0 6px 19px rgba(6,83,116,.17)}
.cfm360 .cfm360-export-open:disabled{opacity:.45;filter:none;cursor:not-allowed}
.cfm360 .cfm360-export-open svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.cfm360-export-open{overflow:hidden!important}
body>.cfm360-export-portal{position:fixed!important;inset:0!important;z-index:2147483600!important;display:flex;justify-content:center;align-items:center;padding:clamp(8px,2vw,24px);box-sizing:border-box;isolation:isolate;font-family:inherit}
body>.cfm360-export-portal[hidden]{display:none!important}
.cfm360-export-backdrop{position:absolute;inset:0;background:rgba(4,29,47,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.cfm360-export-dialog{position:relative;display:flex;flex-direction:column;gap:0;width:min(820px,100%);max-height:min(94dvh,1000px);border-radius:23px;background:#fff;color:#0a2d49;box-shadow:0 25px 95px rgba(0,24,43,.35);overflow:hidden;font-family:inherit}
.cfm360-export-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:22px 24px 17px;border-bottom:1px solid #dcebf1}
.cfm360-export-eyebrow{font-size:11px;letter-spacing:.14em;color:#0b8db0;font-weight:800}
.cfm360-export-head h2{font-family:inherit;font-size:clamp(19px,3vw,27px);line-height:1.25;color:#07334d;margin:4px 0 6px;font-weight:800}
.cfm360-export-head p{margin:0;color:#68818e;font-size:13px;line-height:1.5}
.cfm360-export-close{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;border:0;background:#eaf4f8;color:#075f83;font:inherit;font-size:27px;line-height:1;cursor:pointer}
.cfm360-export-close:hover{background:#087fa8;color:#fff}
.cfm360-export-toolbar{padding:13px 24px;display:flex;align-items:center;gap:14px;background:#f6fbfd}
.cfm360-export-toolbar label{font-size:13px;font-weight:750;white-space:nowrap}
.cfm360-export-toolbar select{flex:1;min-width:0;min-height:38px;padding:6px 11px;border:1px solid #bedbe7;border-radius:10px;background:#fff;color:#103c56;font:inherit;font-size:13px}
.cfm360-export-preview{background:#e4eff3;min-height:170px;overflow:auto;padding:20px;display:flex;align-items:flex-start;justify-content:center;flex:1}
.cfm360-export-preview canvas{display:block;width:100%;max-width:470px;height:auto;box-shadow:0 8px 23px rgba(21,74,100,.19);background:#fff}
.cfm360-export-page-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 24px;border-top:1px solid #e0ebef;color:#41677d;font-size:12px;font-weight:750}
.cfm360-export-page-nav[hidden]{display:none!important}
.cfm360-export-page-nav button{padding:6px 10px;border-radius:8px;border:1px solid #c5e0e9;background:#fff;color:#087fa8;font:inherit;cursor:pointer}
.cfm360-export-page-nav button:disabled{opacity:.35;cursor:default}
.cfm360-export-footer{padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e0ebef}
.cfm360-export-footer p{margin:0;color:#647f8e;font-size:12px;line-height:1.45;flex:1}
.cfm360-export-actions{display:flex;flex-wrap:wrap;gap:9px}
.cfm360-export-cancel,.cfm360-export-download{border:1px solid #cbdfe8;min-height:42px;padding:9px 16px;border-radius:999px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.cfm360-export-cancel{background:#fff;color:#24526c}
.cfm360-export-download{background:linear-gradient(105deg,#087fa8,#0e9bb9);color:#fff;border-color:#087fa8}
.cfm360-export-download:hover{background:#065e82}
.cfm360-export-download:disabled{opacity:.5;cursor:wait}
@media(max-width:650px){
 .cfm360 .cfm360-plan-actions{justify-content:flex-start;width:100%}
 .cfm360 .cfm360-plan-actions button{font-size:12px;padding:8px 11px;min-height:42px}
 body>.cfm360-export-portal{padding:7px}
 .cfm360-export-dialog{max-height:calc(100dvh - 14px);border-radius:16px}
 .cfm360-export-head{padding:14px 16px 12px}
 .cfm360-export-toolbar{padding:10px 16px;gap:8px}
 .cfm360-export-preview{padding:11px}
 .cfm360-export-footer{padding:12px 16px;flex-direction:column;align-items:stretch;gap:9px}
 .cfm360-export-actions{justify-content:stretch}
 .cfm360-export-actions button{flex:1;padding:9px 7px;font-size:12px}
 .cfm360-export-page-nav{padding:9px 16px}
}


/* 4.5.28 – Jeder Fragebogen-Schritt hat wieder seine natürliche Höhe.
   Nur der aktive Schritt nimmt Platz ein. So entstehen bei Schritt 1 und 2
   keine leeren Flächen durch längere, unsichtbare Folgeschritte. */
.cfm360 .cfm360-wizard:not([hidden]){
  display:block;
  min-height:0;
}
.cfm360 .cfm360-wizard>.cfm360-step{
  display:none;
  min-width:0;
}
.cfm360 .cfm360-wizard>.cfm360-step.is-active{
  display:block;
}

/* Export-Vorschau: derselbe blaue Kreis mit weißem SVG-X wie bei Popups.
   Der Export-Dialog hängt direkt am body, nicht unter .cfm360. */
body>.cfm360-export-portal .cfm360-export-close{
  display:grid!important;
  place-items:center!important;
  flex:none!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#087fa8!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(8,127,168,.28)!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
body>.cfm360-export-portal .cfm360-export-close svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
body>.cfm360-export-portal .cfm360-export-close:hover,
body>.cfm360-export-portal .cfm360-export-close:focus-visible{
  background:#066f94!important;
}
body>.cfm360-export-portal .cfm360-export-close:focus-visible{
  outline:3px solid #93def0!important;
  outline-offset:3px!important;
}
@media(max-width:600px){
  body>.cfm360-export-portal .cfm360-export-close{
    width:40px!important;height:40px!important;
    min-width:40px!important;min-height:40px!important;
  }
}


/* 3.2.38 – iOS/Safari: Native Datumseingaben können trotz width:100%
   ihre intrinsische Mindestbreite über den Rand der Fragekarte malen.
   Die äußerste Feldhülle ist die verbindliche sichtbare Feldgrenze. */
.cfm360 .cfm360-wizard .cfm360-date-grid,
.cfm360 .cfm360-wizard .cfm360-date-grid > label,
.cfm360 .cfm360-wizard .cfm360-date-field{
  box-sizing:border-box!important;
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
  max-inline-size:100%!important;
}
.cfm360 .cfm360-wizard .cfm360-date-field{
  display:block;
  width:100%;
  inline-size:100%;
}
.cfm360 .cfm360-wizard .cfm360-date-field > input[type="date"]{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  inline-size:100%!important;
  max-width:100%!important;
  max-inline-size:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  margin:0!important;
}
@media(max-width:767px){
  .cfm360 .cfm360-wizard .cfm360-step{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .cfm360 .cfm360-wizard .cfm360-date-grid{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .cfm360 .cfm360-wizard .cfm360-date-grid > label{
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cfm360 .cfm360-wizard .cfm360-date-field{
    /* Mobile Safari begrenzt native Date-Picker nicht immer zuverlässig.
       Clipping an der gerundeten Feldkontur verhindert jedes Überstehen. */
    overflow:hidden;
    border:1px solid #cfe3ea;
    border-radius:13px;
    background:#fff;
  }
  .cfm360 .cfm360-wizard .cfm360-date-field:focus-within{
    outline:2px solid #087fa8;
    outline-offset:2px;
  }
  .cfm360 .cfm360-wizard .cfm360-date-field > input[type="date"]{
    border:0!important;
    border-radius:0!important;
    min-height:46px!important;
    background:transparent!important;
    box-shadow:none!important;
    padding-inline:12px!important;
    font-size:16px!important;
  }
  .cfm360 .cfm360-wizard .cfm360-date-field > input[type="date"]:focus{
    outline:none!important;
  }
}

/* 3.2.39 – Mehrzeilige Merkliste-Aktionsbuttons mit kompakter Zeilenhöhe.
   Nur die beiden Aktionen im Reiter Merkliste betreffen, nicht die anderen Buttons. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-actions > button {
  line-height: 1.25 !important;
  letter-spacing: .012em !important;
  word-spacing: normal !important;
  white-space: normal !important;
  text-align: center;
  text-wrap: balance;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-actions > .cfm360-export-open svg {
  flex: 0 0 19px;
}
@media (max-width: 650px) {
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-actions > button {
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }
}

/* 3.2.41 – Mobil: einzeilige Interessen-Pills im 360°-Assistenten.
   Nur „Essen & Restaurants“ darf weiterhin auf zwei Zeilen umbrechen.
   Andere Buttons, inklusive Begleitung und Transport, bleiben unangetastet. */
@media (max-width: 600px) {
  .cfm360.cfm360-redesign .cfm360-wizard .cfm360-choice-grid-many {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cfm360.cfm360-redesign .cfm360-wizard .cfm360-choice-grid-many > button {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding-inline: 4px !important;
    font-size: clamp(10px, 2.95vw, 12px) !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: center;
  }
  .cfm360.cfm360-redesign .cfm360-wizard .cfm360-choice-grid-many > button[data-value="food"] {
    white-space: normal !important;
    font-size: clamp(11px, 3.2vw, 13px) !important;
  }
}


/* 3.2.42 – Interessen im Urlaubsassistenten mit optionaler Gesamtauswahl.
   Separat über dem Grid, damit alle bisherigen Kategorie-Pills unverändert bleiben. */
.cfm360 .cfm360-interests-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:-7px 0 13px;
}
.cfm360 .cfm360-interests-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:35px;
  padding:6px 15px;
  border:1px solid var(--m360-blue,#087fa8);
  border-radius:999px;
  background:#fff;
  color:var(--m360-blue,#087fa8);
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease;
}
.cfm360 .cfm360-interests-all:hover,
.cfm360 .cfm360-interests-all:focus-visible{
  background:var(--m360-blue,#087fa8);
  color:#fff;
}
.cfm360 .cfm360-interests-all:focus-visible{
  outline:2px solid var(--m360-navy,#0d2747);
  outline-offset:2px;
}
@media(max-width:600px){
  .cfm360 .cfm360-interests-toolbar{margin:-7px 0 12px}
  .cfm360 .cfm360-interests-all{min-height:35px;font-size:12px;padding:6px 13px}
}

/* Dezente Kennzeichnung aktiver Affiliate-Angebote, ohne Kartenlayout zu ändern. */
.cfm360-shell .cfm360-card.cfh-affiliate-featured .cfm360-card-image{position:relative}
.cfm360-shell .cfm360-card.cfh-affiliate-featured .cfm360-card-image::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;pointer-events:none;z-index:2;
  background:linear-gradient(90deg,rgba(171,140,83,.40),rgba(197,164,97,.80),rgba(171,140,83,.40));
}

/* 4.3.0 – Reise-Countdown und zeitgebundener Urlaubsplan */
.cfm360-trip-countdown:not([hidden]){display:inline-flex;padding:9px 15px;margin:9px 0;border-radius:999px;background:rgba(255,255,255,.17);color:#fff;font-weight:750;font-size:clamp(13px,1.3vw,17px)}
.cfm360-tabs [data-tab="today"].is-disabled{opacity:.36!important;cursor:not-allowed!important;filter:grayscale(.5)}
.cfm360-day-custom{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px 14px 18px;background:#f5fafc;border-radius:0 0 14px 14px;margin-bottom:6px}
.cfm360-day-custom label{font-size:12px;color:#0c3570;font-weight:700;display:flex;flex-direction:column;gap:5px;flex:1 1 150px}
.cfm360-day-custom input,.cfm360-day-custom select,.cfm360-day-custom textarea{min-height:37px;width:100%;max-width:100%;border:1px solid #c9e3eb;border-radius:9px;padding:6px 9px;background:#fff;color:#16435b;font:inherit}
.cfm360-custom-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px;background:#fff;border:1px solid #dcecef;border-radius:11px}
.cfm360-custom-entry span{display:flex;flex-direction:column;gap:4px;min-width:0}.cfm360-custom-entry b{font-size:13px;color:#0c3570}.cfm360-custom-entry small{font-size:12px;color:#547585;overflow-wrap:anywhere}
.cfm360-custom-entry button{flex:none;background:#fff!important;color:#9b3541!important;border:1px solid #dbacb4!important;border-radius:8px;padding:7px 10px;cursor:pointer}
.cfm360-custom-entry-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cfm360-custom-entry .cfm360-custom-edit-toggle{color:#0c5c7b!important;border-color:#bddbe6!important}.cfm360-custom-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9px;padding:12px;background:#f8fcfd;border:1px solid #dcecef;border-radius:11px}.cfm360-custom-edit label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#456979}.cfm360-custom-edit input,.cfm360-custom-edit select,.cfm360-custom-edit textarea{width:100%;border:1px solid #cfe2e9;border-radius:10px;padding:9px 11px;font:inherit;background:#fff;color:#0c3570}.cfm360-custom-edit textarea{min-height:72px;resize:vertical}.cfm360-custom-edit-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.cfm360-custom-edit-actions button{border-radius:10px}
.cfm360-custom-add{width:100%;padding:8px 12px;border:1px solid #c7e4ea;border-radius:11px;background:#fff}.cfm360-custom-add summary{cursor:pointer;font-weight:750;color:#087fa8}
.cfm360-custom-add form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:13px 0 3px}.cfm360-custom-add form button{grid-column:1/-1;background:#087fa8!important;color:#fff!important;border:0;border-radius:11px;padding:12px;cursor:pointer}
.cfm360-card-plan-time{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;color:#0c3570;font-size:12px;font-weight:650}.cfm360-card-plan-time input{width:120px;max-width:55%;min-height:34px;border:1px solid #c9e3eb;border-radius:9px;background:#fff;color:#0c3570;padding:4px 7px}
@media(max-width:550px){.cfm360-custom-add form{grid-template-columns:1fr}.cfm360-day-custom{padding:10px}.cfm360-custom-entry{align-items:flex-start;flex-direction:column}.cfm360-custom-edit{grid-template-columns:1fr}}

.cfm360-adjacent-ideas{width:100%;border:1px solid #d2e8eb;border-radius:11px;padding:12px;background:#fff}
.cfm360-adjacent-ideas>strong{display:block;font-size:13px;color:#0c3570}.cfm360-adjacent-ideas p{font-size:12px;color:#587580;margin:4px 0 9px}
.cfm360-adjacent-ideas>div{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #ebf2f5;padding:8px 0}
.cfm360-adjacent-ideas>div span{font-size:12px;color:#0c3570}.cfm360-adjacent-ideas button{border:1px solid #aad6e2!important;background:#fff!important;color:#087fa8!important;border-radius:999px;padding:7px 10px;font-size:12px;cursor:pointer}

/* 4.3.1: Sticky planner navigation stays below the personal mobile 360° button. */
.cfm360.cfm360-redesign .cfm360-tabs-content [data-tab="favorites"]{white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:-.015em;font-size:clamp(9.5px,2.4vw,13px)!important;padding-left:3px;padding-right:3px}
.cfm360.cfm360-redesign .cfm360-tabs-content [data-tab="today"]:disabled{opacity:.38!important;pointer-events:none!important;cursor:not-allowed!important}
.cfm360 .cfm360-load-error:not([hidden]){display:block;margin:12px 0;padding:13px 16px;background:#fff3e5;border:1px solid #ecceb0;border-radius:12px;color:#723f20;font-size:13px}
@media(max-width:900px){
  body.cfm360-nav-mobile-active .cfm360.cfm360-redesign .cfm360-tabs-content{top:var(--cfm360-sticky-safe-top,80px)!important;scroll-margin-top:calc(var(--cfm360-sticky-safe-top,80px) + 5px)!important;z-index:20}
  body.cfm360-nav-mobile-active .cfm360.cfm360-redesign .cfm360-dashboard{padding-top:65px}
}
@media(max-width:390px){.cfm360.cfm360-redesign .cfm360-tabs-content [data-tab="favorites"]{font-size:9px!important;letter-spacing:-.03em}}
.cfh360-share{margin:25px 0 12px;padding:0;border:1px solid #d9e9ee;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(7,54,89,.08);color:#0c3570;overflow:hidden}
.cfh360-share-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.9fr);gap:16px;padding:22px;background:linear-gradient(135deg,#eef9fc 0%,#ffffff 100%);border-bottom:1px solid #dfedf1}
.cfh360-share-copy h3{margin:6px 0 9px;font-size:clamp(20px,2.5vw,28px);line-height:1.2;color:#0c3570}.cfh360-share-copy p{font-size:14px;line-height:1.7;margin:0;color:#456979}
.cfh360-share-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#087fa8}
.cfh360-share-features{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:15px 0 0}.cfh360-share-features li{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #d7e8ee;font-size:12px;font-weight:700;color:#0c5c7b}
.cfh360-share-art{min-height:158px;border-radius:18px;background:linear-gradient(180deg,#c9edf6 0%,#89d8e7 34%,#3eb7d2 58%,#f8cb82 59%,#f4b564 73%,#f2d39d 100%);position:relative;overflow:hidden;display:grid;align-content:end;gap:8px;padding:16px}.cfh360-share-art:before{content:'';position:absolute;inset:14px auto auto 14px;width:56%;height:38%;border-radius:14px;background:rgba(255,255,255,.28)}.cfh360-share-art span{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:max-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.85);font-size:12px;font-weight:800;color:#0c5c7b}
.cfh360-share-panel{padding:20px 22px 22px}.cfh360-share-status{font-weight:700;margin:0 0 10px;color:#0c3570}.cfh360-share-url label{display:block;font-size:12px;font-weight:800;margin-bottom:5px}.cfh360-share-url input{display:block;width:100%;min-width:0;border:1px solid #bbd8e3;background:#f5fbfc;color:#194c62;padding:12px 14px;border-radius:12px;font:inherit;font-size:13px}
.cfh360-share-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.cfh360-share-buttons button{border:1px solid #087fa8;border-radius:100px;cursor:pointer;padding:11px 17px;background:#087fa8;color:#fff;font:inherit;font-weight:750;font-size:13px;box-shadow:0 8px 18px rgba(8,127,168,.16)}.cfh360-share-buttons button:hover{background:#086d90}.cfh360-share-buttons .cfh360-share-revoke{background:#fff!important;border-color:#ad4b4b!important;color:#9e3d3d!important;box-shadow:none}
.cfh360-share [hidden]{display:none!important}@media(max-width:780px){.cfh360-share-hero{grid-template-columns:1fr}.cfh360-share-art{min-height:125px}}

/* 4.3.4 – Teaser without the decorative color box. */
.cfh360-share .cfh360-share-hero{grid-template-columns:minmax(0,1fr)!important}

/* 4.3.5: Vier gleichwertige Reiter auf Desktop und Mobil ohne horizontales Wischen. */
.cfm360.cfm360-redesign .cfm360-tabs-content{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  overflow:hidden!important;gap:5px!important;padding:5px!important;
}
.cfm360.cfm360-redesign .cfm360-tabs-content button{
  display:inline-flex!important;flex:1 1 auto!important;width:100%!important;
  min-width:0!important;white-space:nowrap!important;overflow:hidden!important;
  text-overflow:clip!important;
}
@media(max-width:650px){
  .cfm360.cfm360-redesign .cfm360-tabs-content{gap:3px!important;padding:4px!important}
  .cfm360.cfm360-redesign .cfm360-tabs-content button,
  .cfm360.cfm360-redesign .cfm360-tabs-content [data-tab="favorites"]{
    min-width:0!important;width:100%!important;min-height:43px!important;
    padding:7px 3px!important;font-size:clamp(10.5px,3vw,12.5px)!important;
    line-height:1.1!important;letter-spacing:-.01em!important;
  }
}
/* Der Mit-Hund-Bereich liegt unter den Aufenthaltskarten, nicht in der Tabsteuerung. */
.cfm360.cfm360-redesign [data-pane="stay"] > .cfm360-dog-section{
  display:block;position:relative;clear:both;margin:25px 0 0;padding:18px;
  border:1px solid #d9ebef;border-radius:20px;
  background:linear-gradient(145deg,#f9fdfe,#f2fafb);
}
.cfm360.cfm360-redesign [data-pane="stay"] > .cfm360-dog-section[hidden]{display:none!important}
.cfm360.cfm360-redesign [data-pane="stay"] > .cfm360-dog-section .cfm360-dog-head{
  margin:0 0 14px;padding:14px 16px;border:1px solid #d9ebef;
  border-radius:16px;background:linear-gradient(145deg,#f4fbfc,#fff);
}
@media(max-width:550px){.cfm360.cfm360-redesign [data-pane="stay"] > .cfm360-dog-section{padding:12px}}

.cfm360-account-boot-status{margin:16px 0;padding:21px 19px;border-radius:17px;border:1px solid #dcecef;background:#f4fbfd;color:#0c3570;font-size:14px;font-weight:700;line-height:1.6}
.cfm360-account-boot-status[hidden]{display:none!important}.cfm360-account-boot-status button{display:inline-block;margin-left:8px;border:1px solid #087fa8;border-radius:999px;padding:8px 13px;background:#fff;color:#087fa8;font:inherit;cursor:pointer}

/* 4.3.6 – Mobile navigation: small typography adjustment + breathing room at right. */
@media (max-width:650px){
  .cfm360.cfm360-redesign .cfm360-tabs-content{
    padding-left:4px!important;padding-right:10px!important;
  }
  .cfm360.cfm360-redesign .cfm360-tabs-content button{
    font-size:clamp(9.5px,2.7vw,11px)!important;
    padding:7px 2px!important;
    letter-spacing:-.02em!important;
  }
  .cfm360.cfm360-redesign .cfm360-tabs-content [data-tab="favorites"]{
    font-size:clamp(9.2px,2.55vw,10.3px)!important;
    padding:7px 3px 7px 1px!important;
    letter-spacing:-.025em!important;
  }
}

/* 4.4.0 – conservative time slots and confirmed bookings */
.cfm360-card-time-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px;padding:9px;background:#f3fafc;border-radius:10px}
.cfm360-card-time-options label{display:grid;gap:5px;min-width:0;font-size:11px;font-weight:750;color:#0c3570}.cfm360-card-time-options input[type=time],.cfm360-card-time-options input[type=number]{width:100%;box-sizing:border-box;min-width:0;padding:6px;border:1px solid #c9e3eb;border-radius:8px;background:#fff;color:#0c3570}
.cfm360-card-time-options .cfm360-booked-toggle{display:flex;align-items:center;gap:7px;grid-column:1/-1}.cfm360-card-time-options .cfm360-booked-toggle input{width:auto}
.cfm360-adjacent-ideas>div span{display:block;flex:1;min-width:200px}.cfm360-adjacent-ideas>div span small{display:block;color:#648392;font-size:11px;margin-top:5px;line-height:1.5}

/* 4.5.2: Zeitfenster, alternative Ideen und Hinweise auf Terminkonflikte. */
.cfm360-plan-slot{width:100%;margin-top:11px;border:1px solid #e1edf1;border-radius:11px;padding:9px 11px;background:#f8fcfd}
.cfm360-plan-slot-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 5px;color:#0c3570;font-size:12px}
.cfm360-plan-slot-title>span{color:#577e8c;font-weight:500}
.cfm360-plan-proposal{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid #e1edf1}
.cfm360-plan-proposal>span{flex:1;min-width:180px;font-size:12px;color:#0c3570;line-height:1.5;overflow-wrap:anywhere}
.cfm360-plan-proposal>span small{display:block;font-size:11px;color:#587580;margin-top:3px;line-height:1.5}
.cfm360-adjacent-ideas .cfm360-plan-proposal button{border:1px solid #88c6d7!important;background:#eefaff!important;color:#006f92!important;border-radius:999px!important;font-size:12px!important;font-weight:750!important;padding:8px 12px!important;cursor:pointer;min-height:36px}
.cfm360-adjacent-ideas .cfm360-plan-proposal button:hover{background:#d9f3fa!important}
.cfm360-plan-empty{font-size:12px;color:#66828e;margin:7px 0 2px!important}
.cfm360-plan-warnings{width:100%;padding:12px;margin:8px 0 12px;background:#fff5ed;border:1px solid #f1c9ad;border-radius:11px;color:#75421f;font-size:12px}
.cfm360-plan-warnings b{font-size:13px}.cfm360-plan-warnings ul{margin:7px 0;padding-left:19px;line-height:1.55}.cfm360-plan-warnings small{display:block;margin-top:5px;font-size:11px}
@media(max-width:550px){.cfm360-plan-proposal{flex-wrap:wrap;align-items:start}.cfm360-plan-proposal>span{min-width:100%}.cfm360-plan-proposal button{margin-left:auto}.cfm360-plan-slot{padding:9px}}

.cfm360-adjacent-ideas > .cfm360-plan-warnings{display:block;align-items:initial;justify-content:initial;flex-wrap:initial;border-top:1px solid #f1c9ad;padding:12px}

/* 4.5.3 – on-demand day-route preview (no automatic plan mutation). */
.cfm360-route-panel{margin:12px 0;padding:14px;border:1px solid #cae4ec;border-radius:15px;background:linear-gradient(125deg,#f3fbfd,#fff)}
.cfm360-route-header{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap}
.cfm360-route-header>div{flex:1;min-width:180px}
.cfm360-route-header strong{font-size:14px;color:#0c3570;font-weight:800}
.cfm360-route-header p{margin:5px 0!important;font-size:12px!important;line-height:1.6;color:#577d8c!important}
.cfm360.cfm360-redesign .cfm360-route-panel button[data-route-build],
.cfm360.cfm360-redesign .cfm360-route-actions button[data-route-confirm]{border:0!important;background:#087fa8!important;color:#fff!important;font-size:12px!important;font-weight:800!important;border-radius:999px!important;padding:10px 15px!important;min-height:38px;cursor:pointer;line-height:1.3}
.cfm360-route-preview{margin:12px 0 0;padding:15px;border:1px solid #d5e9ee;border-radius:12px;background:#fff;color:#0c3570}
.cfm360-route-preview[hidden]{display:none!important}
.cfm360-route-preview>p{font-size:12px;line-height:1.65;color:#537687}
.cfm360-route-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cfm360-route-preview-head b{font-size:14px;color:#0c3570}.cfm360-route-preview-head span{color:#557c8d;font-size:12px}
.cfm360-route-notice{font-size:11px!important;line-height:1.65;margin:8px 0 13px!important;color:#607f8d!important}
.cfm360-route-segment{padding:11px 12px;margin:9px 0;border:1px solid #dfedf1;border-radius:11px;background:#f8fcfd}
.cfm360-route-segment-label{font-weight:800;color:#0b6f96;font-size:12px;margin-bottom:9px}
.cfm360-route-anchor{font-size:11px;color:#627e8b;line-height:1.5;margin:7px 0 9px;padding-left:8px;border-left:2px solid #9bcbdb}
.cfm360-route-stop{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid #e2edf1}
.cfm360-route-stop-number{display:grid;place-items:center;flex:none;width:25px;height:25px;background:#dff5fa;color:#087fa8;border-radius:50%;font-size:12px;font-weight:900}
.cfm360-route-stop>div{flex:1;min-width:0}.cfm360-route-stop b{font-size:12px;color:#0c3570;display:block;line-height:1.5;overflow-wrap:anywhere}
.cfm360-route-stop small{display:block;font-size:11px;color:#607e8b;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}
.cfm360-route-alert{font-size:11px!important;border:1px solid #efc99a;background:#fff7e9;padding:9px 11px;border-radius:9px;color:#825624!important}
.cfm360-route-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px}
.cfm360.cfm360-redesign .cfm360-route-actions .cfm360-secondary{border:1px solid #b4d9e3!important;border-radius:999px!important;padding:9px 13px!important;font-size:12px!important;color:#087fa8!important;background:#fff!important;cursor:pointer;min-height:38px}
@media (max-width:550px){.cfm360-route-panel{padding:11px}.cfm360-route-preview{padding:11px}.cfm360-route-header>div{min-width:100%}.cfm360-route-header>button{width:100%}.cfm360-route-actions button{width:100%}}
.cfm360-route-wish{display:inline-block;margin:5px 0 0;padding:3px 7px;border-radius:999px;background:#eaf6ee;color:#1b7451;font-size:10px;font-style:normal;font-weight:750}
.cfm360-route-map-link{display:inline-block;font-size:11px;font-weight:800;color:#087fa8!important;margin:7px 0 1px;text-decoration:underline;text-underline-offset:3px}

/* CF HOMES 4.5.5 – iOS-safe mobile tab row: render a viewport-level mirror.
   The original controls and their listeners stay in the 360° dashboard. */
.cfm360-tabs-sticky-sentinel{display:block;width:0;height:0;margin:0;padding:0;border:0;pointer-events:none}
@media(max-width:1100px){
  body.cfm360-merge-supported .cfm360[data-cfm360-root].cfm360-redesign .cfm360-dashboard > .cfm360-tabs-content{
    position:relative!important;top:auto!important;z-index:1!important;
  }
  body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-mobile-tabs-portal{
    position:fixed!important;right:auto!important;bottom:auto!important;
    z-index:2147481998!important;max-width:calc(100vw - 12px);
    margin:0!important;padding:0!important;background:transparent!important;pointer-events:auto;
  }
  body.cfm360-merge-supported .cfm360-mobile-tabs-portal[hidden]{display:none!important}
  body.cfm360-merge-supported .cfm360-mobile-tabs-portal .cfm360-tabs-content{
    position:static!important;top:auto!important;left:auto!important;
    display:grid!important;width:100%!important;max-width:100%!important;
    margin:0!important;box-shadow:0 10px 23px rgba(7,70,94,.18);
  }
}

/* CF HOMES 4.5.6 – One animated, shared mobile menu when the two toolbars meet.
   Viewport portal avoids iOS/Elementor sticky clipping; originals stay functional. */
@media(max-width:1100px){
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel{
   box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
   overflow:visible!important;max-width:calc(100vw - 20px)!important;
   border:1px solid #d8e8ef!important;border-radius:22px!important;
   background:rgba(250,254,255,.98)!important;
   box-shadow:0 14px 35px rgba(8,57,82,.22)!important;
   isolation:isolate;animation:cfm360Merge456 .23s cubic-bezier(.2,.75,.2,1) both;
   -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
 }
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel[hidden]{display:none!important}
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-top{
   display:flex!important;align-items:center!important;min-height:53px!important;
   padding:5px 9px!important;border-radius:21px 21px 0 0!important;
   border-bottom:1px solid #dfeef2!important;background:transparent!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-launcher{
   display:flex!important;align-items:center!important;gap:4px!important;width:100%!important;
   max-width:100%!important;min-width:0!important;white-space:nowrap!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main{
   flex:1 1 auto!important;width:100%!important;min-width:0!important;
   min-height:43px!important;padding:8px 9px!important;border:0!important;
   border-radius:14px!important;box-shadow:none!important;
   background:transparent!important;color:#0c3570!important;
   font-size:clamp(12px,3.6vw,15px)!important;font-weight:800!important;
   letter-spacing:-.015em!important;line-height:1.2!important;
   text-align:center!important;gap:8px!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main>span:not(.cfm360-nav-mini-badge),
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main strong{color:#0c3570!important;font-size:inherit!important}
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main:hover,
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main[aria-expanded=true]{
   background:#eaf7fb!important;transform:none!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-search-trigger{
   flex:none!important;width:39px!important;min-width:39px!important;min-height:39px!important;
   border:0!important;background:#e9f7fa!important;color:#087fa8!important;
   border-radius:50%!important;box-shadow:none!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-search-trigger:hover{background:#dff3f8!important;transform:none!important}
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-mini-badge{
   position:absolute!important;right:0!important;top:0!important;display:grid!important;place-items:center!important;min-width:19px!important;height:19px!important;padding:0 4px!important;border:2px solid #fff!important;border-radius:999px!important;background:#087fa8!important;color:#fff!important;font-size:10px!important;font-weight:800!important;line-height:1!important;box-shadow:0 2px 8px rgba(8,127,168,.18)!important;z-index:2!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
   display:grid!important;position:static!important;min-height:50px!important;
   grid-template-columns:repeat(4,minmax(0,1fr))!important;
   width:100%!important;max-width:100%!important;
   margin:0!important;padding:5px 6px 6px!important;gap:3px!important;
   border:0!important;border-radius:0 0 21px 21px!important;
   box-shadow:none!important;background:transparent!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content button{
   min-height:41px!important;border-radius:12px!important;white-space:nowrap!important;
   font-size:clamp(9px,2.65vw,11px)!important;line-height:1.15!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content [data-tab=favorites]{
   font-size:clamp(8.7px,2.55vw,10.5px)!important;
 }
 body.cfm360-merge-supported .cfm360[data-cfm360-root] .cfm360-tabs-content.cfm360-tabs-original-merged{
   opacity:0!important;pointer-events:none!important;
 }
}
@keyframes cfm360Merge456{
 from{opacity:.48;transform:translate3d(0,-7px,0) scale(.985)}
 to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel{animation:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

/* CF HOMES 4.5.7 – Hide the real CF HOMES Desktop Menu launcher during
   the combined planner header, not only the obsolete 360 nav fallback. */
@media(max-width:1100px){
 body.cfm360-merge-supported .cfh-menu-personal-docked.cfm360-nav-merged-away{
   opacity:0!important;visibility:hidden!important;pointer-events:none!important;
 }
 body.cfm360-merge-supported .cfm360-mobile-tabs-portal{
   z-index:2147481999!important;
 }
}

/* CF HOMES 4.5.8 – Compact translucent merged navigation.
   IMPORTANT: .cfm360-redesign provides a 730–740px decorative ::before for
   the full planner. The portal clones this class but must NOT inherit that
   page-wide backdrop: it otherwise paints over the whole viewport. */
@media (max-width:1100px){
  body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel::before,
  body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel::after{
    content:none!important;display:none!important;background:none!important;
  }
  body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel{
    height:auto!important;min-height:0!important;max-height:none!important;
    overflow:visible!important;
    border-radius:17px!important;
    border-color:rgba(184,218,229,.75)!important;
    background:rgba(245,252,255,.84)!important;
    box-shadow:0 7px 19px rgba(7,57,83,.13)!important;
    -webkit-backdrop-filter:blur(15px) saturate(1.18)!important;
    backdrop-filter:blur(15px) saturate(1.18)!important;
    animation:cfm360Merge458 .33s cubic-bezier(.2,.8,.2,1) both!important;
  }
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-top{
    min-height:43px!important;padding:2px 7px!important;
    border-radius:16px 16px 0 0!important;
    border-bottom:1px solid rgba(158,204,218,.45)!important;
    animation:cfm360MergeTop458 .33s cubic-bezier(.2,.8,.2,1) both;
  }
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main{
    min-height:38px!important;padding:5px 7px!important;
    border-radius:10px!important;
    font-size:clamp(12px,3.3vw,14px)!important;
  }
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-search-trigger{
    width:36px!important;min-width:36px!important;min-height:36px!important;
    background:rgba(218,240,246,.72)!important;
  }
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
    min-height:43px!important;padding:3px 5px 4px!important;gap:2px!important;
    border-radius:0 0 16px 16px!important;
    animation:cfm360MergeTabs458 .33s cubic-bezier(.2,.8,.2,1) both;
  }
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content button{
    min-height:36px!important;border-radius:10px!important;
  }
}
@keyframes cfm360Merge458{
  from{opacity:.4;transform:translate3d(0,-14px,0) scale(.975);filter:brightness(1.07)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
}
@keyframes cfm360MergeTop458{
  from{opacity:.45;transform:translate3d(0,-6px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes cfm360MergeTabs458{
  from{opacity:.2;transform:translate3d(0,9px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  @media(max-width:1100px){
    body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel{
      background:rgba(247,253,255,.94)!important;
    }
  }
}
@media(prefers-reduced-motion:reduce){
  body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel,
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-top,
  body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
    animation:none!important;transform:none!important;filter:none!important;
  }
}

/* CF HOMES 4.5.9 – glass frame + stable vertical position during merge.
   The old merge keyframe moved the whole toolbar -14px vertically,
   which made the title jump up/down. Keep the first row on one baseline. */
@media (max-width:1100px){
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel{
   border:3px solid rgba(255,255,255,.76)!important;
   box-shadow:inset 0 1px 1px rgba(255,255,255,.8),0 7px 19px rgba(7,57,83,.13),0 0 0 1px rgba(62,156,184,.16)!important;
   transform-origin:top right!important;
   animation:cfm360Merge459 .29s cubic-bezier(.19,.85,.29,1) both!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-top{
   min-height:41px!important;
   animation:cfm360MergeTop459 .29s ease-out both!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
   animation:cfm360MergeTabs459 .29s cubic-bezier(.19,.85,.29,1) both!important;
 }
}
@keyframes cfm360Merge459{
 from{opacity:.78;transform:scaleX(.93)}
 to{opacity:1;transform:scaleX(1)}
}
@keyframes cfm360MergeTop459{
 from{opacity:.84;transform:none}
 to{opacity:1;transform:none}
}
@keyframes cfm360MergeTabs459{
 from{opacity:.12;transform:translateX(8px)}
 to{opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel,
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-top,
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
   animation:none!important;transform:none!important;
 }
}

/* CF HOMES 4.5.10 – The merged panel grows LEFT, while the 360° button
   and magnifier hold their original screen coordinates on the RIGHT.
   Never stretch/center the launcher across the merged toolbar. */
@media(max-width:1100px){
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel{
   transform:none!important;
   animation:cfm360Merge4510 .28s ease-out both!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-top{
   justify-content:flex-end!important;
   align-items:center!important;
   padding:2px 0 2px 7px!important;
   margin-right:-3px!important;
   min-height:0!important;
   animation:none!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-merge-launcher{
   width:max-content!important;max-width:100%!important;
   flex:0 0 auto!important;
   justify-content:flex-end!important;
   gap:7px!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main{
   width:auto!important;min-width:0!important;
   flex:0 0 auto!important;
   justify-content:center!important;
   text-align:center!important;
   padding:5px 10px!important;
   letter-spacing:normal!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-search-trigger{
   flex:0 0 auto!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
   animation:cfm360MergeTabs4510 .28s ease-out both!important;
 }
}
@keyframes cfm360Merge4510{
 from{opacity:.75;box-shadow:0 3px 9px rgba(7,57,83,.08)}
 to{opacity:1;box-shadow:0 7px 19px rgba(7,57,83,.13)}
}
@keyframes cfm360MergeTabs4510{
 from{opacity:.2;transform:translateY(5px)}
 to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 body.cfm360-merge-supported .cfm360.cfm360-redesign.cfm360-merge-panel,
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
  animation:none!important;transform:none!important;
 }
}

/* CF HOMES 4.5.12 – Wider second-generation PNG labels in the merged panel.
   Scale by width, not by the old fixed height, so new proportions stay legible. */
@media(max-width:1100px){
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main .cfm360-nav-label-image{
   display:block!important;
   width:clamp(140px,47vw,198px)!important;
   height:auto!important;
   max-width:100%!important;
   max-height:28px!important;
   object-fit:contain!important;
 }
}

/* CF HOMES 4.5.13 – Third-generation logo labels in the merged mobile toolbar.
   Maintain the existing right-anchored title/search position; only image sizing changes. */
@media(max-width:1100px){
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main .cfm360-nav-label-image{
  display:block!important;
  width:clamp(160px,49vw,212px)!important;
  height:auto!important;max-height:none!important;max-width:100%!important;
  object-fit:contain!important;
 }
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main{
  padding-top:4px!important;padding-bottom:4px!important;
 }
}
@media(max-width:350px){
 body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main .cfm360-nav-label-image{
  width:clamp(152px,49vw,165px)!important;
 }
}

/* 4.5.17: Der persönliche 360°-Menübutton hat eine dunkelblaue Beschriftung,
   die kleine Merkliste-Zahl bleibt davon ausdrücklich ausgenommen. */
body.cfm360-merge-supported .cfm360-merge-panel .cfm360-nav-main > span.cfm360-nav-mini-badge{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:#087fa8!important;opacity:1!important;
  font-size:11px!important;font-weight:900!important;line-height:1!important;
  text-shadow:none!important;
}

/* 4.5.23 – Mobile Urlaubsplan-Felder ohne Kollision; Pflichtschritte & Ortsauswahl */
.cfm360 .cfm360-trip-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;min-width:0}
.cfm360 .cfm360-trip-times>label{display:flex;flex-direction:column;gap:8px;min-width:0;flex:none!important;margin:0!important;max-width:100%;overflow-wrap:anywhere}
.cfm360 .cfm360-trip-times input[type=time]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin:0!important}
.cfm360 .cfm360-card-time-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;min-width:0}
.cfm360 .cfm360-card-time-options>label{min-width:0!important;max-width:100%;overflow-wrap:anywhere}
.cfm360 .cfm360-card-time-options input[type=time],.cfm360 .cfm360-card-time-options input[type=number]{display:block;min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}
.cfm360 .cfm360-origin-question{margin:0 0 16px;padding:17px 18px;border-radius:16px;background:#e9f7fa;border:1px solid #b8e4ed}
.cfm360 .cfm360-origin-question strong{font-size:clamp(16px,2.2vw,20px);color:#0c3570;font-weight:850}
.cfm360 .cfm360-origin-question p{margin:6px 0 0;color:#335b73;line-height:1.5;font-size:14px}
.cfm360 .cfm360-origin-question b{color:#007b9b}
.cfm360 .cfm360-origin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 15px}
.cfm360 .cfm360-origin-options button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:2px 10px;text-align:left;min-width:0;min-height:86px;border:2px solid #d6e9ef;border-radius:17px;padding:13px 14px;color:#0c3570;background:#fff;box-shadow:none;cursor:pointer;font:inherit}
.cfm360 .cfm360-origin-options button>span{grid-row:span 2;font-size:27px;color:#0089a9}
.cfm360 .cfm360-origin-options button strong{font-size:15px;line-height:1.22;overflow-wrap:anywhere}
.cfm360 .cfm360-origin-options button small{font-size:12px;color:#607f90;line-height:1.25}
.cfm360 .cfm360-origin-options button.is-selected,.cfm360 .cfm360-origin-options button:hover,.cfm360 .cfm360-origin-options button:focus-visible{background:#0089a9!important;border-color:#0089a9!important;color:#fff!important;outline-offset:3px}
.cfm360 .cfm360-origin-options button.is-selected>span,.cfm360 .cfm360-origin-options button.is-selected small,.cfm360 .cfm360-origin-options button:hover>span,.cfm360 .cfm360-origin-options button:hover small,.cfm360 .cfm360-origin-options button:focus-visible>span,.cfm360 .cfm360-origin-options button:focus-visible small{color:#fff!important}
.cfm360 .cfm360-origin-choice-toggle[hidden]{display:none!important}
.cfm360 .cfm360-step-error:not([hidden]){display:block;margin:12px 0;padding:12px 16px;border-radius:12px;border:1px solid #f4c5b2;background:#fff3ed;color:#993e24;font-size:14px;font-weight:750;line-height:1.5}
@media(max-width:600px){
  .cfm360 .cfm360-trip-times,.cfm360 .cfm360-card-time-options{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  .cfm360 .cfm360-day-custom{gap:14px!important}
  .cfm360 .cfm360-origin-options{grid-template-columns:minmax(0,1fr);gap:10px}
  .cfm360 .cfm360-origin-options button{min-height:75px}
}

/* 4.5.27 – Planungsfenster und Checkboxen im Urlaubsplan vereinheitlichen. */
.cfm360 .cfm360-card-time-options .cfm360-booked-toggle,
.cfm360 .cfm360-day-custom .cfm360-compact-check,
.cfm360 .cfm360-custom-edit .cfm360-compact-check{
  display:flex!important;
  align-items:center;
  gap:10px;
  flex-direction:row!important;
  padding:10px 12px;
  border:1px solid #d8e9ef;
  border-radius:12px;
  background:#fff;
  color:#0c3570;
  font-size:13px;
  font-weight:800;
}
.cfm360 .cfm360-card-time-options .cfm360-booked-toggle input[type="checkbox"],
.cfm360 .cfm360-day-custom .cfm360-compact-check input[type="checkbox"],
.cfm360 .cfm360-custom-edit .cfm360-compact-check input[type="checkbox"]{
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  border-radius:6px;
  accent-color:#0089a9;
  box-shadow:none!important;
  flex:none;
}
.cfm360 .cfm360-day-custom .cfm360-compact-check,
.cfm360 .cfm360-custom-edit .cfm360-compact-check{
  grid-column:1/-1;
  width:max-content;
  max-width:100%;
}
.cfm360 .cfm360-day-custom .cfm360-compact-check input[type="checkbox"] + *,
.cfm360 .cfm360-custom-edit .cfm360-compact-check input[type="checkbox"] + *{margin:0}
.cfm360 .cfm360-custom-add form,
.cfm360 .cfm360-custom-edit{align-items:start}

/* 4.5.31 – Reise-Code statt ehemaligem Privatsphäre-Hinweis; nur diesen Hinweis gestalten. */
.cfm360.cfm360-redesign .cfm360-privacy-note .cfm360-privacy-note-icon{
  background:#0089a9;
  color:#fff;
}
.cfm360.cfm360-redesign .cfm360-privacy-note .cfm360-privacy-note-icon svg{
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfm360.cfm360-redesign .cfm360-privacy-content-inner .cfm360-transfer-note-limit{
  padding-top:6px;
  color:#688493;
  font-size:11.5px;
  line-height:1.45;
}

/* 4.5.32 – Neue Button-Leiste im Urlaubsplan für Bildexport + Reise-Code. */
.cfm360 .cfm360-plan-head-copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.cfm360 .cfm360-plan-transfer-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}
.cfm360 .cfm360-plan-transfer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cfm360 .cfm360-plan-transfer-bar > .cfm360-secondary,
.cfm360 .cfm360-plan-transfer-bar > .cfm360-export-open,
.cfm360 .cfm360-plan-transfer-actions > .cfh-tc-launch{
  min-height:44px;
}
.cfm360 .cfm360-export-open.cfm360-export-open-hero{
  background:linear-gradient(110deg,#087fa8,#0a9ab5);
  border-color:#087fa8;
  box-shadow:0 10px 28px rgba(6,83,116,.16);
}
@media(max-width:650px){
  .cfm360 .cfm360-plan-transfer-bar,
  .cfm360 .cfm360-plan-transfer-actions{width:100%}
  .cfm360 .cfm360-plan-transfer-bar > .cfm360-export-open,
  .cfm360 .cfm360-plan-transfer-bar > .cfm360-secondary,
  .cfm360 .cfm360-plan-transfer-actions > .cfh-tc-launch{flex:1 1 100%}
}

/* 4.5.33 – Drei gleichberechtigte Aktionen über die gesamte Planbreite. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-bar{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:none;margin:12px 0 3px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-actions{display:contents!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-bar > button,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-actions > button{
  display:flex!important;align-items:center;justify-content:center;min-width:0!important;width:100%!important;
  height:58px!important;min-height:58px!important;margin:0!important;padding:11px 13px!important;
  box-sizing:border-box!important;border-radius:15px!important;font:inherit!important;font-size:13px!important;
  font-weight:800!important;letter-spacing:.01em!important;line-height:1.24!important;text-align:center!important;
  white-space:normal!important;text-wrap:balance;box-shadow:none!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-bar > .cfm360-export-open svg{width:19px;height:19px;flex:none}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-bar > .cfm360-secondary{background:#f4fafc!important;border:1px solid #cfe5eb!important;color:#0c3570!important}
@media(max-width:740px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-bar{grid-template-columns:1fr!important;gap:9px!important}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-bar > button,
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-transfer-actions > button{height:47px!important;min-height:47px!important;font-size:13px!important}
}

.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-pane-head{display:block!important;width:100%!important}

.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-head-copy{width:100%;flex:1 1 100%;max-width:none}

/* 4.5.40 – Klarer Start vor dem Fragenkatalog und Reise-Code-Import im Planer. */
.cfm360 [data-reisecode-entry][hidden],.cfm360 [data-reisecode-choices][hidden],.cfm360 [data-reisecode-inline][hidden]{display:none!important}
.cfm360 .cfm360-reisecode-entry{width:100%;margin:22px auto 30px;max-width:1100px}
.cfm360 .cfm360-reisecode-choices{padding:clamp(19px,3.7vw,36px);border:1px solid #d4e6ed;background:#fff;border-radius:24px;box-shadow:0 9px 28px rgba(3,63,93,.07)}
.cfm360 .cfm360-reisecode-choices h2{font-size:clamp(22px,3vw,29px);color:#0c3570;margin:7px 0}
.cfm360 .cfm360-reisecode-choices>p{font-size:14px;color:#57758a;margin:0 0 22px;line-height:1.6}
.cfm360 .cfm360-reisecode-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cfm360 .cfm360-reisecode-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;min-width:0;min-height:190px;padding:22px;border:1px solid #c7e4ea;border-radius:19px;background:#f4fafc;color:#0c3570;cursor:pointer;font:inherit;transition:background .18s,border-color .18s,box-shadow .18s}
.cfm360 .cfm360-reisecode-tile:hover,.cfm360 .cfm360-reisecode-tile:focus-visible{border-color:#0089a9;background:#eaf7fa;box-shadow:0 8px 22px rgba(0,137,169,.12)}
.cfm360 .cfm360-reisecode-tile:focus-visible{outline:3px solid #9adce8;outline-offset:2px}
.cfm360 .cfm360-reisecode-tile-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0089a9;color:#fff}
.cfm360 .cfm360-reisecode-tile-icon svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cfm360 .cfm360-reisecode-tile strong{font-size:18px;line-height:1.3;color:#0c3570}
.cfm360 .cfm360-reisecode-tile small{font-size:13px;line-height:1.5;color:#54758a;font-weight:500}
.cfm360 .cfm360-reisecode-inline{max-width:650px;margin:0 auto}
@media(max-width:680px){.cfm360 .cfm360-reisecode-tiles{grid-template-columns:minmax(0,1fr)}.cfm360 .cfm360-reisecode-tile{min-height:128px;padding:18px;gap:9px}.cfm360 .cfm360-reisecode-choices{padding:20px 15px}}

/* CF Homes 4.5.42 – Urlaubsplan: gleichwertige, kompakte und verschiebbare Tageskacheln. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:66px;
  padding:6px;border:2px solid transparent;border-radius:15px;
  transition:background .18s,border-color .18s;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board.cfm360-drop-target{
  background:#e2f6fa;border-color:#0089a9;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-placeholder{
  min-height:155px;border:2px dashed #0089a9;border-radius:17px;background:rgba(0,137,169,.07);
  display:flex;align-items:center;justify-content:center;padding:14px;color:#087c9b;font-weight:900;
  letter-spacing:.03em;text-align:center;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-placeholder span{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:999px;
  background:#fff;border:1px solid #bfe0e8;box-shadow:0 4px 10px rgba(0,52,87,.08);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card{
  position:relative;display:flex;flex-direction:column;border:1px solid #d1e5ed;border-radius:17px;
  box-shadow:0 4px 14px rgba(0,52,87,.06);min-width:0;min-height:0;
  overflow:visible;background:#fff;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card.cfm360-is-dragging{opacity:.48}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-image{
  aspect-ratio:auto;height:92px;border-radius:16px 16px 0 0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-body{
  padding:11px 12px 10px;display:flex;flex-direction:column;flex:1;min-width:0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card h4{font-size:15px;line-height:1.27;margin:4px 0 5px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-body>p{
  font-size:11px;line-height:1.45;margin:0 0 8px;color:#587485;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-meta{gap:4px;margin:5px 0}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-meta span{padding:3px 6px;font-size:10px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-saved-for{margin:7px 0;font-size:10px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-action{min-height:44px;border-radius:0 0 16px 16px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-link{min-height:43px;padding:9px 12px;font-size:12px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-time-options{
  gap:6px;padding:8px;margin:6px 0;grid-template-columns:repeat(2,minmax(0,1fr));
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-time-options label{min-width:0;font-size:11px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-time-options input[type="time"],
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-time-options input[type="number"]{
  width:100%;min-width:0;max-width:100%;min-height:37px;font-size:12px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-drag-label{
  padding:7px 14px 4px;background:#f0f8fa;color:#4f7787;border-radius:15px 15px 0 0;
  font-size:10px;font-weight:800;letter-spacing:.03em;cursor:grab;touch-action:pan-y;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-move-toggle{
  margin-top:auto;align-self:stretch;min-height:35px;border:1px solid #d7e9ee;border-radius:10px;
  background:#f3fafc;color:#08688a;font-size:11px;font-weight:800;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-move-chooser{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;padding:9px;background:#eef8fb;border-radius:12px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-move-chooser[hidden]{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-move-chooser select{
  flex:1 1 120px;min-width:0;max-width:100%;font-size:12px;min-height:36px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-move-chooser button{
  border:0;background:#0089a9;color:#fff;font-weight:800;border-radius:9px;min-height:36px;padding:8px 12px;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card{overflow:hidden;border-radius:17px;background:#fff}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card-image{
  width:100%;height:110px;background-size:cover;background-position:center;border-radius:16px 16px 0 0;
  border-bottom:1px solid #d7eaf0;flex:0 0 auto;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-body{gap:8px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card h4{font-size:16px;margin:0}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-plan-card-top{padding:12px 12px 0}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-label{color:#0089a9;font-size:10px;font-weight:900;letter-spacing:.045em}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-meta{display:flex;gap:5px;flex-wrap:wrap}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-meta span{
  font-size:10px;color:#426e80;background:#eaf6fa;border-radius:999px;padding:4px 7px;font-weight:800;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-entry-actions{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-entry-actions button,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit-actions button,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit-actions button{
  min-height:36px;padding:8px 12px;font-size:11px;border:1px solid #d7e9ee;border-radius:10px;
  background:#f3fafc;color:#08688a;font-weight:800;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-entry-actions button:hover,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit-actions button:hover,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit-actions button:hover{
  background:#e9f6fa;border-color:#bcdfe8;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit-wrap[hidden],
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-form[hidden]{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit{display:grid;width:100%;min-width:0;margin-top:4px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit label,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit label{min-width:0}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit input,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit textarea,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-edit select,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit input,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit textarea,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit select{max-width:100%}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-tile{
  display:flex;flex-direction:column;min-width:0;min-height:145px;border:2px dashed #9dcdd9;border-radius:17px;
  background:rgba(0,137,169,.045);color:#087c9b;cursor:pointer;padding:0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-tile:hover,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-tile:focus-visible,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"]{
  border-color:#0089a9;background:#e7f7fa;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-intro{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:16px;min-height:170px;text-align:center;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-intro>span{font-size:26px;line-height:1}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-intro>strong{font-size:14px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-intro>small{font-size:11px;line-height:1.4;color:#628797;text-align:center}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-form{padding:0 14px 14px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-custom-add{margin-top:12px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-custom-add:not([open]){display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-known-suggestions{
  display:flex;flex-direction:column;position:relative;z-index:4;width:100%;max-height:250px;overflow-y:auto;
  background:#fff;border:1px solid #cbe3ea;border-radius:12px;padding:7px;box-shadow:0 7px 20px rgba(4,56,83,.1);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-known-suggestions[hidden]{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-known-title{padding:7px 8px;color:#5a7889;font-size:11px;font-weight:800}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-known-option{
  border:0;border-bottom:1px solid #edf3f5;text-align:left;min-height:36px;padding:8px 9px;
  font-size:12px;color:#104a67;background:#fff;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-known-option:hover,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-known-option:focus-visible{background:#eaf8fc}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:11px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-side{background:#f5fbfd;border:1px solid #dfedf2;border-radius:15px;padding:11px;min-width:0}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-side h4{font-size:12px;font-weight:900;color:#0c3570;margin:0 0 9px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea{
  display:flex;flex-direction:column;gap:6px;min-width:0;min-height:146px;border:1px solid #bedfe9;
  border-radius:12px;background:#fff;padding:11px;cursor:grab;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea-top{display:flex;justify-content:space-between;gap:5px;color:#0089a9;font-size:11px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea>strong{font-size:13px;line-height:1.35;color:#0c3570}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea>small{font-size:10px;line-height:1.45;color:#597a8b}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea>button{
  margin-top:auto;border:0;background:#0089a9;color:#fff;min-height:34px;
  padding:7px 9px;font-size:11px;font-weight:800;border-radius:9px;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-drag-label{font-size:10px;color:#688d98;text-align:center}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-heading p{font-size:12px;line-height:1.5;margin:4px 0}
@media(max-width:1150px){.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board{grid-template-columns:minmax(0,1fr);gap:10px}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-sides{grid-template-columns:minmax(0,1fr)}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-card-list{grid-template-columns:minmax(0,1fr)}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-image{height:105px}
}
@media(max-width:400px){.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-card-list{grid-template-columns:minmax(0,1fr)}}


/* 4.5.43 – Berechtigungsabhängige 360°-Reiter komplett ausblenden.
   Das mobile, in den body geklonte Menü verwendet dieselbe Spaltenanzahl. */
.cfm360.cfm360-redesign .cfm360-tabs-content,
body.cfm360-merge-supported .cfm360-merge-panel .cfm360-tabs-content{
  grid-template-columns:repeat(var(--cfh360-tab-count,4),minmax(0,1fr))!important;
}
.cfm360[data-cfm360-root].cfm360-redesign .cfm360-tabs-content button[hidden],
body.cfm360-merge-supported .cfm360.cfm360-merge-panel .cfm360-tabs-content button[hidden]{
  display:none!important;
}

/* 4.5.45 – kompakte Tagesansicht und eindeutige Ablage in geschlossenen Tagen. */
.cfm360.cfm360-redesign .cfm360-trip-plan-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px}
.cfm360 .cfm360-trip-plan-stats{display:flex;flex-direction:column;gap:3px;min-width:0}
.cfm360 .cfm360-fold-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-left:auto}
.cfm360 .cfm360-fold-actions button{font:inherit;font-size:11px;font-weight:800;line-height:1.25;border:1px solid #c4e2e9;border-radius:999px;background:#fff;color:#087999;min-height:35px;padding:8px 11px;cursor:pointer}
.cfm360 .cfm360-fold-actions button:hover,.cfm360 .cfm360-fold-actions button:focus-visible{background:#eaf8fb;border-color:#0089a9}
.cfm360 .cfm360-favorite-group-head .cfm360-day-toggle{flex:1;text-align:left;min-width:0;min-height:37px;border:0!important;background:transparent!important;padding:5px 8px!important;color:#0c3570!important;font:inherit;font-size:inherit;font-weight:800;cursor:pointer;white-space:normal}
.cfm360 .cfm360-favorite-group-head .cfm360-day-toggle:hover,.cfm360 .cfm360-favorite-group-head .cfm360-day-toggle:focus-visible{color:#0089a9!important}
.cfm360 .cfm360-day-content[hidden],.cfm360 .is-day-collapsed>.cfm360-day-content{display:none!important}
.cfm360 .is-day-collapsed>.cfm360-favorite-group-head{margin-bottom:0!important;cursor:pointer}
.cfm360 .cfm360-favorite-group-head.cfm360-closed-drop-hover{outline:3px dashed #0089a9;outline-offset:3px;background:#e7f8fb!important;border-radius:12px}
.cfm360-day-place-overlay{position:fixed;inset:0;z-index:2147483605;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(4,30,49,.68);backdrop-filter:blur(5px)}
.cfm360-day-place-dialog{box-sizing:border-box;background:white;color:#0c3570;width:min(580px,100%);max-height:min(90dvh,900px);border-radius:20px;box-shadow:0 20px 65px rgba(0,25,45,.28);padding:18px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.cfm360-day-place-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #d7e9ef;padding-bottom:10px}
.cfm360-day-place-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:850;color:#0089a9}
.cfm360-day-place-head h2{font:inherit!important;font-size:22px!important;font-weight:850!important;margin:4px 0 5px!important;color:#0c3570!important}
.cfm360-day-place-head p,.cfm360-day-place-intro{font-size:12px!important;line-height:1.5!important;color:#648392!important;margin:0!important}
.cfm360-day-place-close{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:#0089a9;color:#fff;font-size:25px;cursor:pointer}
.cfm360-day-place-list{overflow-y:auto;min-height:0;padding:4px 6px;display:flex;flex-direction:column;gap:7px;overscroll-behavior:contain}
.cfm360-day-place-item{padding:11px 13px;display:flex;flex-direction:column;gap:4px;background:#f3f9fb;border:1px solid #d8e9ef;border-radius:12px;min-height:48px}
.cfm360-day-place-item strong{font-size:13px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.cfm360-day-place-item span{font-size:11px;color:#5e7f90}
.cfm360-day-place-slot{min-height:42px;border:2px dashed #9acddc;border-radius:11px;background:#effafd;color:#08799a;font:inherit;font-size:12px;font-weight:850;cursor:pointer;letter-spacing:.025em}
.cfm360-day-place-slot:hover,.cfm360-day-place-slot:focus-visible{background:#0089a9;color:#fff;border-color:#0089a9}
.cfm360-day-place-actions{display:flex;justify-content:flex-end;border-top:1px solid #d7e9ef;padding-top:10px}
.cfm360-day-place-actions button{padding:10px 18px;min-height:39px;border:1px solid #c5dfe8;border-radius:10px;background:#f5fafc;color:#0c3570;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
@media(max-width:600px){.cfm360 .cfm360-fold-actions{margin-left:0;width:100%}.cfm360 .cfm360-fold-actions button{flex:1 1 130px}.cfm360-day-place-dialog{padding:14px;max-height:calc(100dvh - 22px)}.cfm360-day-place-head h2{font-size:19px!important}}

/* 4.5.46 – stabile Drop-Vorschau, Originalbesuche und Headergalerie */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board{position:relative;align-content:start}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-placeholder{
 box-sizing:border-box;display:flex;align-items:center;justify-content:center;
 min-height:150px;border:2px dashed #0089a9;border-radius:16px;
 background:rgba(0,137,169,.10);color:#006c8f;font-size:14px;font-weight:900;
 pointer-events:none;transition:none!important;animation:none!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-is-dragging{opacity:.35!important;filter:none!important;transform:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-repeat-remove{
 min-height:34px;border:1px solid #d7e9ee;border-radius:10px;background:#f3fafc;
 color:#08688a;font-size:11px;font-weight:800;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-image-choices{
 grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap;min-width:0;
 padding:8px 0;border:0;margin:0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-image-choices legend{font-size:12px;font-weight:800;color:#456979}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-image-choice{position:relative;width:72px;min-width:72px;cursor:pointer}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-image-choice img{display:block;width:72px;height:65px;border-radius:10px;object-fit:cover;border:2px solid #d4e7ed}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-image-choice input{position:absolute;top:3px;right:5px;z-index:1;width:16px;height:16px;accent-color:#0089a9}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-image-choice:has(input:checked) img{border-color:#0089a9;box-shadow:0 0 0 2px rgba(0,137,169,.22)}
.cfm360-visit-choice .cfm360-visit-choice-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}
.cfm360-visit-choice .cfm360-visit-choice-actions button{flex:1 1 155px;min-height:43px;border-radius:10px;border:1px solid #bcdbe4;background:#eef8fa;color:#006b8d;font-weight:800;cursor:pointer}
.cfm360-visit-choice .cfm360-visit-choice-actions button.is-primary{background:#0089a9;color:white;border-color:#0089a9}


/* 4.5.51 – Compact daily-planner cards. Keep information in card details,
   and move the editable planning fields into the central design dialog. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-image{
  aspect-ratio:auto;height:76px;min-height:0;border-radius:0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card-image{
  height:76px;min-height:0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-body{
  padding:9px 11px 8px;gap:5px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card h4{
  margin:2px 0 3px;font-size:14px;line-height:1.28;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-body>p{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
  overflow:hidden;margin:0;font-size:11px;line-height:1.4;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-meta{
  gap:4px;margin:3px 0 4px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-meta span{
  padding:3px 6px;font-size:10px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-top>span{
  font-size:10px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-drag-label{
  padding:5px 11px 4px;font-size:9px;
}
.cfm360 .cfm360-plan-facts{
  display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:5px 0 7px;
}
.cfm360 .cfm360-plan-facts span{
  display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;
  background:#edf7fa;color:#346980;font-size:10px;font-weight:750;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-card-actions{
  margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
  align-items:stretch;width:100%;padding-top:7px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-card-actions.has-remove{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-card-actions button{
  box-sizing:border-box;min-width:0;width:100%;margin:0;min-height:36px;
  padding:7px 5px;border:1px solid #d7e9ee;border-radius:9px;
  background:#f3fafc;color:#08688a;font:inherit;font-size:10px;font-weight:800;
  letter-spacing:0;cursor:pointer;text-align:center;white-space:normal;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-card-actions button:hover,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-card-actions button:focus-visible{
  border-color:#0089a9;background:#e2f4f8;color:#005c79;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-move-chooser{
  margin-top:5px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card>.cfm360-card-action{
  min-height:39px!important;margin-top:0;padding:0 9px!important;
  border-radius:0 0 16px 16px!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-link{
  min-height:39px!important;padding:7px 11px!important;font-size:11px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-plan-card-top{
  padding:8px 11px 0;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-body{
  gap:5px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-own-meta{
  margin:4px 0 5px;gap:4px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-own-meta span{
  padding:3px 6px;font-size:10px;
}
/* Open the creation form IN the tile; don't keep the large invitation above it. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-add-intro,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-card-image{
  display:none!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-intro{
  min-height:90px;padding:10px 12px;gap:3px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-form{
  padding:12px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-custom-edit{
  margin:0;padding:9px;gap:8px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-saved-for{
  display:none!important;
}
@media(max-width:720px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-image{height:76px}
}


/* 4.5.52 – Eigene Einträge optisch an normale Erlebnis-Karten angleichen. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card{position:relative}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-top{margin-bottom:1px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-top>span{
  display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;
  background:#eef7fb;color:#0089a9;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-remove-flag{
  position:absolute;top:13px;right:13px;z-index:5;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-action-static{
  background:linear-gradient(90deg,#0a89ab,#1692b7)!important;pointer-events:none;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-link-static{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:39px;
  color:#fff;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-link-static b,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-card-link-static svg{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-custom-entry-actions{display:contents}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-plan-card-actions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card .cfm360-plan-card-actions.has-remove{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}


/* 4.5.53 – Eigenen Eintrag im Kachel-Editor kompakter und hochwertiger darstellen. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card{
  display:flex;flex-direction:column;min-height:360px;position:relative;
  border:1px solid #d6e8ee;background:#fff;box-shadow:0 10px 24px rgba(5,53,79,.05);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-card-action-static{
  background:linear-gradient(90deg,#0a89ab,#1692b7)!important;pointer-events:none;margin-top:auto;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-card-link-static{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:39px;
  color:#fff;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-card-link-static b,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-card-link-static svg{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-intro{
  flex:1 1 auto;min-height:0;padding:18px 16px 14px;gap:6px;justify-content:center;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-intro>span{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:#eef8fb;border:1px solid #d5e8ef;color:#0089a9;font-size:28px;font-weight:400;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-intro>strong{font-size:15px;color:#0c3570}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card .cfm360-own-add-intro>small{max-width:210px;font-size:11px}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"]{
  min-height:520px;max-height:520px;border-color:#c8e1e9;background:linear-gradient(180deg,#ffffff 0%,#fbfeff 100%);
  box-shadow:0 14px 32px rgba(6,58,87,.10);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-add-form{
  display:flex!important;flex:1 1 auto;min-height:0;padding:10px 10px 0;overflow:hidden;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;
  flex:1 1 auto;min-height:0;height:100%;overflow:auto;margin:0;
  padding:12px;background:#f8fcfd;border:1px solid #d9ebf1;border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit::before{
  content:'EIGENER EINTRAG ERSTELLEN';grid-column:1/-1;display:block;
  font-size:10px;font-weight:900;letter-spacing:.16em;color:#0089a9;text-transform:uppercase;
  margin-bottom:2px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit label{
  gap:4px;font-size:11px;color:#315b70;font-weight:800;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit input,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit select,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit textarea{
  padding:8px 10px;min-height:40px;border-radius:11px;border-color:#cfe2e9;background:#fff;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit textarea{
  min-height:64px;max-height:80px;resize:vertical;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-image-choices{
  grid-column:1/-1;display:flex;gap:7px;flex-wrap:nowrap;overflow-x:auto;padding-top:2px;padding-bottom:2px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-image-choices legend{
  width:100%;margin-bottom:2px;font-size:11px;color:#315b70;font-weight:800;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-image-choice{
  width:56px;min-width:56px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-image-choice img{
  width:56px;height:50px;border-radius:10px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit-actions{
  grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;
  margin-top:2px;padding-top:6px;border-top:1px solid #e4eff3;background:linear-gradient(180deg,rgba(248,252,253,0) 0%,#f8fcfd 20%);
  position:sticky;bottom:-12px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit-actions button{
  min-height:38px;padding:8px 12px;border-radius:11px;font-size:11px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit-actions button[type="submit"]{
  background:#0089a9;color:#fff;border-color:#0089a9;box-shadow:0 8px 18px rgba(0,137,169,.18);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit-actions .cfm360-secondary{
  background:#fff;color:#0c5c7b;border-color:#d3e5eb;
}
@media(max-width:980px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"]{min-height:500px;max-height:500px}
}
@media(max-width:720px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"]{min-height:unset;max-height:none}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-own-add-form{padding:10px}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit{height:auto;overflow:visible;grid-template-columns:minmax(0,1fr)}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card[aria-expanded="true"] .cfm360-custom-edit-actions{grid-template-columns:minmax(0,1fr)}
}

/* 4.5.54 – Im Urlaubsplan ist „+ Eigener Eintrag“ ein schlichter Einstieg.
   Header, Footer und Inline-Eingabe entfallen; die Karte bleibt rasterbreit. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board>.cfm360-own-add-card{
  box-sizing:border-box!important;grid-column:auto!important;justify-self:stretch!important;
  width:100%!important;min-width:0!important;max-width:none!important;
  min-height:330px!important;max-height:none!important;
  height:auto!important;align-self:stretch!important;
  display:flex!important;align-items:stretch!important;justify-content:center!important;
  padding:0!important;border:2px dashed #91cbdb!important;border-radius:17px!important;
  background:rgba(0,137,169,.045)!important;
  box-shadow:none!important;overflow:hidden!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board>.cfm360-own-add-card:hover,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board>.cfm360-own-add-card:focus-within{
  border-color:#0089a9!important;background:#edf9fc!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-own-card-image,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-card-action,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-own-add-form:not([hidden]){
  display:none!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-own-add-intro{
  box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;
  flex-direction:column!important;flex:1 1 auto!important;align-self:stretch!important;
  min-height:0!important;width:100%!important;height:100%!important;
  margin:0!important;padding:18px 12px!important;gap:10px!important;
  border:0!important;box-shadow:none!important;background:transparent!important;
  color:#0089a9!important;text-align:center!important;cursor:pointer;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-own-add-intro>span{
  width:52px;height:52px;border:1px solid #d1e9f0;border-radius:50%;
  display:grid;place-items:center;background:#e5f5fa;color:#0089a9;font-size:32px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-own-add-intro>strong{
  font-size:14px;letter-spacing:.09em;font-weight:900;text-transform:uppercase;color:#087b99;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-add-card>.cfm360-own-add-intro>small{
  max-width:240px;font-size:11px;letter-spacing:.035em;line-height:1.5;color:#5e8699;
}
/* Modals: desktop two-column, responsive single-column. No tile resizing. */
.cfm360-own-editor-dialog,.cfm360-move-dialog{width:min(620px,100%);max-height:calc(100dvh - 30px)}
.cfm360-own-editor-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:3px 4px 5px}
.cfm360-own-editor-body .cfm360-custom-edit{
  box-sizing:border-box;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;min-width:0;margin:0!important;padding:12px!important;gap:12px!important;
  align-items:start;background:#f8fcfd;border:1px solid #d6eaf0;border-radius:13px;
}
.cfm360-own-editor-body .cfm360-custom-edit label{min-width:0;display:grid;gap:5px;font-size:12px;font-weight:800;color:#315c72}
.cfm360-own-editor-body .cfm360-custom-edit input,
.cfm360-own-editor-body .cfm360-custom-edit select,
.cfm360-own-editor-body .cfm360-custom-edit textarea{
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #c9e0e9;
  border-radius:10px;background:#fff;color:#0c3570;padding:9px 10px;font:inherit;
}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-own-title-field,
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-own-image-choices,
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-custom-edit-actions{grid-column:1/-1}
.cfm360-own-editor-body .cfm360-custom-edit textarea{min-height:74px;resize:vertical}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-own-image-choices{display:flex;gap:9px;flex-wrap:wrap;padding:7px 0}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-custom-edit-actions{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
  border-top:1px solid #dcebf0;padding-top:11px;margin-top:2px;
}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-custom-edit-actions button{
  box-sizing:border-box;min-height:42px;border:1px solid #b7dce7;border-radius:11px;
  background:#0089a9;color:white;font-weight:850;font-size:12px;cursor:pointer;
}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-custom-edit-actions .cfm360-secondary{background:#f2f9fb;color:#0b597a}
.cfm360-move-day-label{display:grid;gap:6px;color:#315c72;font-size:12px;font-weight:850}
.cfm360-move-day-select{
  box-sizing:border-box;width:100%;min-height:44px;border-radius:11px;border:1px solid #badce5;
  background:#f7fcfd;color:#0c3570;padding:8px 12px;font-size:14px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-plan-move-chooser{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-route-panel[hidden]{display:none!important}
@media(max-width:600px){
  .cfm360-own-editor-dialog,.cfm360-move-dialog{padding:13px}
  .cfm360-own-editor-body .cfm360-custom-edit{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;padding:11px!important}
  .cfm360-own-editor-body .cfm360-custom-edit .cfm360-custom-edit-actions{grid-template-columns:minmax(0,1fr)}
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board>.cfm360-own-add-card{min-height:250px!important}
}
@media(max-width:360px){
  .cfm360-own-editor-body .cfm360-custom-edit{grid-template-columns:minmax(0,1fr)}
}
/* Aus dem Tagesraster in die Overlay-Wurzel versetzte Eingabe-Elemente
   benötigen eigene Styles (insbesondere die Bildauswahl und Vorschlagsliste). */
.cfm360-own-editor-body .cfm360-own-image-choice{
  position:relative;display:block;width:74px;min-width:74px;cursor:pointer;
}
.cfm360-own-editor-body .cfm360-own-image-choice img{
  display:block;box-sizing:border-box;width:74px;height:66px;object-fit:cover;
  border:2px solid #d4e7ed;border-radius:10px;
}
.cfm360-own-editor-body .cfm360-own-image-choice input[type="radio"]{
  position:absolute;right:4px;top:4px;width:17px;height:17px;min-height:17px;
  padding:0;z-index:1;accent-color:#0089a9;
}
.cfm360-own-editor-body .cfm360-own-image-choice:has(input:checked) img{
  border-color:#0089a9;box-shadow:0 0 0 2px rgba(0,137,169,.25);
}
.cfm360-own-editor-body .cfm360-own-image-choices legend{
  display:block;margin-bottom:8px;font-size:12px;font-weight:850;color:#315c72;
}
.cfm360-own-editor-body .cfm360-known-suggestions{
  display:flex;flex-direction:column;max-height:220px;overflow-y:auto;
  background:#fff;border:1px solid #d3e6ee;border-radius:10px;padding:5px;box-shadow:0 8px 19px rgba(4,56,83,.08);
}
.cfm360-own-editor-body .cfm360-known-suggestions[hidden]{display:none!important}
.cfm360-own-editor-body .cfm360-known-title{display:block;padding:7px;font-size:11px;color:#526e7d;font-weight:800}
.cfm360-own-editor-body .cfm360-known-option{
  border:0!important;border-top:1px solid #eef4f5!important;background:#fff!important;
  color:#0c3570!important;min-height:38px;padding:8px 10px;text-align:left;cursor:pointer;
}
.cfm360-own-editor-body .cfm360-known-option:hover{background:#eef9fc!important}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-compact-check{
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  gap:12px;border:1px solid #d3e7ee;border-radius:10px;padding:8px 12px;background:#fff;
}
.cfm360-own-editor-body .cfm360-custom-edit .cfm360-compact-check input{
  width:18px;height:18px;min-height:18px;flex:none;accent-color:#0089a9;
}
/* Alle Zeilen eines Urlaubstages erhalten dieselbe Kartenhöhe. Ein einzelner
   „+ Eigener Eintrag“-Platzhalter in der letzten Zeile schrumpft nicht. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board{
  grid-auto-rows:1fr;
}

/* 4.5.54 – Eigene Planungskarten mit den Original-Kacheln pixelgleich abschließen.
   Die Einfüge-Platzhalterkarte bleibt ausdrücklich unabhängig davon gestrichelt. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board .cfm360-own-card>.cfm360-custom-remove-flag{
  top:-1px!important;
  right:18px!important;
  margin:0!important;
  height:54px;
  z-index:7;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board .cfm360-own-card>.cfm360-own-card-image{
  box-sizing:border-box;
  height:76px!important;
  min-height:0!important;
  border-radius:0!important;
  border:0!important;
  background-clip:padding-box;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board .cfm360-own-card>.cfm360-card-action-static{
  box-sizing:border-box;
  display:flex!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:39px!important;
  height:auto!important;
  margin-top:0!important;
  padding:0 9px!important;
  border-radius:0 0 16px 16px!important;
  background:linear-gradient(115deg,#087fa8 0%,#079ab7 100%)!important;
  pointer-events:none;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board .cfm360-own-card .cfm360-card-action-static>.cfm360-card-link-static{
  box-sizing:border-box;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex:1 1 auto;
  width:100%!important;
  min-height:43px!important;
  margin:0!important;
  padding:7px 11px!important;
  border:0!important;
  background:none!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.3!important;
  text-align:left!important;
  letter-spacing:.12em;
  text-decoration:none!important;
  cursor:default!important;
}
@media(max-width:720px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-board .cfm360-own-card>.cfm360-custom-remove-flag{
    right:14px!important;
  }
}

/* 4.5.55 – Eigenen Eintrag erstellen/bearbeiten: durchgängig runder
   türkisblauer Schließen-Button mit festem weißem SVG-X; unabhängig
   von Fonts und WordPress-Theme-Button-Defaults. */
.cfm360-own-editor-overlay .cfm360-own-editor-dialog .cfm360-own-editor-close{
  box-sizing:border-box!important;display:grid!important;place-items:center!important;
  flex:0 0 40px!important;width:40px!important;height:40px!important;
  min-width:40px!important;min-height:40px!important;
  margin:0!important;padding:0!important;
  appearance:none!important;-webkit-appearance:none!important;
  border:0!important;border-radius:50%!important;
  background:#0089a9!important;color:#fff!important;
  font:inherit!important;line-height:1!important;cursor:pointer!important;
  box-shadow:none!important;text-shadow:none!important;
}
.cfm360-own-editor-overlay .cfm360-own-editor-dialog .cfm360-own-editor-close svg{
  display:block!important;width:19px!important;height:19px!important;
  fill:none!important;stroke:#fff!important;stroke-width:2.6!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  pointer-events:none!important;
}
.cfm360-own-editor-overlay .cfm360-own-editor-dialog .cfm360-own-editor-close:hover{
  background:#006e90!important;
}
.cfm360-own-editor-overlay .cfm360-own-editor-dialog .cfm360-own-editor-close:focus-visible{
  outline:3px solid #72cfe5!important;outline-offset:3px!important;
}


/* 4.5.56 – Repeated visits use the same flag and two-button footer as normal cards. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card[data-visit-id] .cfm360-repeat-remove-flag{
  top:-1px;right:18px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card[data-visit-id] .cfm360-plan-card-actions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* 4.5.57 – Planning conflicts are visible without increasing the card height.
   Unknown hours are not conflicts; only structured, applicable schedules count. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card .cfm360-card-action.cfm360-plan-warning-footer{
  box-sizing:border-box;display:flex!important;align-items:center!important;
  width:100%;height:39px!important;min-height:39px!important;max-height:39px!important;
  margin-top:0!important;padding:0 11px!important;
  background:#ba2b36!important;border:0!important;border-radius:0 0 16px 16px!important;
  color:#fff!important;overflow:hidden!important;box-shadow:none!important;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-warning-caption{
  display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;font-size:10px;line-height:1.2;font-weight:850;
  letter-spacing:.015em;text-align:left;color:#fff;
}


/* 4.5.59 – Welcome/departure day milestones (visual only; never draggable). */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone {
  display:flex; flex-direction:column; min-width:0; height:100%; overflow:hidden;
  border:1px solid #d2e6ee; border-radius:17px; background:#fff;
  box-shadow:0 4px 14px rgba(0,52,87,.06);
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-image {
  flex:none; width:100%; height:103px; background-size:cover; background-position:center;
  border-radius:0; border-bottom:1px solid #e0edf2;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-body {
  display:flex; flex:1 1 auto; flex-direction:column; align-items:center; gap:10px;
  padding:11px 15px 15px; min-width:0; text-align:center;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-tag {
  align-self:flex-start; padding:4px 9px; background:#ebf7fa; color:#0089a9;
  border-radius:999px; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-icon {
  display:grid; place-items:center; width:68px; height:68px; border-radius:18px;
  background:#edf8fb; color:#0089a9;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-icon svg {
  width:51px; height:51px; fill:none; stroke:currentColor; stroke-width:2.4;
  stroke-linecap:round; stroke-linejoin:round;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone h4 {
  margin:0; font-size:15px; line-height:1.36; font-weight:800; color:#0c3570;
  overflow-wrap:anywhere;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-time {
  display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:8px;
  margin-top:auto; font-size:11px; font-weight:750; color:#436f81;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-time input {
  box-sizing:border-box; min-height:36px; width:121px; max-width:100%;
  padding:6px 8px; border:1px solid #cce2e9; border-radius:10px;
  background:#f6fbfd; color:#0c3570; font-size:13px; font-weight:700;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-footer {
  display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:39px;
  margin-top:auto; padding:8px 12px; background:#0089a9; color:#fff;
  font-size:10px; font-weight:900; line-height:1.3; letter-spacing:.035em;
}
@media(max-width:720px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-image{height:76px}
}


/* 4.5.59 – Move & closed-day dialogs: identical X to own-entry editor. */
.cfm360-day-place-head button.cfm360-day-place-close,
.cfm360-day-place-head button.cfm360-day-place-close:hover,
.cfm360-day-place-head button.cfm360-day-place-close:focus-visible{
 display:grid!important;place-items:center!important;flex:0 0 40px!important;
 box-sizing:border-box!important;width:40px!important;height:40px!important;
 min-width:40px!important;min-height:40px!important;margin:0!important;padding:0!important;
 border:0!important;border-radius:50%!important;background:#0089a9!important;color:#fff!important;
 cursor:pointer!important;
}
.cfm360-day-place-head button.cfm360-day-place-close svg{
 display:block;width:20px;height:20px;stroke:#fff;fill:none;
 stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;
}

/* 4.5.60 – Reisetag-Meilensteine: lesbare mittige Abschlussleiste. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-footer{
  box-sizing:border-box;justify-content:center!important;text-align:center!important;
  min-height:43px;padding:8px 12px!important;
  font-size:11px;font-weight:900;letter-spacing:.12em;line-height:1.35;
  background:linear-gradient(115deg,#087fa8,#079ab7);
}

/* Einplanen-Dialog: zentrale 360°-Dialoggestaltung mit festen Bedienelementen. */
.cfm360-surprise-plan-dialog{gap:12px}
.cfm360-surprise-plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cfm360-surprise-plan-field{display:flex;flex-direction:column;gap:5px;min-width:0;
  color:#315e76;font-size:11px;font-weight:800}
.cfm360-surprise-plan-field input,.cfm360-surprise-plan-field select{
  box-sizing:border-box;display:block;width:100%;min-width:0;min-height:42px;
  padding:8px 10px;border:1px solid #cbe3eb;border-radius:10px;
  background:#f7fcfe;color:#0c3570;font:inherit;font-size:12px;
}
.cfm360-surprise-plan-hint{margin:0;font-size:11px;color:#6a8290}
.cfm360-surprise-already-planned{display:flex;flex-direction:column;gap:8px;
  border:1px solid #c4e4ec;background:#eff9fc;border-radius:12px;padding:12px;
}
.cfm360-surprise-already-planned strong{font-size:13px;color:#0c3570}
.cfm360-surprise-already-planned p{font-size:12px;line-height:1.5;margin:0;color:#426b7c}
.cfm360-surprise-plan-actions{display:flex;flex-wrap:wrap;gap:8px}
.cfm360-surprise-plan-actions button{flex:1 1 150px;min-height:43px;border-radius:10px;
  border:1px solid #c5dfe9;padding:9px 12px;background:#f2f9fb;
  color:#0c5675;font-size:11px;font-weight:850;cursor:pointer;
}
.cfm360-surprise-plan-actions button.is-primary{background:#0089a9;color:#fff;border-color:#0089a9}
@media(max-width:550px){.cfm360-surprise-plan-fields{grid-template-columns:minmax(0,1fr)}}

.cfm360-surprise-plan-error{margin:0!important;padding:8px 10px;border-radius:8px;background:#fff0f0;color:#9e222a;font-size:12px}
.cfm360-surprise-plan-error[hidden]{display:none!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-footer{
  text-transform:uppercase;
}

/* 4.5.61 – Normale Kartenoptik unter Aufenthalt, Mit Hund, Für jetzt und Heute für dich.
   Ausschließlich die Aktionsbuttons werden auf den Urlaubsplan-Stil gebracht.
   Headerbild, Texte, Abstände und blaue Fußleiste kommen wieder aus den
   bestehenden Standard-Kartenregeln (wie vor 4.5.60). */
.cfm360.cfm360-redesign [data-list="today"] .cfm360-plan-card-actions,
.cfm360.cfm360-redesign [data-list="stay"] .cfm360-plan-card-actions,
.cfm360.cfm360-redesign [data-list="dog"] .cfm360-plan-card-actions,
.cfm360.cfm360-redesign [data-list="surprise"] .cfm360-plan-card-actions{
  box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);
  width:100%;margin:9px 0 0;padding:0;gap:6px;
}
.cfm360.cfm360-redesign [data-list="today"] .cfm360-plan-card-actions button,
.cfm360.cfm360-redesign [data-list="stay"] .cfm360-plan-card-actions button,
.cfm360.cfm360-redesign [data-list="dog"] .cfm360-plan-card-actions button,
.cfm360.cfm360-redesign [data-list="surprise"] .cfm360-plan-card-actions button{
  box-sizing:border-box;display:block;width:100%;min-width:0;min-height:36px;
  margin:0!important;padding:7px 9px;border:1px solid #d7e9ee;
  border-radius:9px;background:#f3fafc;color:#08688a;
  font:inherit;font-size:10px;font-weight:800;letter-spacing:0;
  line-height:1.4;text-align:center;white-space:normal;cursor:pointer;
}
.cfm360.cfm360-redesign [data-list="today"] .cfm360-plan-card-actions button:hover,
.cfm360.cfm360-redesign [data-list="today"] .cfm360-plan-card-actions button:focus-visible,
.cfm360.cfm360-redesign [data-list="stay"] .cfm360-plan-card-actions button:hover,
.cfm360.cfm360-redesign [data-list="stay"] .cfm360-plan-card-actions button:focus-visible,
.cfm360.cfm360-redesign [data-list="dog"] .cfm360-plan-card-actions button:hover,
.cfm360.cfm360-redesign [data-list="dog"] .cfm360-plan-card-actions button:focus-visible,
.cfm360.cfm360-redesign [data-list="surprise"] .cfm360-plan-card-actions button:hover,
.cfm360.cfm360-redesign [data-list="surprise"] .cfm360-plan-card-actions button:focus-visible{
  border-color:#0089a9;background:#e2f4f8;color:#005c79;
}


/* 4.5.62 – Bearbeiten/Einplanen sits directly above the blue footer in all
   four discovery lists. Only cards that actually have this action get the
   vertical flex arrangement; photos, descriptions and normal cards stay as-is. */
.cfm360.cfm360-redesign [data-list="today"] .cfm360-card.cfm360-has-plan-action > .cfm360-card-body,
.cfm360.cfm360-redesign [data-list="stay"] .cfm360-card.cfm360-has-plan-action > .cfm360-card-body,
.cfm360.cfm360-redesign [data-list="dog"] .cfm360-card.cfm360-has-plan-action > .cfm360-card-body,
.cfm360.cfm360-redesign [data-list="surprise"] .cfm360-card.cfm360-has-plan-action > .cfm360-card-body{
  display:flex;
  flex-direction:column;
  padding-bottom:9px;
}
.cfm360.cfm360-redesign [data-list="today"] .cfm360-card.cfm360-has-plan-action .cfm360-plan-card-actions,
.cfm360.cfm360-redesign [data-list="stay"] .cfm360-card.cfm360-has-plan-action .cfm360-plan-card-actions,
.cfm360.cfm360-redesign [data-list="dog"] .cfm360-card.cfm360-has-plan-action .cfm360-plan-card-actions,
.cfm360.cfm360-redesign [data-list="surprise"] .cfm360-card.cfm360-has-plan-action .cfm360-plan-card-actions{
  margin-top:auto;
}


/* 4.5.63: Freizeitfenster auf Mobilgeräten einspaltig, ohne Textüberlauf.
 * Ältere, generische .cfm360-adjacent-ideas > div span-Regeln setzen
 * min-width:200px auf *alle* Kachel-Spans. Diese Regel muss für die
 * Vorschlagskarten zurückgenommen werden (Zeit/Dauer und Zieh-Hinweis).
 */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-adjacent-ideas{
  box-sizing:border-box;min-width:0;max-width:100%;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-sides,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-side,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-card-list,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea{
  box-sizing:border-box;min-width:0;max-width:100%;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea-top{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea span{
  min-width:0;max-width:100%;flex:0 1 auto;
}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea>strong,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea>small,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-drag-label{
  min-width:0;max-width:100%;overflow-wrap:anywhere;
}
@media(max-width:900px){
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-sides,
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-card-list{
    grid-template-columns:minmax(0,1fr);
  }
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea{
    min-height:0;gap:8px;padding:12px;
  }
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-idea>button{
    box-sizing:border-box;width:100%;max-width:100%;min-height:40px;white-space:normal;
  }
  .cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-slot-drag-label{
    text-align:center;
  }
}

/* CF Homes 4.5.100 – neues visuelles Dach für Mein Empuriabrava 360°.
   Absichtlich nur Kopf, Übertragung, Begrüßung und Wetter vor den vorhandenen Tabs.
   Die ab .cfm360-tabs-content folgenden Bausteine bleiben unangetastet. */
.cfm360.cfm360-redesign:before{
  height: min(960px, 94vw);
  background-image:
    radial-gradient(ellipse at 7% 79%,rgba(152,215,222,.27),transparent 40%),
    linear-gradient(180deg,#f3fcff 0%,#e7f8fc 48%,rgba(246,252,254,.88) 78%,#fff 100%);
}
.cfm360.cfm360-redesign .cfm360-head{
  position:relative;
  isolation:isolate;
  padding:28px 9px 16px;
}
.cfm360.cfm360-redesign .cfm360-head:before{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  top:-32px;right:0;width:59%;height:316px;
  border-radius:0 0 0 56%;
  background-image:
    linear-gradient(90deg,#effaff 0%,rgba(239,250,255,.55) 23%,rgba(239,250,255,0) 55%),
    var(--cfm360-hero-bg,url("images/360-top-coast.webp"));
  background-repeat:no-repeat;
  background-position:center,center 53%;background-size:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 100%);
}
.cfm360.cfm360-redesign .cfm360-head>.cfm360-kicker{
  position:relative;display:block;color:#0089a9;
  font-size:clamp(12px,1.25vw,15px);font-weight:850;letter-spacing:.16em;
}
.cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{
  position:relative;
  max-width:100%;width:100%;margin:10px 0 14px;
  font-size:clamp(35px,5.4vw,69px);
  font-weight:850;line-height:1.05;letter-spacing:-.042em;
  color:#0c285e;text-wrap:balance;
}
.cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-first,
.cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-second{display:block;max-width:100%}
.cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-separator{color:#0c285e}
.cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-second{
  width:max-content;max-width:100%;position:relative;
  background:linear-gradient(100deg,#00679e 5%,#00afc2 94%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-second:after{
  content:"";position:absolute;right:0;bottom:-10px;width:35%;height:8px;
  border-radius:90% 100% 40% 70%;transform:rotate(-2deg);
  background:linear-gradient(90deg,#09aabb,#0089a9);
}
.cfm360.cfm360-redesign .cfm360-head>p{
  position:relative;max-width:760px;margin:22px 0 0;
  color:#526f85;font-size:clamp(16px,2.05vw,25px);font-weight:400;line-height:1.45;
}
/* Referenz: lange weiße Reise-Code-Leiste mit eigenem Aktionsknopf. */
.cfm360.cfm360-redesign .cfm360-transfer-strip,
.cfm360.cfm360-redesign .cfm360-privacy-note.cfm360-transfer-strip{
  position:relative;isolation:isolate;z-index:2;
  display:flex;align-items:center;gap:20px;flex-wrap:nowrap;
  max-width:none;width:100%;min-height:88px;
  margin:22px 0 0;padding:14px 18px;
  border:1px solid rgba(222,238,245,.95);border-radius:24px;
  background:rgba(255,255,255,.97);color:#0c285e;
  box-shadow:0 12px 32px rgba(15,76,113,.12);
  text-align:left;
}
.cfm360.cfm360-redesign .cfm360-transfer-icon{
  display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;
  border-radius:50%;color:#fff;
  background:linear-gradient(145deg,#02b9c9,#006fa6);
}
.cfm360.cfm360-redesign .cfm360-transfer-icon svg{
  display:block;width:30px;height:30px;fill:none;stroke:currentColor;
  stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9;
}
.cfm360.cfm360-redesign .cfm360-transfer-copy{
  display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;
  gap:5px;min-width:0;
}
.cfm360.cfm360-redesign .cfm360-transfer-copy>strong{
  display:block;max-width:100%;color:#0c285e;
  font-size:clamp(14px,1.55vw,20px);font-weight:850;
  line-height:1.28;letter-spacing:.035em;
}
.cfm360.cfm360-redesign .cfm360-transfer-copy>span,
.cfm360.cfm360-redesign .cfm360-privacy-note .cfm360-transfer-copy>span{
  display:block;color:#7890a2;
  font-size:clamp(12px,1.14vw,15px);font-weight:400;line-height:1.35;
}
.cfm360.cfm360-redesign .cfm360-transfer-launch{
  display:inline-flex;flex:0 0 36%;align-items:center;justify-content:center;
  min-width:0;min-height:58px;gap:13px;padding:11px 15px;
  border:0;border-radius:999px;background:linear-gradient(105deg,#00b9c7,#0086b2);
  box-shadow:0 5px 16px rgba(0,137,169,.14);
  color:#fff;font:inherit;font-size:clamp(12px,1.2vw,15px);font-weight:850;
  letter-spacing:.075em;cursor:pointer;text-align:center;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease;
}
.cfm360.cfm360-redesign .cfm360-transfer-launch svg{
  width:25px;height:25px;flex:0 0 25px;fill:none;
  stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
}
.cfm360.cfm360-redesign .cfm360-transfer-launch>span{color:#fff}
.cfm360.cfm360-redesign .cfm360-transfer-launch>span:last-child{font-size:24px;font-weight:500;line-height:1}
.cfm360.cfm360-redesign .cfm360-transfer-launch:hover,
.cfm360.cfm360-redesign .cfm360-transfer-launch:focus-visible{
  filter:brightness(1.07);transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,137,169,.24);
}
.cfm360.cfm360-redesign .cfm360-transfer-launch[hidden]{display:none!important}
/* Datenschutz ist weiterhin vorhanden, jetzt dezent aufklappbar statt immer im Sichtfeld. */
.cfm360.cfm360-redesign .cfm360-privacy-toggle.cfm360-transfer-privacy-link{
  display:inline-flex;justify-content:flex-start;align-items:center;align-self:flex-start;
  min-height:22px;width:auto;margin:1px 0 0;padding:0;
  color:#087fa8;font-size:11px;font-weight:650;line-height:1.35;text-decoration:underline;
  text-underline-offset:2px;
}
.cfm360.cfm360-redesign .cfm360-transfer-privacy-link .cfm360-privacy-chevron{
  width:13px;height:13px;flex-basis:13px;margin-left:5px;
}
.cfm360.cfm360-redesign .cfm360-privacy-content{
  position:absolute;top:calc(100% + 7px);left:78px;width:min(620px,calc(100% - 100px));
  margin:0;z-index:20;padding:0 14px;
  border:1px solid #dbeaf1;border-radius:14px;background:#fff;
  box-shadow:0 12px 30px rgba(11,64,88,.2);
  transition:opacity .2s ease,visibility .2s ease;
}
.cfm360.cfm360-redesign .cfm360-privacy-content:not([aria-hidden="true"]){padding:12px 14px}
.cfm360.cfm360-redesign .cfm360-privacy-note.is-collapsed .cfm360-privacy-content{visibility:hidden;pointer-events:none}
.cfm360.cfm360-redesign .cfm360-privacy-content-inner span{
  font-size:12px;color:#466b7b;line-height:1.5;
}
.cfm360.cfm360-redesign .cfm360-dashboard{margin-top:0}
/* Zwei große Karten wie in der Bildvorlage, getrennt von der bestehenden Tab-Navigation. */
.cfm360.cfm360-redesign .cfm360-summary{
  grid-template-columns:minmax(0,1.95fr) minmax(300px,1fr);
  gap:16px;margin:0;
}
.cfm360.cfm360-redesign .cfm360-summary-intro,
.cfm360.cfm360-redesign .cfm360-weather-card{
  border-radius:27px;
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 15px 34px rgba(9,65,99,.12);
}
.cfm360.cfm360-redesign .cfm360-summary-intro{
  justify-content:center;min-height:330px;padding:35px 30px 25px;
  background-color:#055f91;
  background-image:
    linear-gradient(90deg,rgba(0,72,139,.87) 0%,rgba(1,100,159,.7) 36%,rgba(2,82,117,.12) 100%),
    var(--cfm360-card-bg,var(--cfm360-hero-bg,url("images/360-intro-cove.webp")));
  background-size:cover;background-position:center;
}
.cfm360.cfm360-redesign.cfm360-hero-mode-card .cfm360-summary-intro{
  background-image:
    linear-gradient(90deg,rgba(0,72,139,.87) 0%,rgba(1,100,159,.70) 36%,rgba(2,82,117,.12) 100%),
    var(--cfm360-card-bg,url("images/360-intro-cove.webp"));
}
.cfm360.cfm360-redesign .cfm360-summary-intro .cfm360-kicker{
  font-size:clamp(11px,1.1vw,14px);font-weight:800;letter-spacing:.2em;color:#e8fbff;
}
.cfm360.cfm360-redesign .cfm360-summary-intro h2{
  margin:13px 0 15px;max-width:730px;
  font-size:clamp(28px,3.9vw,51px);font-weight:850;line-height:1.08;letter-spacing:-.025em;
  text-shadow:0 1px 13px rgba(0,51,80,.18);
}
.cfm360.cfm360-redesign .cfm360-summary-intro .cfm360-trip-countdown{
  align-self:flex-start;padding:9px 18px;margin:3px 0 17px;
  font-size:clamp(13px,1.4vw,19px);background:rgba(0,49,113,.43);
  border-radius:999px;color:#fff;
}
.cfm360.cfm360-redesign .cfm360-summary-intro p[data-summary]{margin:4px 0 0!important}
.cfm360.cfm360-redesign .cfm360-summary-chips{display:flex;flex-wrap:wrap;gap:8px}
.cfm360.cfm360-redesign .cfm360-summary-chip{
  display:inline-flex;align-items:center;gap:8px;min-height:43px;
  padding:9px 12px;border-radius:13px;background:#fff;color:#0c285e;
  font-size:12px;font-weight:700;white-space:normal;
}
.cfm360.cfm360-redesign .cfm360-summary-icon{width:21px;height:21px;flex-basis:21px}
.cfm360.cfm360-redesign .cfm360-weather-card{
  position:relative;isolation:isolate;gap:14px;
  padding:25px 23px 20px;background:#fff;
}
.cfm360.cfm360-redesign .cfm360-weather-card:before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:170px;height:185px;right:-23px;top:-21px;opacity:.6;
  background:#def1fa;
  clip-path:polygon(55% 0%,95% 11%,98% 26%,88% 47%,100% 68%,78% 88%,56% 92%,37% 98%,22% 70%,5% 57%,13% 28%,32% 18%);
}
.cfm360.cfm360-redesign .cfm360-weather-place{font-size:clamp(16px,1.7vw,23px);gap:8px}
.cfm360.cfm360-redesign .cfm360-weather-place svg{width:23px;height:23px}
.cfm360.cfm360-redesign .cfm360-weather-main{gap:14px;min-height:90px}
.cfm360.cfm360-redesign .cfm360-weather-icon{width:88px;height:88px;color:#edae00}
.cfm360.cfm360-redesign .cfm360-weather-temp{font-size:clamp(34px,4.1vw,57px);font-weight:900}
.cfm360.cfm360-redesign .cfm360-weather-description{font-size:clamp(12px,1.2vw,16px);margin-top:8px}
.cfm360.cfm360-redesign .cfm360-weather-details{font-size:12px;line-height:1.6;color:#6b8798}
.cfm360.cfm360-redesign .cfm360-weather-caption{font-size:11px;color:#7f9aab}
.cfm360.cfm360-redesign .cfm360-weather-caption a{display:inline-block;font-size:11px}
.cfm360.cfm360-redesign .cfm360-weather-edit{min-height:50px;letter-spacing:.12em;font-size:12px}
/* Nur vor dem Tablet auf eine Spalte wechseln; Tabs selbst unverändert. */
@media(max-width:900px){
  .cfm360.cfm360-redesign .cfm360-head:before{width:56%;height:260px}
  .cfm360.cfm360-redesign .cfm360-summary{grid-template-columns:minmax(0,1.35fr) minmax(230px,1fr)}
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:300px;padding:24px 20px}
  .cfm360.cfm360-redesign .cfm360-weather-card{padding:20px 17px}
  .cfm360.cfm360-redesign .cfm360-weather-icon{width:57px;height:57px}
  .cfm360.cfm360-redesign .cfm360-weather-temp{font-size:34px}
  .cfm360.cfm360-redesign .cfm360-transfer-strip,
  .cfm360.cfm360-redesign .cfm360-privacy-note.cfm360-transfer-strip{gap:12px;padding:13px}
  .cfm360.cfm360-redesign .cfm360-transfer-icon{flex-basis:48px;width:48px;height:48px}
  .cfm360.cfm360-redesign .cfm360-transfer-launch{flex-basis:37%;font-size:11px;gap:6px;min-height:52px}
  .cfm360.cfm360-redesign .cfm360-transfer-launch svg{width:20px;height:20px;flex-basis:20px}
}
@media(max-width:650px){
  .cfm360.cfm360-redesign:before{height:1030px}
  .cfm360.cfm360-redesign .cfm360-head{padding:12px 4px 13px}
  .cfm360.cfm360-redesign .cfm360-head:before{
    top:-15px;right:-14px;width:61%;height:170px;opacity:.7;
    border-radius:0 0 0 55%;
  }
  .cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{
    max-width:100%;font-size:clamp(27px,7.1vw,40px);line-height:1.1;
    overflow-wrap:normal;hyphens:auto;
  }
  .cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-second:after{height:5px;bottom:-7px}
  .cfm360.cfm360-redesign .cfm360-head>p{margin:17px 0 0;font-size:15px}
  .cfm360.cfm360-redesign .cfm360-transfer-strip,
  .cfm360.cfm360-redesign .cfm360-privacy-note.cfm360-transfer-strip{
    display:grid;grid-template-columns:44px minmax(0,1fr);
    gap:8px 12px;min-height:0;margin-top:17px;padding:13px;border-radius:19px;
  }
  .cfm360.cfm360-redesign .cfm360-transfer-icon{width:44px;height:44px;flex-basis:44px}
  .cfm360.cfm360-redesign .cfm360-transfer-icon svg{width:24px;height:24px}
  .cfm360.cfm360-redesign .cfm360-transfer-copy>strong{font-size:13px;letter-spacing:.01em}
  .cfm360.cfm360-redesign .cfm360-transfer-copy>span{font-size:12px}
  .cfm360.cfm360-redesign .cfm360-transfer-launch{
    grid-column:1/-1;display:flex;width:100%;min-height:45px;padding:8px 10px;
    font-size:12px;letter-spacing:.05em;
  }
  .cfm360.cfm360-redesign .cfm360-privacy-content{left:7px;width:calc(100% - 14px)}
  .cfm360.cfm360-redesign .cfm360-summary{grid-template-columns:minmax(0,1fr);gap:12px}
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:275px;padding:25px 19px}
  .cfm360.cfm360-redesign .cfm360-summary-intro h2{font-size:clamp(28px,7vw,39px)}
  .cfm360.cfm360-redesign .cfm360-summary-intro .cfm360-trip-countdown{font-size:14px;margin-bottom:13px}
  .cfm360.cfm360-redesign .cfm360-summary-chip{min-height:35px;font-size:11px;padding:6px 9px}
  .cfm360.cfm360-redesign .cfm360-weather-card{
    display:flex;flex-direction:column;gap:11px;padding:18px;border-radius:22px;
  }
  .cfm360.cfm360-redesign .cfm360-weather-place{font-size:18px}
  .cfm360.cfm360-redesign .cfm360-weather-main{gap:16px}
  .cfm360.cfm360-redesign .cfm360-weather-icon{width:66px;height:66px}
  .cfm360.cfm360-redesign .cfm360-weather-temp{font-size:40px}
  .cfm360.cfm360-redesign .cfm360-weather-details,
  .cfm360.cfm360-redesign .cfm360-weather-caption,
  .cfm360.cfm360-redesign .cfm360-weather-edit{grid-column:auto;grid-row:auto}
  .cfm360.cfm360-redesign .cfm360-weather-edit{width:100%;min-height:43px;font-size:12px}
}
@media(max-width:360px){
  .cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{font-size:clamp(24px,7.2vw,30px)}
  .cfm360.cfm360-redesign .cfm360-weather-details{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .cfm360.cfm360-redesign .cfm360-transfer-launch{transition:none}
}
/* Breite Bildvorlage auf großen Desktops nur oberhalb der alten Navigation nutzen. */
@media(min-width:1300px){
  .cfm360.cfm360-redesign .cfm360-head,
  .cfm360.cfm360-redesign .cfm360-summary{
    position:relative;left:50%;width:min(1450px,calc(100vw - 48px));
    max-width:none;transform:translateX(-50%);
  }
  .cfm360.cfm360-redesign .cfm360-head{padding-top:35px;padding-bottom:19px}
  .cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{font-size:clamp(69px,5.32vw,86px)}
  .cfm360.cfm360-redesign .cfm360-head:before{height:365px;width:54%}
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:410px;padding:38px 34px}
  .cfm360.cfm360-redesign .cfm360-summary-intro h2{font-size:clamp(47px,3.7vw,61px)}
  .cfm360.cfm360-redesign .cfm360-weather-card{padding:30px 28px 24px}
}
@media(max-width:650px){
  .cfm360.cfm360-redesign .cfm360-head:before{right:0;opacity:.52}
  .cfm360.cfm360-redesign .cfm360-head>p{text-shadow:0 1px 3px #f0fcff}
}

/* 4.5.102 – Mein 360°: kompakter oberer Bereich bündig zur bestehenden Navigation.
 * Das große Titelbild bleibt unabhängig von Begrüßungs- und Seitenhintergrund einstellbar.
 * Alle Regeln betreffen ausschließlich den Bereich oberhalb der Tab-Navigation. */
.cfm360.cfm360-redesign .cfm360-head{
  z-index:15;overflow:visible;isolation:isolate;
  width:100%;max-width:100%;padding:16px 0 11px;
}
.cfm360.cfm360-redesign .cfm360-head:before{
  top:-20px;right:0;width:64%;height:calc(100% + 20px);
  border-radius:0 0 0 44%;opacity:1;
  background-image:
    linear-gradient(180deg,rgba(239,250,255,0) 0%,rgba(239,250,255,0) 46%,rgba(239,250,255,.40) 69%,#effaff 100%),
    linear-gradient(90deg,#effaff 0%,rgba(239,250,255,.68) 18%,rgba(239,250,255,0) 58%),
    var(--cfm360-title-bg,var(--cfm360-hero-bg,url("images/360-top-coast.webp")));
  background-size:cover;background-position:center,center,center 51%;
  background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 27%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 27%,#000 100%);
}
.cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{
  margin:8px 0 8px;font-size:clamp(34px,4.25vw,59px);line-height:1.07;
}
.cfm360.cfm360-redesign .cfm360-hero-title .cfm360-title-second:after{content:none!important;display:none!important}
.cfm360.cfm360-redesign .cfm360-head>p{margin:9px 0 0;font-size:clamp(15px,1.5vw,21px)}
.cfm360.cfm360-redesign .cfm360-transfer-strip,
.cfm360.cfm360-redesign .cfm360-privacy-note.cfm360-transfer-strip{
  box-sizing:border-box;width:100%;max-width:100%;margin:15px 0 0;
  min-height:76px;padding:12px 15px;border-radius:22px;z-index:30;
}
/* Die geöffnete Datenschutz-Infokarte liegt vor, nicht hinter den großen Karten. */
.cfm360.cfm360-redesign .cfm360-dashboard{position:relative;z-index:1;margin-top:0}
.cfm360.cfm360-redesign .cfm360-privacy-content{
  z-index:100;top:calc(100% + 8px);left:clamp(10px,5%,72px);
  width:min(620px,calc(100% - 20px));max-height:min(65vh,420px);overflow:auto;
  box-shadow:0 20px 48px rgba(6,43,68,.25);
}
.cfm360.cfm360-redesign .cfm360-summary{width:100%;max-width:100%;gap:14px}
.cfm360.cfm360-redesign .cfm360-summary-intro{min-height:300px;padding:28px 27px}
.cfm360.cfm360-redesign .cfm360-weather-card{padding:20px 20px 18px}
@media(min-width:1300px){
  .cfm360.cfm360-redesign .cfm360-head,
  .cfm360.cfm360-redesign .cfm360-summary{
    position:relative;left:auto;right:auto;transform:none;
    width:100%;max-width:100%;
  }
  .cfm360.cfm360-redesign .cfm360-head{padding:16px 0 11px}
  .cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{font-size:clamp(52px,4.25vw,59px)}
  .cfm360.cfm360-redesign .cfm360-head:before{width:64%;height:calc(100% + 20px)}
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:300px;padding:28px 27px}
  .cfm360.cfm360-redesign .cfm360-summary-intro h2{font-size:clamp(37px,3.4vw,47px)}
  .cfm360.cfm360-redesign .cfm360-weather-card{padding:20px 20px 18px}
}
@media(max-width:900px){
  .cfm360.cfm360-redesign .cfm360-head:before{width:62%;height:calc(100% + 20px)}
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:270px;padding:23px 20px}
  .cfm360.cfm360-redesign .cfm360-transfer-strip,
  .cfm360.cfm360-redesign .cfm360-privacy-note.cfm360-transfer-strip{padding:12px}
}
@media(max-width:650px){
  .cfm360.cfm360-redesign .cfm360-head{padding:10px 0 10px}
  .cfm360.cfm360-redesign .cfm360-head:before{
    top:-10px;right:0;width:70%;height:calc(100% + 10px);opacity:.68;
  }
  .cfm360.cfm360-redesign .cfm360-head h1.cfm360-hero-title{
    font-size:clamp(27px,7vw,39px);line-height:1.1;
  }
  .cfm360.cfm360-redesign .cfm360-head>p{margin:12px 0 0;font-size:14px}
  .cfm360.cfm360-redesign .cfm360-transfer-strip,
  .cfm360.cfm360-redesign .cfm360-privacy-note.cfm360-transfer-strip{
    width:100%;margin-top:13px;padding:12px;border-radius:19px;
  }
  .cfm360.cfm360-redesign .cfm360-privacy-content{
    left:0;width:100%;max-height:min(55vh,360px);
  }
  .cfm360.cfm360-redesign .cfm360-summary-intro{min-height:260px;padding:23px 18px}
}


/* CF Homes 4.5.103 – Fragenkatalog: Dekor-Hintergrund darf nicht in den
 * Theme-Footer hineinragen. Die 360°-Sektion bleibt im normalen Seitenfluss.
 * Das gilt für Start/Fragebogen und Dashboard, unabhängig von der Schritthöhe.
 * max-height greift auf die tatsächliche Höhe des positionierten Elternteils,
 * ohne Dialoge, Dropdowns oder die Seite selbst abzuschneiden. */
.cfm360.cfm360-redesign:not(.cfm360-merge-panel)::before{
  max-height:100%;
}

/* 4.5.104 – Der Countdown sitzt etwas hoeher und mit eigenem Abstand vor
 * den Reise-Chips. Die pauschale p-Regel darf seinen Abstand nicht uebersteuern. */
.cfm360.cfm360-redesign .cfm360-summary-intro p.cfm360-trip-countdown:not([hidden]){
  margin:-5px 0 14px!important;
}

/* CF Homes 5.0.3: internationaler Reisemodus – ausschließlich Plan und bestätigte Partnerangebote. */
.cfm360-world-mode [data-today-controls],.cfm360-world-mode [data-pane="today"] .cfm360-day-idea,
.cfm360-world-mode [data-dog-section],.cfm360-world-mode [data-accommodation],
.cfm360-world-mode [data-pane="benefits"],.cfm360-world-mode .cfm360-surprise,
.cfm360-world-mode .cfm360-route-planner{display:none!important}
.cfm360-world-fields{margin-top:16px;padding:16px;border:1px solid #d6eaf0;border-radius:16px;background:#f3fbfd}
.cfm360-world-fields[hidden]{display:none!important}
.cfm360-world-fields label{display:block;color:#0c3570;font-weight:750;margin-bottom:10px}
.cfm360-world-fields input{display:block;width:100%;min-height:44px;font-size:16px;margin-top:5px;border:1px solid #b8d7e3;border-radius:10px;padding:8px 12px;background:white}
.cfm360-world-fields p,.cfm360-world-empty{line-height:1.6;color:#275775}

.cfm360-world-mode .cfm360-route-panel,.cfm360-world-mode .cfm360-available-windows,.cfm360-world-mode [data-dog-section]{display:none!important}

/* 5.0.5 – Wetterkarte weltweit immer in den bisherigen Abmessungen anzeigen. */
.cfm360-world-mode .cfm360-weather-card{display:grid!important;min-height:100%;}
.cfm360-world-mode .cfm360-weather-card.is-unavailable .cfm360-weather-description{font-weight:700;color:#0c3570;max-width:270px}

.cfm360-world-empty{padding:12px 2px}
.cfm360-world-empty p{margin:0 0 14px}
.cfm360-world-empty a{display:inline-flex;align-items:center;min-height:43px;padding:10px 16px;border:1px solid #0089a9;border-radius:12px;color:#087fa8!important;font-size:13px;font-weight:800;text-decoration:none}
.cfm360-world-empty a:hover,.cfm360-world-empty a:focus-visible{color:#fff!important;background:#0089a9}

/* 5.0.6 – Eigene Termine sowie Ankunft/Abfahrt so klar wie regionale Karten. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone{opacity:1!important;filter:none!important;background-color:#fff!important;color:#0c3570!important}
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-own-card-image,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone-image{opacity:1!important;filter:saturate(1.12) contrast(1.08)!important}

/* 5.0.6 – echte GYG-Widget-Treffer und manuelle Produktlink-Uebernahme. */
.cfm360-world-empty{box-sizing:border-box;display:grid;gap:12px;width:100%;min-width:0}
.cfm360-world-empty h3{margin:7px 0 0;color:#0c3570;font-size:16px}
.cfm360-world-gyg-widget{min-height:160px;width:100%;max-width:100%;overflow:hidden}
.cfm360-world-tour-form{display:grid;gap:9px;padding:17px;border:1px solid #d5e9ef;border-radius:14px;background:#f6fbfd}
.cfm360-world-tour-form h4{margin:0;color:#0c3570;font-size:14px}
.cfm360-world-tour-form input{box-sizing:border-box;min-width:0;width:100%;min-height:42px;border:1px solid #bdd8e3;border-radius:9px;padding:9px 11px;font:inherit;font-size:16px;color:#153b52;background:#fff}
.cfm360-world-tour-form button{width:max-content;max-width:100%;min-height:40px;padding:8px 14px;border:0;border-radius:10px;background:#0089a9;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.cfm360-world-tour-form [role=status]{margin:0;font-size:12px;color:#285873}

/* CF Homes 5.0.7 – breiter Aktivitaetenbereich ausschliesslich fuer Meine Reise 360. */
.cfm360.cfm360-world-mode [data-pane="today"],
.cfm360.cfm360-world-mode [data-pane="benefits"]{display:none!important}
.cfm360.cfm360-world-mode [data-pane="stay"],
.cfm360.cfm360-world-mode [data-list="stay"]{
  box-sizing:border-box;width:100%;max-width:100%;min-width:0
}
.cfm360.cfm360-world-mode [data-list="stay"]{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start
}
.cfm360.cfm360-world-mode [data-list="stay"] > .cfm360-world-empty{
  grid-column:1/-1;box-sizing:border-box;width:100%;max-width:none;min-width:0;
  padding:12px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px
}
.cfm360.cfm360-world-mode .cfm360-world-gyg-widget{
  display:block!important;box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0;overflow:visible
}
.cfm360.cfm360-world-mode .cfm360-world-gyg-widget iframe{
  width:100%!important;max-width:100%!important;min-width:0!important
}
.cfm360.cfm360-world-mode .cfm360-world-empty > .cfm360-world-search-link{
  display:flex;box-sizing:border-box;width:100%;max-width:none;justify-content:center;
  text-align:center;white-space:normal;padding:13px 20px;font-size:14px
}
.cfm360.cfm360-world-mode .cfm360-world-tour-form{
  box-sizing:border-box;width:100%;max-width:none;min-width:0;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px
}
.cfm360.cfm360-world-mode .cfm360-world-tour-form h4{
  grid-column:1/-1;font-size:17px;line-height:1.4
}
.cfm360.cfm360-world-mode .cfm360-world-tour-form button{min-height:44px}
.cfm360.cfm360-world-mode .cfm360-world-tour-form [role="status"]{
  align-self:center;font-size:13px;margin:0
}
@media(max-width:900px){
  .cfm360.cfm360-world-mode [data-list="stay"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .cfm360.cfm360-world-mode [data-list="stay"]{grid-template-columns:minmax(0,1fr);gap:12px}
  .cfm360.cfm360-world-mode .cfm360-world-tour-form{grid-template-columns:minmax(0,1fr);padding:14px}
  .cfm360.cfm360-world-mode .cfm360-world-tour-form h4{grid-column:auto}
}
/* 5.0.7 – laengerer Reitertitel darf mobil nicht abgeschnitten werden. */
.cfm360.cfm360-world-mode .cfm360-tabs-content [data-tab="stay"],
body.cfm360-merge-supported .cfm360.cfm360-merge-panel.cfm360-world-mode .cfm360-tabs-content [data-tab="stay"]{
  white-space:normal!important;overflow-wrap:normal;word-break:normal;line-height:1.22!important;
  text-align:center;min-height:55px!important
}
.cfm360.cfm360-world-mode .cfm360-tabs-content [data-world-stay-label]{
  display:inline-block;max-width:100%;white-space:normal
}
@media(max-width:600px){
  .cfm360.cfm360-world-mode .cfm360-tabs-content [data-tab="stay"]{font-size:clamp(10px,2.95vw,13px)!important}
}

/* 5.0.8 – all travel modes: no faded day groups, including custom and travel milestones. */
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-favorite-group,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card:not(.cfm360-is-dragging),
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-trip-milestone{opacity:1!important;filter:none!important}
/* GetYourGuide: compact blue action strip, while the clear affiliate note stays in white card body. */
.cfm360.cfm360-redesign .cfm360-card>.cfm360-card-action.is-gyg,
.cfm360.cfm360-redesign [data-pane="favorites"] .cfm360-plan-card>.cfm360-card-action.is-gyg{
 box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;
 height:43px!important;min-height:43px!important;max-height:43px!important;
 margin-top:auto;padding:0 11px!important;gap:0!important;border-radius:0 0 16px 16px!important;
 background:linear-gradient(115deg,#087fa8,#079ab7)!important;
}
.cfm360.cfm360-redesign .cfm360-card>.cfm360-card-action.is-gyg .cfm360-card-link{
 display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px!important;
 padding:5px 4px!important;margin:0!important;font-size:11px!important;color:white!important;
}
.cfm360.cfm360-redesign .cfm360-card>.cfm360-card-body .cfm360-gyg-commission{
 display:block;color:#5e7481;font-size:10px;font-weight:550;line-height:1.4;letter-spacing:0;
 padding:7px 0 0;margin-top:auto;
}
.cfm360-world-commission{margin:0;padding:0 4px;color:#5d7887;font-size:12px;line-height:1.5}

/* CF Homes 5.0.9 – Meine Reise 360°: Titelbild rechts/unten weich ausblenden.
 * Das bisherige horizontale Maskieren ließ die rechte und untere Bildkante
 * sichtbar – wie einen blauen Rahmen unter der Reise-Code-Leiste.
 * Nur im internationalen Modus; die Costa-Brava-Ansicht bleibt unverändert. */
.cfm360.cfm360-redesign.cfm360-world-mode .cfm360-head::before{
  -webkit-mask-image:
    linear-gradient(to right,transparent 0%,#000 27%,#000 78%,transparent 100%),
    linear-gradient(to bottom,#000 0%,#000 56%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right,transparent 0%,#000 27%,#000 78%,transparent 100%),
    linear-gradient(to bottom,#000 0%,#000 56%,transparent 100%);
  mask-composite:intersect;
}



/* 5.0.12 – Identischer Abstand unter der Navigation in allen 360°-Bereichen,
   einschliesslich der internationalen Aktivitätenansicht (data-pane="stay"). */
.cfm360.cfm360-redesign .cfm360-active-pane-wrap > .cfm360-pane.is-active{
  padding-top:32px!important;
}
@media(max-width:650px){
  .cfm360.cfm360-redesign .cfm360-active-pane-wrap > .cfm360-pane.is-active{
    padding-top:25px!important;
  }
}
