/* Camper Portal bookingmodul */
.cpb{--p:#11604D;--a:#E07A3F;--ink:#23292B;--sand:#F6F2EA;--line:#DCD5C8;max-width:420px;margin:32px 0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;font-family:Inter,system-ui,sans-serif;color:var(--ink);box-shadow:0 6px 28px rgba(20,32,28,.08)}
.cpb-head{padding:16px 20px;background:var(--sand);border-bottom:1px solid var(--line)}
.cpb-price{font-family:Outfit,Inter,sans-serif;font-size:22px;font-weight:600;color:var(--p)}
.cpb-price em{font-style:normal;font-size:13px;font-weight:400;color:#8a857b}
.cpb-body{padding:18px 20px}
.cpb-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.cpb-dates label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:4px}
.cpb-dates input{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px}
.cpb-msg{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;box-sizing:border-box;margin-bottom:12px}
.cpb-lines{margin:0 0 12px;font-size:14px}
.cpb-line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--sand)}
.cpb-line.total{font-weight:700;border-bottom:0;font-size:15px}
.cpb-btn{display:flex;width:100%;justify-content:center;padding:13px;border:0;border-radius:999px;background:var(--a);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.cpb-btn:hover{background:#C9692F}
.cpb-btn[disabled]{opacity:.6;cursor:not-allowed}
.cpb-note{font-size:12px;color:#8a857b;text-align:center;margin:10px 0 0}
.cpb-error{background:#FBEAEA;border:1px solid #E5B5B0;color:#7A2A20;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:13px}
.cpb-ok{background:#E9F2EE;border:1px solid #BFD8CE;color:#11604D;border-radius:10px;padding:14px 16px;font-size:14px}
.cpb-login{font-size:14px;text-align:center;padding:8px 0}
.cpb-login a{color:var(--a);font-weight:600}
/* Tilgængelighedskalender */
.cpb-cal{margin-bottom:14px}
.cpb-calnav{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cpb-calnav strong{font-family:Outfit,Inter,sans-serif;font-size:15px;text-transform:capitalize}
.cpb-calnav button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:0;line-height:1;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:16px;cursor:pointer;color:var(--p)}
.cpb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cpb-grid .dow{font-size:10px;font-weight:600;color:#8a857b;text-align:center;padding:3px 0;text-transform:uppercase}
.cpb-grid .day{aspect-ratio:1.15;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:7px;background:var(--sand);cursor:pointer;user-select:none}
.cpb-grid .day:hover:not(.busy):not(.past):not(.empty){outline:2px solid var(--p)}
.cpb-grid .day.empty{background:transparent;cursor:default}
.cpb-grid .day.past{color:#c9c3b6;cursor:default;background:#FBF9F4}
.cpb-grid .day.busy{background:#E8E3D8;color:#b0a994;text-decoration:line-through;cursor:not-allowed}
.cpb-grid .day.sel{background:var(--p);color:#fff;font-weight:600}
.cpb-legend{display:flex;align-items:center;gap:6px;font-size:11px;color:#8a857b;margin-top:8px}
.cpb-legend .lg{width:12px;height:12px;border-radius:4px;display:inline-block;margin-left:8px}
.cpb-legend .lg:first-child{margin-left:0}
.cpb-legend .lg.free{background:var(--sand);border:1px solid var(--line)}
.cpb-legend .lg.busy{background:#E8E3D8}
.cpb-legend .lg.sel{background:var(--p)}

/* G\u00e6stefelter (booking uden login) */
.cpb-guest{display:grid;gap:8px;margin-top:10px}
.cpb-guest input{width:100%;border:1px solid #E4DDD0;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;background:#fff;color:#23292B;box-sizing:border-box}
.cpb-guest input:focus{outline:2px solid #11604D;outline-offset:-1px}
#cpb-website{position:absolute!important;left:-9999px!important;height:1px;width:1px;opacity:0;pointer-events:none}
#cpb-err .cpb-error{margin-top:8px}

.cpb-pet{display:flex;align-items:center;gap:8px;margin:10px 0 2px;font-size:14px;cursor:pointer}
.cpb-pet input{width:auto;margin:0;flex:0 0 auto}
