/* Papierkarte zuletzt definieren, damit ihre Form auch mobile Card-Regeln überstimmt. */
#page-overview #ov-todos-card,
body.vacation #page-overview #ov-todos-card{
  --todo-content-left:clamp(38px,3.8vw,58px);
  width:100%;justify-self:stretch;
  background-color:transparent;
  background-image:url('../assets/todo-paper-tape.png?v=2');
  background-repeat:no-repeat;background-position:center;background-size:100% 100%;
  border:0;border-radius:0;box-shadow:none;transform:none;
  padding:clamp(54px,5vw,68px) clamp(48px,6vw,72px) clamp(25px,2.7vw,38px) var(--todo-content-left);
}
#page-overview #ov-todos-card:before{content:none}
#page-overview #ov-todos-card .card-title{padding-right:25%}
#page-overview #ov-todos-card .ov-panel-scroll-arrows{
  right:calc(2.3% + var(--todo-content-left) - 5px);top:53%
}
#page-overview #ov-todos-card .ovt-table th,
#page-overview #ov-todos-card .ovt-table td{border-bottom:0!important}

@media (max-width:767px){
  #page-overview #ov-todos-card,
  body.vacation #page-overview #ov-todos-card{
    --todo-content-left:42px;padding:56px 48px 30px var(--todo-content-left)
  }
}
@media (max-width:480px){
  #page-overview #ov-todos-card,
  body.vacation #page-overview #ov-todos-card{
    --todo-content-left:34px;padding:54px 44px 27px var(--todo-content-left)
  }
}

/* Handgezeichnete Scrollpfeile aus der bereitgestellten PNG. */
.ov-panel-scroll-arrows button,
#page-overview #ov-todos-card .ov-panel-scroll-arrows button{
  width:38px;height:46px;padding:0;border:0!important;border-radius:0;
  background-color:transparent!important;background-repeat:no-repeat!important;
  background-position:center!important;background-size:auto 36px!important;
  box-shadow:none!important;backdrop-filter:none!important;
  color:transparent!important;font-size:0!important;opacity:.88;
  transition:opacity .15s,transform .15s;
}
.ov-panel-scroll-arrows button:first-child{
  background-image:url('../assets/scroll-arrow-up.png?v=1')!important;
}
.ov-panel-scroll-arrows button:nth-child(2){
  background-image:url('../assets/scroll-arrow-down.png?v=1')!important;
}
.ov-panel-scroll-arrows button:hover,
#page-overview #ov-todos-card .ov-panel-scroll-arrows button:hover{
  opacity:1;transform:scale(1.06)!important;background-color:transparent!important;border:0!important;
}
body:not(.light):not(.vacation) #ov-timeline-card .ov-panel-scroll-arrows button{filter:invert(1)}

/* Handgezeichnete Plus-/Minuszeichen fuer die Kartensteuerung. */
#ov-map .leaflet-control-zoom-in,
#ov-map .leaflet-control-zoom-out{
  font-size:0!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:22px auto!important;
}
#ov-map .leaflet-control-zoom-in{
  background-image:url('../assets/map-zoom-in.png?v=1')!important;
}
#ov-map .leaflet-control-zoom-out{
  background-image:url('../assets/map-zoom-out.png?v=1')!important;
}

/* Kartensteuerung ohne Umrandung und Schlagschatten. */
#ov-map .leaflet-control-zoom,
#ov-map .leaflet-control-zoom a{
  border:0!important;
  box-shadow:none!important;
}

/* OpenStreetMap bleibt in allen Modi dieselbe API-freie Basiskarte; im
   Dark-Mode werden ausschließlich die gerenderten Kacheln abgedunkelt. */
#ov-map.osm-map-dark .leaflet-tile-pane{
  filter:invert(1) hue-rotate(180deg) brightness(.72) contrast(.9) saturate(.72);
}
#ov-map .leaflet-control-attribution{
  background:color-mix(in srgb,var(--card) 82%,transparent);
  color:var(--text3);font-size:8px;line-height:1.25;
}
#ov-map .leaflet-control-attribution a{color:var(--text2)}

