/* ptb-anfrage.css — Kit-Formularkarte (src/components/formular/formular.css) auf das WPForms-Markup der Anfrage.
   Geltung nur in der Formular-Karte (.ptb-formular__karte); Scope mit .wpforms-container, damit die Regeln WPForms'
   `div.wpforms-container-full .wpforms-field.wpforms-field-radio ul` (0,3,2, lädt später) schlagen. Werte und Tokens aus dem Kit; Kachel-Optik, Frage mit
   Kopfzeile und Goldstrich, Location als Bild-Kachel 16:10, Text-CTA mit Pfeil. Übernommen aus dem Breakdance-Port
   (csw-lp-form, 06.09.2026), Klassen auf ptb-, Farben auf die Semantik-Tokens des Kits umgestellt. */

.ptb-formular__karte .wpforms-container { margin: 0; max-width: none; }
.ptb-formular__karte .wpforms-container .wpforms-form { font-family: var(--font-body); font-weight: 300; color: var(--text-strong); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page-indicator,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak.wpforms-pagebreak-top,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-required-label,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-hidden,
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-verborgen { display: none !important; }
.ptb-formular__karte .wpforms-container .wpforms-form div.wpforms-field { padding: 0; margin: 0; }
.ptb-formular__karte .wpforms-container .wpforms-form div.wpforms-field + div.wpforms-field:not(.wpforms-field-pagebreak) { margin-top: 9px; }
.ptb-formular__karte .wpforms-container .wpforms-form div.wpforms-field-pagebreak { margin: 0; padding: 0; }
.ptb-formular__karte .wpforms-container .wpforms-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }

