/* CF Homes 4.5.30 – Reise-Code: accessible, responsive, flat Empuriabrava 360° styling. */
.cfh-tc-launch{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 17px;border-radius:999px!important;background:#0089a9!important;color:#fff!important;border:1px solid #0089a9!important;font:inherit;font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.015em}
.cfh-tc-launch:hover{background:#006f8b!important;color:#fff!important}
html.cfh-tc-lock{overflow:hidden!important}
.cfh-tc-modal[hidden],.cfh-tc-preview[hidden],.cfh-tc-qr[hidden],.cfh-tc-video[hidden]{display:none!important}
.cfh-tc-modal,.cfh-tc-modal *{box-sizing:border-box}
.cfh-tc-modal{position:fixed!important;inset:0!important;z-index:2147483642!important;display:flex;align-items:center;justify-content:center;padding:15px;font-family:inherit}
.cfh-tc-backdrop{position:absolute;inset:0;background:rgba(4,31,52,.67);backdrop-filter:blur(4px)}
.cfh-tc-dialog{position:relative;z-index:2;width:min(540px,100%);max-height:calc(100dvh - 30px);overflow:auto;padding:24px;border-radius:24px;background:#fff;box-shadow:0 24px 80px rgba(0,25,49,.28);color:#123d5e}
.cfh-tc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cfh-tc-eyebrow{display:block;color:#0089a9;font-size:10px;letter-spacing:.14em;font-weight:900}
.cfh-tc-head h2{font-size:clamp(22px,3.6vw,28px)!important;line-height:1.2!important;margin:5px 0 10px!important;color:#0c3570!important;font-weight:850!important}
.cfh-tc-dialog .cfh-tc-close{display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:#0089a9!important;color:#fff!important;min-width:40px!important;min-height:40px!important;width:40px!important;height:40px!important;padding:0!important;font-size:25px!important;line-height:1!important;cursor:pointer}
.cfh-tc-info,.cfh-tc-privacy{margin:0 0 14px!important;font-size:13px!important;color:#5f7c8e!important;line-height:1.55!important}
.cfh-tc-privacy{margin:18px 0 0!important;font-size:11px!important}
.cfh-tc-status:empty{display:none}
.cfh-tc-status{margin:9px 0;padding:10px 12px;background:#eaf7fa;color:#0c5776;border-radius:12px;font-size:12px;line-height:1.5}
.cfh-tc-status[data-error="1"]{background:#fff0ed;color:#983a2e}
.cfh-tc-qr{display:flex;justify-content:center;padding:14px;background:#f5fbfd;border:1px solid #dbedf2;border-radius:17px;margin:14px 0}
.cfh-tc-canvas{display:block;width:min(100%,250px);height:auto;aspect-ratio:1}
.cfh-tc-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:9px;margin-top:12px}
.cfh-tc-dialog .cfh-tc-button:not(.cfh-tc-close){display:inline-flex;align-items:center;justify-content:center;flex:1 1 170px;min-height:41px;padding:10px 14px;border-radius:12px!important;border:1px solid #cfe5eb!important;background:#f5fafc!important;color:#0c3570!important;font:inherit;font-weight:800;font-size:12px;line-height:1.25;cursor:pointer;text-align:center}
.cfh-tc-dialog .cfh-tc-button.cfh-tc-primary{background:#0089a9!important;border-color:#0089a9!important;color:#fff!important}
.cfh-tc-restore{margin-top:20px;border-top:1px solid #e2eef2;padding-top:15px}
.cfh-tc-restore h3,.cfh-tc-preview h3{font-size:17px!important;color:#0c3570!important;margin:0 0 10px!important}
.cfh-tc-preview{margin-top:15px;background:#f4fafc;border:1px solid #d6e8ee;border-radius:16px;padding:14px}
.cfh-tc-preview p{margin:6px 0!important;font-size:13px!important;line-height:1.5!important;color:#214f68!important}
.cfh-tc-preview .cfh-tc-warning{color:#8d4c25!important;font-weight:750}
.cfh-tc-video{width:100%;max-height:250px;object-fit:cover;margin-top:10px;border-radius:14px;background:#061f2b}
@media(max-width:500px){.cfh-tc-dialog{padding:18px 15px;border-radius:20px}.cfh-tc-actions{gap:8px}.cfh-tc-dialog .cfh-tc-button:not(.cfh-tc-close){flex:1 1 100%}.cfh-tc-canvas{width:min(220px,100%)}}

/* 4.5.32 – QR-Bild-Export hervorheben und Buttons in der Urlaubsplan-Leiste einpassen. */
.cfh-tc-launch.cfh-tc-highlight,.cfh-tc-button.cfh-tc-highlight{box-shadow:0 10px 26px rgba(0,137,169,.22)}
.cfh-tc-dialog .cfh-tc-button.cfh-tc-highlight{font-size:13px}
.cfm360 .cfm360-plan-transfer-actions .cfh-tc-launch{border-radius:999px!important;padding-inline:16px}

/* CF Homes 4.5.33 – password protected travel backups and accessible fallback. */
.cfh-tc-password-box{display:grid;gap:10px;margin:14px 0;padding:16px;border:1px solid #d5e9ef;border-radius:17px;background:#f2fafc}
.cfh-tc-password-box[hidden],.cfh-tc-dialog .cfh-tc-button[hidden]{display:none!important}
.cfh-tc-password-box h3{margin:0!important;font-size:16px!important;font-weight:850!important;color:#0c3570!important}
.cfh-tc-password-box .cfh-tc-hint{margin:0!important;color:#5e7a8a!important;font-size:12px!important;line-height:1.5!important}
.cfh-tc-password-box .cfh-tc-password-input{width:100%;height:45px;padding:10px 13px;border:1px solid #c5e1eb;border-radius:11px;background:#fff;color:#0c3570;font-size:16px;font-family:inherit}
.cfh-tc-password-box .cfh-tc-password-input:focus{outline:2px solid #8bd6e7;outline-offset:2px}
.cfh-tc-dialog .cfh-tc-password-box .cfh-tc-full{width:100%;min-height:44px;flex:auto}
.cfh-tc-scan-hint{font-size:12px!important;line-height:1.6!important;color:#41677d!important;border:1px solid #dcebf1;border-radius:12px;background:#f5fafc;padding:10px 12px;margin:12px 0!important}
.cfh-tc-dialog button:disabled{opacity:.5;cursor:wait}

/* 4.5.33 – QR-Nutzung und optionaler Datei-Export. */
.cfh-tc-capacity{display:grid;gap:7px;margin:4px 0 13px;color:#4c7386;font-size:12px;line-height:1.45}
.cfh-tc-capacity-track{height:8px;overflow:hidden;border-radius:999px;background:#dcebf0}
.cfh-tc-capacity-fill{height:100%;width:0;background:#0089a9;border-radius:999px;transition:width .2s}
.cfh-tc-capacity[data-capacity="low"] .cfh-tc-capacity-fill{background:#bb8a22}
.cfh-tc-capacity[data-capacity="full"] .cfh-tc-capacity-fill{background:#aa3946}
.cfh-tc-file-details{border:1px solid #dbeaf0;border-radius:13px;background:#f6fafc;margin:14px 0 0;padding:10px 13px;color:#456779;font-size:12px}
.cfh-tc-file-details summary{cursor:pointer;font-weight:750}
.cfh-tc-file-actions{padding:12px 0 2px;display:flex;gap:8px;flex-wrap:wrap}
.cfh-tc-file-actions .cfh-tc-button{width:100%;min-height:42px;cursor:pointer}
.cfh-tc-dialog .cfh-tc-button.cfh-tc-highlight{flex:1 1 100%;font-size:14px!important;min-height:46px}
.cfh-tc-dialog .cfh-tc-actions{justify-content:stretch}


/* 4.5.35 – Fortschritt beim Erzeugen/Einlesen, mobile first. */
.cfh-tc-progress[hidden],.cfh-tc-file-details[hidden],.cfh-tc-dialog .cfh-tc-retry[hidden]{display:none!important}
.cfh-tc-progress{display:grid;gap:10px;padding:15px;margin:14px 0;border:1px solid #cee7ee;border-radius:16px;background:linear-gradient(140deg,#eff9fc,#f8fdff)}
.cfh-tc-progress-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cfh-tc-progress-label{font-size:13px;font-weight:800;color:#0c3570}
.cfh-tc-progress-percent{font-size:14px;font-weight:850;color:#0089a9;font-variant-numeric:tabular-nums}
.cfh-tc-progress-track{width:100%;height:11px;border-radius:999px;background:#d8eaf1;overflow:hidden}
.cfh-tc-progress-fill{display:block;width:0%;height:100%;border-radius:999px;background:#0089a9;transition:width .32s ease}
.cfh-tc-progress[data-state="complete"] .cfh-tc-progress-fill{background:#0089a9}
.cfh-tc-progress[data-state="error"] .cfh-tc-progress-label,.cfh-tc-progress[data-state="error"] .cfh-tc-progress-percent{color:#a04437}
.cfh-tc-progress[data-state="error"] .cfh-tc-progress-fill{background:#c66b55}
.cfh-tc-dialog .cfh-tc-retry{width:100%;min-height:41px;margin:8px 0 14px;border:1px solid #0089a9!important;background:#fff!important;color:#0089a9!important;font-weight:800}
@media(prefers-reduced-motion:reduce){.cfh-tc-progress-fill{transition:none}}

/* 4.5.38: high-resolution QR preview; the poster template remains unchanged. */
.cfh-tc-qr .cfh-tc-canvas{width:min(100%,340px);max-width:100%;image-rendering:pixelated}
@media(max-width:500px){.cfh-tc-qr .cfh-tc-canvas{width:min(290px,100%)}}

/* 4.5.39 – Full Reise-Code sheet preview: entry QR plus 4/8/12 data QR tiles. */
.cfh-tc-dialog .cfh-tc-qr{overflow:hidden;align-items:flex-start}
.cfh-tc-dialog .cfh-tc-mosaic-preview{display:block;width:min(100%,390px);height:auto;aspect-ratio:auto;max-width:100%;border:1px solid #d6e8ee;border-radius:12px;box-shadow:0 6px 17px rgba(9,44,65,.14)}
.cfh-tc-dialog .cfh-tc-scan-hint{font-size:12px;line-height:1.55;color:#456879}
@media(max-width:500px){.cfh-tc-dialog .cfh-tc-mosaic-preview{width:min(100%,295px)}}

/* 4.5.40 – Reise-Code direkt im Startbereich statt in einem Popup einlesen. */
.cfm360 .cfm360-reisecode-inline .cfh-tc-dialog{z-index:1;width:100%;max-height:none;overflow:visible;border:1px solid #d2e7ee;box-shadow:0 9px 29px rgba(3,63,93,.1);border-radius:22px}
.cfm360 .cfm360-reisecode-inline .cfh-tc-restore{border-top:0;margin-top:4px;padding-top:0}
.cfm360 .cfm360-reisecode-inline .cfh-tc-restore .cfh-tc-button{font-size:14px}
.cfm360 .cfm360-reisecode-inline .cfh-tc-progress{margin:12px 0 18px}
@media(max-width:520px){.cfm360 .cfm360-reisecode-inline .cfh-tc-dialog{padding:19px 15px;border-radius:18px}}
.cfm360 .cfm360-reisecode-inline .cfh-tc-scan-hint{display:none!important}

/* 4.5.59 – QR dialog: same fixed white SVG cross as all other modals. */
.cfh-tc-dialog button.cfh-tc-close svg{width:20px;height:20px;display:block;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