/* Handgezeichnete Kontur ueber dem weiterhin dynamischen Budgetdiagramm. */
#page-overview .expenses-donut svg{
  position:relative;z-index:1;
}
#page-overview .expenses-donut:after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:url('../assets/budget-stat-shape.png?v=1') center/100% 100% no-repeat;
}
#page-overview .expenses-donut .donut-center{z-index:3}
body:not(.light):not(.vacation) #page-overview .expenses-donut:after{filter:invert(1)}

/* Karte und Reisebudget auf der Startseite ohne Kartenrahmen. */
#page-overview .ov-map-narrow,
#page-overview .ov-expenses-card{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#page-overview .ov-map-narrow .map-card-bar{
  border-bottom:0!important;
}

/* Kalenderkarte ohne Schlagschatten. */
#page-overview #ov-timeline-card{
  box-shadow:none!important;
}

/* Navigation wieder klassisch per Scrollleiste statt mit Pfeilen bedienen. */
.sb-scroll{padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--border2) transparent}
.sb-scroll::-webkit-scrollbar{display:block;width:7px}
.sb-scroll::-webkit-scrollbar-track{background:transparent}
.sb-scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:0}
.sb-scroll::-webkit-scrollbar-thumb:hover{background:var(--text3)}

/* Kalender im handgezeichneten Stil der bereitgestellten Referenz. */
#page-overview #ov-timeline-card{
  --calendar-contrast:var(--teal-text);
  border:0!important;border-radius:20px;padding:27px 34px 25px 29px;
  isolation:isolate;
}
#page-overview #ov-timeline-card:after{
  content:"";position:absolute;inset:7px;z-index:1;pointer-events:none;
  background-color:var(--calendar-contrast);
  -webkit-mask:url('../assets/calendar-frame-mask-v2.png?v=1') center/100% 100% no-repeat;
  mask:url('../assets/calendar-frame-mask-v2.png?v=1') center/100% 100% no-repeat;
}
#page-overview #ov-timeline-card>*{position:relative;z-index:2}
#page-overview #ov-timeline-card .tl-body{padding-right:27px;gap:19px}
#page-overview #ov-timeline-card .tl-cal-wrap{padding:1px 1px 3px}
#page-overview #ov-timeline-card .tl-cal-nav{justify-content:center;gap:27px;margin-bottom:13px}
#page-overview #ov-timeline-card .tl-cal-nav span{
  min-width:150px;text-align:center;font-family:'Urlaubsplaner Headings',sans-serif;
  font-size:19px;font-weight:400;letter-spacing:.055em;line-height:1.2;
}
#page-overview #ov-timeline-card .tl-cal-nav button{
  width:34px;height:28px;padding:0;border:0!important;border-radius:0!important;
  background-color:var(--calendar-contrast)!important;box-shadow:none!important;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  opacity:.92;transition:opacity .15s,transform .15s;
}
#page-overview #ov-timeline-card .tl-cal-nav button.tl-month-prev{
  -webkit-mask-image:url('../assets/calendar-month-prev.png?v=1');mask-image:url('../assets/calendar-month-prev.png?v=1');
}
#page-overview #ov-timeline-card .tl-cal-nav button.tl-month-next{
  -webkit-mask-image:url('../assets/calendar-month-next.png?v=1');mask-image:url('../assets/calendar-month-next.png?v=1');
}
#page-overview #ov-timeline-card .tl-cal-nav button:hover{opacity:1;transform:scale(1.12)}
#page-overview #ov-timeline-card .tl-cal-head{margin-bottom:7px}
#page-overview #ov-timeline-card .tl-cal-head span{font-size:10.5px;letter-spacing:.045em}
#page-overview #ov-timeline-card .tl-cal-grid{gap:4px}
#page-overview #ov-timeline-card .tl-day{
  height:39px;border-radius:8px;font-size:13.5px;font-weight:500;
}
#page-overview #ov-timeline-card .tl-day.trip{font-weight:700}
#page-overview #ov-timeline-card .tl-agenda-title{font-size:13px;letter-spacing:.02em}
#page-overview #ov-timeline-card .tl-empty{font-size:12px}