/* Frage (erste Feldbezeichnung eines Schritts): Kopfzeile darüber, Goldstrich darunter — wie .ptb-formular__frage */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-label.ptb-frage {
  display: block; width: 100%; float: none; text-align: center; margin: 0 0 20px; padding: 0;
  font-family: var(--font-body); font-weight: 400; font-size: 1.73rem; line-height: 1.15; letter-spacing: -.01em; color: var(--text-strong);
}
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-frage::before {
  content: attr(data-kopfzeile); display: block; font-size: 11px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase;
  color: var(--accent-deep); margin-bottom: 10px;
}
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-frage::after { content: ""; display: block; width: 36px; height: 1px; background: var(--accent); margin: 16px auto 0; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-label:not(.ptb-frage) {
  display: block; text-align: left; font-size: 11px; font-weight: 400; letter-spacing: .13em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 6px;
}
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-description { text-align: center; font-size: 13px; color: var(--text-muted); margin: -8px 0 16px; line-height: 1.5; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-date-time .wpforms-field-description,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-textarea .wpforms-field-description { margin: 6px 0 0; text-align: left; font-size: 12.5px; }

/* Kacheln: Radio-Auswahl als Karten (.ptb-formular__kachel) */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox ul { display: grid; grid-template-columns: 1fr; gap: 9px; margin: 0; padding: 0; list-style: none; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox ul li { margin: 0 !important; padding: 0 !important; } /* WPForms: .wpforms-field-radio ul li { margin: 0 0 5px } (0,3,3) lädt nach uns */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li label,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox ul li label {
  display: block; position: relative; text-align: left; width: 100%; box-sizing: border-box; padding: 13px 16px; border-radius: 14px; cursor: pointer;
  background: var(--surface-page); border: 1px solid var(--border-subtle); margin: 0; font-weight: 400; font-size: 16px; line-height: 1.3; color: var(--text-strong);
  transition: border-color .45s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease), background .45s var(--ease);
}
.ptb-formular--hell .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li label { background: var(--surface-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li label:hover,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox:not(.ptb-zustimmung) ul li label:hover { border-color: var(--accent-deep); transform: translateY(-2px); box-shadow: 0 14px 26px -18px rgba(76,69,61,.5); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li label:active { transform: translateY(0) scale(.985); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li input[type="radio"],
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox:not(.ptb-zustimmung) ul li input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li:has(input:checked) label,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox:not(.ptb-zustimmung) ul li:has(input:checked) label { background: var(--text-strong); border-color: var(--text-strong); color: var(--surface-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li label:focus-visible,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li:has(input:focus-visible) label { outline: 2px solid var(--accent-deep); outline-offset: 2px; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-kachel__icon { display: block; width: 26px; height: 26px; color: var(--accent-deep); margin-bottom: 8px; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-kachel__icon svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.ptb-formular__karte .wpforms-container .wpforms-form li:has(input:checked) .ptb-kachel__icon { color: var(--surface-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-kachel__sub { display: block; font-size: 14px; font-weight: 300; color: var(--text-muted); line-height: 1.35; margin-top: 2px; }
.ptb-formular__karte .wpforms-container .wpforms-form li:has(input:checked) .ptb-kachel__sub { color: rgba(251,247,242,.62); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-kachel__preis { display: block; font-weight: 400; font-size: 1rem; color: var(--accent-deep); margin-top: 3px; }
.ptb-formular__karte .wpforms-container .wpforms-form li:has(input:checked) .ptb-kachel__preis { color: var(--accent); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio.ptb-paket ul li label { border-radius: 0; }
@media (min-width: 520px) {
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul { grid-template-columns: 1fr 1fr; }
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio:is(.ptb-catering, .ptb-paket) ul { grid-template-columns: 1fr; }
}
@media (max-width: 519px) {
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio:not(.ptb-catering):not(.ptb-paket) ul { grid-template-columns: 1fr 1fr; gap: 8px; align-items: stretch; }
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio:not(.ptb-catering):not(.ptb-paket) ul li label { padding: 12px 12px 13px; border-radius: 12px; font-size: 15px; line-height: 1.25; overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; } /* deutsche Silbentrennung statt Bruch mitten im Wort (lang="de-DE" am <html>) */
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio:not(.ptb-catering):not(.ptb-paket) .ptb-kachel__sub { font-size: 12.5px; line-height: 1.3; margin-top: 3px; hyphens: auto; -webkit-hyphens: auto; }
  .ptb-formular__karte .wpforms-container .wpforms-form .ptb-kachel__icon { width: 22px; height: 22px; margin-bottom: 6px; }
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-label.ptb-frage { font-size: 25.3px; line-height: 1.25; }
}

/* Location: Bild-Kacheln 16:10, eckig (.ptb-formular__ort); „Noch offen“ als volle Zeile ohne Bild */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio.ptb-location ul { gap: 10px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio.ptb-location ul li label { display: flex; flex-direction: column; padding: 0; border-radius: 0; overflow: hidden; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .wpforms-image-choices-image { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--border-subtle); margin: 0; border-radius: 0; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .wpforms-image-choices-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border: 0; border-radius: 0; transition: transform 1.2s var(--ease-out); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .wpforms-image-choices-image:empty::after { content: "Motiv folgt"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 12.5px; font-weight: 300; color: var(--text-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .wpforms-image-choices-image::after { box-shadow: none; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location li label:hover .wpforms-image-choices-image img { transform: scale(1.03); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .wpforms-image-choices-label { display: block; padding: 11px 14px 13px; font-size: 17px; font-weight: 400; line-height: 1.25; color: var(--text-strong); transition: background .45s var(--ease); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .ptb-ort__stadt { display: block; font-size: 13px; font-weight: 300; line-height: 1.3; color: var(--text-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .ptb-kachel__sub { font-size: 13.5px; margin-top: 5px; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location li:has(input:checked) label { background: var(--surface-page); border-color: var(--text-strong); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location li:has(input:checked) .wpforms-image-choices-label { background: var(--text-strong); color: var(--surface-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location li:has(input:checked) :is(.ptb-ort__stadt, .ptb-kachel__sub) { color: rgba(251,247,242,.62); }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location li.ptb-ort--offen { grid-column: 1 / -1; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-location li.ptb-ort--offen .wpforms-image-choices-image { display: none; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-image-choices-modern .wpforms-image-choices-image::after { display: none; } /* blauer WPForms-Haken */
@media (max-width: 519px) {
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio.ptb-location ul { gap: 8px; }
  .ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .wpforms-image-choices-label { padding: 9px 11px 11px; font-size: 15px; }
  .ptb-formular__karte .wpforms-container .wpforms-form .ptb-location .ptb-kachel__sub { display: none; }
}

/* Eingabefelder (.ptb-formular__feld) */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea, input.wpforms-datepicker, input.wpforms-timepicker) {
  width: 100%; max-width: none; min-width: 0; box-sizing: border-box; padding: 12px 13px; border-radius: 12px; border: 1px solid var(--border-subtle); background: var(--surface-page);
  font-family: var(--font-body); font-weight: 300; font-size: 15px; color: var(--text-strong); height: auto; line-height: 1.4;
  transition: border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field :is(input, textarea, select):focus { outline: none; border-color: var(--accent-deep); box-shadow: 0 0 0 3px rgba(214,182,146,.25); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field textarea { min-height: 96px; resize: vertical; }
/* Termin paarweise: WPForms setzt clear:both an jedes Feld, die Abstandsregel oben (0,5,2) greift auch hier — daher 0,6,1.
   Die Schrittfrage steht davor (ptb-anfrage.js hebt sie aus dem Von-Feld), sonst sitzt „Bis“ um die Fragenhöhe tiefer. */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page div.wpforms-field.wpforms-field-date-time:is(.ptb-datum-von, .ptb-uhr-von) { float: left; clear: left; width: calc(50% - 5px); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page div.wpforms-field.wpforms-field-date-time:is(.ptb-datum-bis, .ptb-uhr-bis) { float: right; clear: right; width: calc(50% - 5px); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page div.wpforms-field.wpforms-field-date-time:is(.ptb-datum-von, .ptb-datum-bis) { margin-top: 0; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page div.wpforms-field.wpforms-field-date-time:is(.ptb-uhr-von, .ptb-uhr-bis) { margin-top: 9px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field.ptb-flex { clear: both; padding-top: 2px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field.ptb-flex ul li label { text-align: center; font-weight: 300; color: var(--text-muted); background: transparent; border-style: dashed; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field.ptb-flex ul li:has(input:checked) label { background: var(--text-strong); border-style: solid; color: var(--surface-muted); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox.ptb-zustimmung { clear: both; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox.ptb-zustimmung ul li label { display: flex; gap: 11px; align-items: flex-start; font-size: 12.5px; font-weight: 300; color: var(--text-body); line-height: 1.5; padding: 0; border: 0; background: transparent; margin: 14px 0 4px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox.ptb-zustimmung ul li:has(input:checked) label { background: transparent; color: var(--text-body); }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-checkbox.ptb-zustimmung ul li input { position: static; opacity: 1; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--text-strong); pointer-events: auto; flex: 0 0 auto; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-zustimmung a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Fehler (.ptb-formular__feld[aria-invalid]) */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-error, .ptb-formular__karte .wpforms-container .wpforms-form em.wpforms-error { font-size: 12px; font-style: normal; color: var(--status-danger); margin-top: 6px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field :is(input, textarea).wpforms-error { border-color: var(--status-danger); box-shadow: 0 0 0 3px rgba(192,85,63,.16); }

/* Fußleiste: Zurück · Hinweis · Weiter/Absenden als Text-CTA mit Pfeil (.ptb-formular__fuss, .ptb-formular__weiter) */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak .wpforms-clear,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-submit-container { display: block; clear: both; margin-top: 20px; padding: 16px 0 0; border-top: 1px solid var(--border-subtle); }
/* Seitenumbruch: WPForms rendert Zurück und Weiter in zwei Gruppen nebeneinander — eine Zeile wie .ptb-formular__fuss */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak .wpforms-clear { display: flex; align-items: center; gap: 14px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak .wpforms-clear::before,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak .wpforms-clear::after { display: none; }   /* Clearfix-Pseudos wären Flex-Kinder (+14 px Einzug) */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak .wpforms-page-button-group { flex: 0 0 auto; width: auto; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-pagebreak .wpforms-page-button-group + .wpforms-page-button-group { flex: 1 1 auto; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page-button-group,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-submit-container .ptb-gruppe { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; }
/* „Zurück“: WPForms `div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active)` hat 0,4,1 und lädt später — Gruppe mit in den Selektor (0,5,1) */
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page-button-group button.wpforms-page-prev,
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-gruppe button.wpforms-page-prev {
  order: 1; flex: 0 0 auto; width: auto; min-width: 0; height: auto; text-align: left; background: none; border: 0; cursor: pointer; padding: 6px 0; margin: 0; font-family: var(--font-body); font-size: 13px; font-weight: 300;
  color: var(--text-muted); letter-spacing: .05em; line-height: 1.4; transition: color .4s var(--ease);
}
.ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-button-group, .ptb-gruppe) button.wpforms-page-prev:is(:hover, :active, :focus) { color: var(--text-strong); background: none; box-shadow: none; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-fussnotiz { order: 2; flex: 1 1 auto; min-height: 34px; display: flex; align-items: center; font-size: 12px; color: var(--text-muted); line-height: 1.4; }
.ptb-formular__karte .wpforms-container .wpforms-form :is(button.wpforms-page-next, button.wpforms-submit[type="submit"]) {
  order: 3; flex: 0 0 auto; margin: 0 0 0 auto; display: inline-flex; align-items: center; gap: 14px; cursor: pointer; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
  color: var(--text-strong); font-family: var(--font-body); font-size: 18px; line-height: 26px; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; height: auto; min-height: 0;
  transition: color .4s var(--ease);
}
.ptb-formular__karte .wpforms-container .wpforms-form :is(button.wpforms-page-next, button.wpforms-submit[type="submit"]):is(:hover, :focus) { background: transparent; box-shadow: none; color: var(--text-strong); }
.ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-next, .wpforms-submit):focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 4px; }
.ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-next, .wpforms-submit) .ptb-pfeil { display: flex; color: inherit; transition: transform .6s cubic-bezier(.32,.72,0,1); }
.ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-next, .wpforms-submit):hover .ptb-pfeil { transform: translateX(4px); }
.ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-next, .wpforms-submit) svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.3; stroke-linecap: butt; stroke-linejoin: miter; display: block; }
.ptb-formular__karte .wpforms-container .wpforms-form .ptb-btn__t {
  padding-bottom: 5px; background-image: linear-gradient(var(--accent), var(--accent)), linear-gradient(currentColor, currentColor); background-repeat: no-repeat;
  background-position: left bottom, left bottom; background-size: 0 1px, 100% 1px; transition: background-size .7s cubic-bezier(.32,.72,0,1);
}
.ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-next, .wpforms-submit):hover .ptb-btn__t { background-size: 100% 1px, 100% 1px; }
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-submit-container .wpforms-submit-spinner,
.ptb-formular__karte .wpforms-container .wpforms-form .wpforms-page-button-group img { display: none; }
@media (max-width: 767px) {
  .ptb-formular__karte .wpforms-container .wpforms-form :is(.wpforms-page-next, .wpforms-submit) { font-size: 15px; line-height: 22px; letter-spacing: .07em; gap: 12px; }
  .ptb-formular__karte .wpforms-container .wpforms-form button.wpforms-page-prev { font-size: 14px; }
}
@media (pointer: coarse) {
  .ptb-formular__karte .wpforms-container .wpforms-form :is(button.wpforms-page-next, button.wpforms-submit[type="submit"]) { min-height: 44px; padding: 8px 0; }
  .ptb-formular__karte .wpforms-container .wpforms-form .wpforms-field-radio ul li label { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .ptb-formular__karte .wpforms-container .wpforms-form :is(label, img, .ptb-pfeil, .ptb-btn__t) { transition: none !important; }
}

/* Datepicker (flatpickr) im CD — Serif-Monat, Gold-Akzente */
.flatpickr-calendar.ptb-dp { font-family: var(--font-body); border-radius: 16px; box-shadow: 0 30px 60px -30px rgba(76,69,61,.45); border: 1px solid var(--border-subtle); }
.flatpickr-calendar.ptb-dp .flatpickr-current-month { font-family: var(--font-display); font-weight: 400; font-size: 1.15rem; color: var(--text-strong); }
.flatpickr-calendar.ptb-dp .flatpickr-day.selected, .flatpickr-calendar.ptb-dp .flatpickr-day.selected:hover { background: var(--text-strong); border-color: var(--text-strong); color: #fff; }
.flatpickr-calendar.ptb-dp .flatpickr-day.today { border-color: var(--accent); }
.flatpickr-calendar.ptb-dp .flatpickr-day:hover { background: var(--surface-muted); border-color: var(--border-subtle); }
.flatpickr-calendar.ptb-dp .flatpickr-weekday { color: var(--text-muted); font-weight: 400; letter-spacing: .08em; }