/* Scrollpfeile des Kalenders werden durch die zwei Originalpunkte ersetzt. */
#page-overview #ov-timeline-card .calendar-scroll-dots{
  position:absolute;right:18px;top:50%;z-index:5;transform:translateY(-50%);
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
#page-overview #ov-timeline-card .calendar-scroll-dots button{
  width:17px;height:17px;padding:0;border:0!important;border-radius:0!important;
  background-color:var(--calendar-contrast)!important;box-shadow:none!important;
  cursor:pointer;opacity:.27;transition:opacity .16s,transform .16s;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
#page-overview #ov-timeline-card .calendar-scroll-dots button:first-child{
  -webkit-mask-image:url('../assets/calendar-scroll-dot-top.png?v=1');mask-image:url('../assets/calendar-scroll-dot-top.png?v=1');
}
#page-overview #ov-timeline-card .calendar-scroll-dots button:nth-child(2){
  -webkit-mask-image:url('../assets/calendar-scroll-dot-bottom.png?v=1');mask-image:url('../assets/calendar-scroll-dot-bottom.png?v=1');
}
#page-overview #ov-timeline-card .calendar-scroll-dots button.is-active{opacity:1;transform:scale(1.08)}
#page-overview #ov-timeline-card .calendar-scroll-dots button:hover{opacity:.72}

/* Der handgezeichnete Kasten des heutigen Tages folgt der Theme-Kontrastfarbe. */
#page-overview #ov-timeline-card .tl-day.today:after{
  background:var(--calendar-contrast)!important;
  -webkit-mask:url('../assets/calendar-selected-frame.png?v=1') center/100% 100% no-repeat;
  mask:url('../assets/calendar-selected-frame.png?v=1') center/100% 100% no-repeat;
}

@media(max-width:1100px){
  #page-overview #ov-timeline-card{padding:25px 31px 24px 27px}
  #page-overview #ov-timeline-card .tl-day{height:42px;font-size:14px}
}
@media(max-width:560px){
  #page-overview #ov-timeline-card{padding:23px 27px 22px 22px}
  #page-overview #ov-timeline-card .tl-body{padding-right:22px}
  #page-overview #ov-timeline-card .tl-cal-nav{gap:12px}
  #page-overview #ov-timeline-card .tl-cal-nav span{min-width:128px;font-size:17px}
  #page-overview #ov-timeline-card .tl-day{height:36px;font-size:12px}
  #page-overview #ov-timeline-card .calendar-scroll-dots{right:13px}
}

/* ── Polaroid-Hero, Pinsel-Countdown und offener Kalender ── */
.topbar-countdown{
  min-width:360px;max-width:46vw;padding:11px 30px 10px;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:#fff;text-shadow:0 1px 1px rgba(104,73,0,.25);overflow:visible;
}
.topbar-countdown:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('../assets/countdown-brush-v1.png?v=1') center/100% 100% no-repeat;
}

#page-overview #ov-hero{
  aspect-ratio:417/469;min-height:0!important;padding:0!important;
  overflow:visible!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#page-overview #ov-hero .hero-photo,
#page-overview #ov-hero .hero-overlay{
  inset:15.56% 7.43% auto;height:63.1%;border-radius:0;
}
#page-overview #ov-hero .hero-overlay{
  background:linear-gradient(180deg,rgba(9,12,22,0) 35%,rgba(9,12,22,.48) 100%);
}
#page-overview #ov-hero .hero-polaroid-frame{
  position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:fill;pointer-events:none;
}
#page-overview #ov-hero .hero-content{
  position:absolute;z-index:4;left:11%;right:11%;bottom:23.5%;margin:0;
}
#page-overview #ov-hero .hero-eyebrow{margin-bottom:7px}
#page-overview #ov-hero .dest-name{font-size:clamp(35px,3.6vw,54px)}
#page-overview #ov-hero .hero-trip-meta{
  position:absolute;z-index:4;left:10.5%;right:10.5%;bottom:8.1%;margin:0;
  color:#413b37;text-shadow:none;font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(10px,.9vw,13px);font-weight:600;line-height:1.35;white-space:normal;
}
#page-overview #ov-hero .hero-nav{
  position:absolute;z-index:4;left:10.5%;bottom:1.9%;gap:13px;
}
#page-overview #ov-hero .hero-arrow{
  width:29px;height:23px;padding:0;border:0!important;border-radius:0!important;
  background-color:#413b37!important;box-shadow:none!important;backdrop-filter:none!important;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;opacity:.86;
}
#page-overview #ov-hero .hero-arrow-prev{
  -webkit-mask-image:url('../assets/calendar-month-prev.png?v=1');mask-image:url('../assets/calendar-month-prev.png?v=1');
}
#page-overview #ov-hero .hero-arrow-next{
  -webkit-mask-image:url('../assets/calendar-month-next.png?v=1');mask-image:url('../assets/calendar-month-next.png?v=1');
}
#page-overview #ov-hero .hero-arrow:hover{opacity:1;transform:scale(1.08)}
#page-overview #ov-hero .hero-todo-warning{top:18%;right:10%;z-index:5}

#page-overview #ov-timeline-card{
  padding:20px 31px 24px 22px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
}
#page-overview #ov-timeline-card:after{inset:2px}
#page-overview #ov-timeline-card .tl-body{padding-right:22px;gap:16px}
#page-overview #ov-timeline-card .tl-cal-wrap{padding:0}
#page-overview #ov-timeline-card .calendar-scroll-dots{right:28px}
#page-overview #ov-timeline-card .tl-agenda{padding:0 3px 12px 1px}
#page-overview #ov-timeline-card .tl-agenda-title{
  margin:0 0 10px;font-family:'Plus Jakarta Sans',sans-serif!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:0!important;
}
#page-overview #ov-timeline-card .tl-empty{margin-bottom:10px}
#page-overview #ov-timeline-card .tl-add-btn{margin-top:9px;margin-bottom:7px}

@media(max-width:1100px){
  .topbar-countdown{min-width:300px;max-width:40vw;padding:9px 24px;font-size:19px}
  #page-overview #ov-hero{width:min(100%,560px);justify-self:center}
  #page-overview #ov-timeline-card{padding:18px 29px 23px 20px!important}
  #page-overview #ov-timeline-card .calendar-scroll-dots{right:26px}
}
@media(max-width:560px){
  #page-overview #ov-hero{width:100%;aspect-ratio:417/469}
  #page-overview #ov-hero .dest-name{font-size:clamp(34px,11vw,48px)}
  #page-overview #ov-hero .hero-trip-meta{font-size:10px}
  #page-overview #ov-timeline-card{padding:17px 26px 22px 18px!important}
  #page-overview #ov-timeline-card .tl-body{padding-right:18px}
  #page-overview #ov-timeline-card .calendar-scroll-dots{right:23px}
}

/* Theme-spezifische Originalgrafiken und feinere Polaroid-Beschriftung. */
body.vacation #page-overview #ov-hero .hero-polaroid-frame{
  content:url('../assets/hero-polaroid-frame-vacation-v1.png?v=1');
}
#page-overview #ov-hero .hero-trip-meta{bottom:12%}
#page-overview #ov-hero .hero-nav{bottom:5.1%;align-items:center}
#page-overview #ov-hero .hero-nav-label{
  color:#413b37;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:600;
  line-height:1;white-space:nowrap;
}

/* Im Lightmode bleiben die hochgeladenen Kalendergrafiken schwarz/grau. */
body.light #page-overview #ov-timeline-card:after{
  background:transparent url('../assets/calendar-frame-mask-v2.png?v=1') center/100% 100% no-repeat;
  -webkit-mask:none;mask:none;
}
body.light #page-overview #ov-timeline-card .tl-cal-nav button{
  background-color:transparent!important;-webkit-mask:none;mask:none;
  background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;
}
body.light #page-overview #ov-timeline-card .tl-cal-nav button.tl-month-prev{
  background-image:url('../assets/calendar-month-prev.png?v=1')!important;
}
body.light #page-overview #ov-timeline-card .tl-cal-nav button.tl-month-next{
  background-image:url('../assets/calendar-month-next.png?v=1')!important;
}
body.light #page-overview #ov-timeline-card .calendar-scroll-dots button{
  background-color:transparent!important;-webkit-mask:none;mask:none;
  background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;
}
body.light #page-overview #ov-timeline-card .calendar-scroll-dots button:first-child{
  background-image:url('../assets/calendar-scroll-dot-top.png?v=1')!important;
}
body.light #page-overview #ov-timeline-card .calendar-scroll-dots button:nth-child(2){
  background-image:url('../assets/calendar-scroll-dot-bottom.png?v=1')!important;
}
body.light #page-overview #ov-timeline-card .tl-day.today:after{background:#2c2927!important}

body.light #page-overview #ov-todos-card .ovt-task .ovt-done,
body.vacation #page-overview #ov-todos-card .ovt-task .ovt-done,
body.light #page-overview #ov-todos-card .stodo-item label.done,
body.vacation #page-overview #ov-todos-card .stodo-item label.done{
  color:#ffffff!important;
}

/* ── Reisebudget direkt auf dem hochgeladenen Papier ── */
#page-overview .ov-expenses-card{
  position:relative;
  padding:72px 25px 27px 38px!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible;
  background-color:transparent!important;
  background-image:url('../assets/subpage-price-paper-v1.png?v=1')!important;
  background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important;
}
#page-overview .ov-budget-title{
  position:absolute;z-index:2;top:16.95%;left:55.7%;width:49%;transform:translate(-50%,-50%);
  margin:0;text-align:center;white-space:nowrap;color:#342a24;
  font-family:'Urlaubsplaner Headings','Outfit',sans-serif;font-size:24px;font-weight:400;
  line-height:1;letter-spacing:.035em;
}
#page-overview #ov-expenses-body{
  width:100%;min-height:0!important;margin:0;background:transparent!important;
  align-items:center!important;justify-content:center;gap:11px!important;
}
#page-overview .expenses-donut,
#page-overview .expenses-donut svg,
#page-overview .expenses-donut .donut-center,
#page-overview .expenses-donut .donut-total,
#page-overview .expenses-donut .donut-label,
#page-overview .expenses-legend,
#page-overview .exp-legend-row,
#page-overview .exp-legend-row .exp-name,
#page-overview .exp-legend-row .exp-val{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
#page-overview .expenses-donut{width:132px;height:120px}
#page-overview .expenses-donut:after{background-color:transparent!important}
#page-overview .expenses-legend{padding:0!important}
#page-overview .exp-legend-row{padding:3px 0}

@media(min-width:1101px) and (max-width:1350px){
  #page-overview .ov-expenses-card{padding:64px 19px 23px 32px!important}
  #page-overview .expenses-donut{width:119px;height:108px}
  #page-overview .exp-legend-row{font-size:11px;gap:6px}
}
@media(max-width:1100px){
  #page-overview .ov-expenses-card{
    min-height:0!important;aspect-ratio:368/297;padding:23% 9% 9% 12%!important;
    justify-self:center;max-width:600px;
  }
}

/* Bei Rundreisen kennzeichnet die Handschrift nur das aktuell gültige Ziel. */
.sb-dest-name .trip-destination-segment,
#page-overview #ov-hero .dest-name .trip-destination-segment,
.sb-dest-name .trip-destination-separator,
#page-overview #ov-hero .dest-name .trip-destination-separator{
  font-family:'Outfit',sans-serif!important;font-weight:400!important;letter-spacing:0!important;
}
.sb-dest-name .trip-destination-segment.is-current,
#page-overview #ov-hero .dest-name .trip-destination-segment.is-current{
  font-family:'Urlaubsplaner Headings','Outfit',sans-serif!important;
  font-weight:400!important;letter-spacing:.055em!important;
}
#page-overview #ov-hero .dest-name .trip-destination-segment:not(.is-current),
#page-overview #ov-hero .dest-name .trip-destination-separator{
  font-size:.5em!important;
  line-height:1.15;
}
#page-overview #ov-hero .dest-name .trip-destination-segment:not(.is-current){
  display:inline-block;padding-left:.72em;
}
.sb-dest-name .trip-destination-segment:not(.is-current),
.sb-dest-name .trip-destination-separator{
  font-size:13px!important;line-height:1.35;color:var(--text2)!important;
}
.sb-dest-name .trip-destination-segment:not(.is-current){display:inline-block;padding-left:.72em}
.sb-dest-name .trip-destination-segment.is-current{
  font-size:20px!important;line-height:1.15;color:var(--teal-text)!important;
}
@media(max-width:560px){
  #page-overview .ov-expenses-card{padding:23% 7% 8% 12%!important}
  #page-overview #ov-expenses-body{gap:8px!important}
  #page-overview .expenses-donut{width:128px;height:116px}
  #page-overview .exp-legend-row{font-size:11px;gap:5px}
}

/* Budget optisch groesser, ohne die Grid-Geometrie der Nachbarkarten zu veraendern. */
#page-overview .ov-expenses-card{
  transform:scale(1.06);transform-origin:center;
}
#page-overview .expenses-donut .donut-total{font-size:15px!important;letter-spacing:.02em!important}
@media(max-width:1100px){#page-overview .ov-expenses-card{transform:scale(1.03)}}
@media(max-width:560px){
  #page-overview .ov-expenses-card{transform:scale(1.015)}
  #page-overview .expenses-donut .donut-total{font-size:14px!important}
  #page-overview .ov-budget-title{font-size:21px}
}

/* Einheitliche, skalierbare Modus-Icons. */
.topbar .theme-emojis{gap:8px}
.topbar .theme-emoji{
  position:relative;width:36px;height:36px;padding:5px;border:1px solid transparent!important;border-radius:10px!important;
  background:transparent!important;box-shadow:none!important;filter:none!important;opacity:1;
}
.topbar .theme-emoji:before{
  content:"";display:block;width:100%;height:100%;background-color:var(--text);
  -webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;transition:background-color .16s,transform .16s,opacity .16s;
  opacity:.88;
}
.topbar .theme-emoji-dark:before{
  -webkit-mask-image:url('../assets/theme-mode-dark-v2.svg?v=2');mask-image:url('../assets/theme-mode-dark-v2.svg?v=2');
}
.topbar .theme-emoji-light:before{
  -webkit-mask-image:url('../assets/theme-mode-light-v2.svg?v=2');mask-image:url('../assets/theme-mode-light-v2.svg?v=2');
}
.topbar .theme-emoji-vacation:before{
  -webkit-mask-image:url('../assets/theme-mode-vacation-v2.svg?v=2');mask-image:url('../assets/theme-mode-vacation-v2.svg?v=2');
}
.topbar .theme-emoji:hover:before{opacity:1;transform:scale(1.06)}
.topbar .theme-emoji:hover,.topbar .theme-emoji.active{border-color:var(--teal-b)!important;background:var(--teal-bg)!important}
.topbar .theme-emoji.active:before{background-color:var(--teal-text);opacity:1}

.nav-group-header .nav-icon-prominent{width:19px!important;height:19px!important;margin-left:-1px;margin-right:-1px}

/* Der Wetterinhalt liegt direkt auf dem gelben Pinselstrich statt in einem Kasten. */
#ov-weather.weather-brush-card{
  isolation:isolate;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;min-height:260px;justify-content:center;
}
#ov-weather.weather-brush-card::before{
  content:"";position:absolute;z-index:-1;inset:-10px -12px -8px;
  background:url('../assets/weather-brush-v2.png?v=2') center/100% 100% no-repeat;
  pointer-events:none;
}
/* Mietwagen: eindeutiges Seitenprofil in der Navigation und Führerschein-Merker. */
.nav-rental-car-icon{width:18px!important;height:18px!important}
.lt-license-reminder{
  min-height:150px;padding:24px 16px 10px;display:flex;align-items:center;justify-content:center;
  gap:24px;text-align:left;color:var(--teal-text);
}
.lt-license-reminder svg{width:96px;height:70px;flex:0 0 auto}
.lt-license-reminder div{display:flex;flex-direction:column;gap:5px}
.lt-license-reminder strong{
  font-family:'Urlaubsplaner Headings','Outfit',sans-serif;font-size:30px;font-weight:400;letter-spacing:.035em;
}
.lt-license-reminder span{font-size:12px;color:var(--text2)}
@media(max-width:620px){
  .lt-license-reminder{min-height:130px;gap:14px;padding-inline:4px}
  .lt-license-reminder svg{width:76px;height:58px}
  .lt-license-reminder strong{font-size:24px}
}

.extra-accommodations-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.extra-accommodation-entry{border-top:1px solid var(--border);padding-top:12px}
.extra-accommodation-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.extra-accommodation-entry-head label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}
.extra-accommodation-entry-head input{width:15px;height:15px;accent-color:var(--teal)}
.extra-accommodation-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.extra-accommodation-fields label{display:flex;flex-direction:column;gap:4px}
.extra-accommodation-fields label.wide{grid-column:span 2}
.extra-accommodation-fields label>span{font-size:11px;color:var(--text2)}
.extra-accommodation-fields input,.extra-accommodation-fields select{width:100%;font-size:12px}
.extra-accommodation-add-toggle{display:flex!important}
@media(max-width:760px){
  .extra-accommodation-fields{grid-template-columns:1fr 1fr}
  .extra-accommodation-fields label.wide{grid-column:1/-1}
}
@media(max-width:470px){.extra-accommodation-fields{grid-template-columns:1fr}}

/* Preisübersichten der Unterseiten direkt auf dem gelieferten Notizpapier. */
.page-summary-price-grid .subpage-price-card{
  position:relative;display:flex;flex-direction:column;justify-content:center;
  min-height:292px!important;padding:78px 38px 34px 52px!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible;
  background-color:transparent!important;
  background-image:url('../assets/subpage-price-paper-v1.png?v=1')!important;
  background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important;
}
.subpage-price-card .subpage-price-title{
  position:absolute;z-index:2;top:16.95%;left:55.7%;width:49%;transform:translate(-50%,-50%);
  margin:0;text-align:center;color:#342a24;
  font-family:'Urlaubsplaner Headings','Outfit',sans-serif;font-size:24px;font-weight:400;
  line-height:1;letter-spacing:.035em;text-transform:none;white-space:nowrap;
}
.subpage-price-card>div:not(.subpage-price-title){background:transparent!important}
.subpage-price-card [style*="border-left"]{border-left-color:rgba(98,84,73,.22)!important}
.subpage-price-card [style*="border-bottom"]{border-bottom-color:rgba(98,84,73,.18)!important}

@media(max-width:1100px){
  .page-summary-price-grid .subpage-price-card{
    width:100%;max-width:680px;min-height:330px!important;justify-self:center;
    padding:88px 46px 40px 60px!important;
  }
  .subpage-price-card .subpage-price-title{font-size:24px}
}
@media(max-width:560px){
  .page-summary-price-grid .subpage-price-card{
    min-height:300px!important;padding:76px 28px 30px 42px!important;
  }
  .subpage-price-card .subpage-price-title{font-size:21px}
  .subpage-price-card>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:12px!important}
  .subpage-price-card [style*="border-left"]{
    min-width:0!important;padding:12px 0 0!important;border-left:0!important;border-top:1px solid rgba(98,84,73,.22)!important;
  }
  .subpage-invoice-upload{grid-template-columns:minmax(0,1fr) auto;margin:0 12px;padding:11px 12px}
  .subpage-invoice-count{grid-column:2;grid-row:2;text-align:center}
}
