/* ===== Lumley Ranges — booking diary redesign ===== */
/* Uses the brand tokens (--lr-*) from demo.css. Overrides calendar.css. */

#diary{display:block;max-width:640px;margin:0 auto;border:0;border-collapse:initial;background:none;}
#diary h2{font-size:18px;font-weight:600;color:var(--lr-ink);text-align:center;margin:0 0 16px;}

/* "on the complex now" card */
.oncomplex{max-width:640px;margin:0 auto 22px;background:#e8f6ec;border:1px solid #bfe6c8;border-radius:14px;padding:13px 14px;}
.oc-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1c7a3a;margin-bottom:8px;}
.oc-dot{width:8px;height:8px;border-radius:50%;background:#1c7a3a;display:inline-block;flex:none;}
.oc-row{display:flex;align-items:center;gap:11px;padding:8px 0;border-top:1px solid #cfe8d6;}
.oc-row:first-of-type{border-top:0;}
.oc-av{width:32px;height:32px;border-radius:50%;background:#fff;color:#1c7a3a;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none;}
.oc-body{flex:1;min-width:0;}
.oc-name{font-size:14px;font-weight:600;color:var(--lr-ink);}
.oc-meta{font-size:12px;color:#5a7a63;}
.oc-since{font-size:12px;color:#5a7a63;white-space:nowrap;flex:none;}

/* each day is one full-width card */
.day-section{max-width:640px;margin:0 auto 16px;background:#fff;border:1px solid var(--lr-tint-border);border-radius:16px;box-shadow:0 1px 6px rgba(0,0,0,.05);padding:14px 16px;}
.day-head{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--lr-ink);border-bottom:1px solid var(--lr-tint-border);padding:0 0 11px;}
.day-head .dh-today{display:inline-block;margin-left:8px;font-size:11px;font-weight:600;color:#fff;background:var(--lr-magenta);padding:2px 9px;border-radius:20px;vertical-align:1px;}
.day-body{padding-top:4px;}

/* intro */
.diary-intro{max-width:640px;margin:4px auto 18px;}
.diary-rule{display:flex;gap:9px;align-items:flex-start;background:#fff4e5;border:1px solid #f3d9a8;border-radius:10px;padding:10px 12px;font-size:13px;color:#7a5e2a;margin-bottom:9px;}
.diary-rule strong{color:#9a6700;}
.diary-rule-ic{flex:none;color:#9a6700;font-size:15px;line-height:1.2;}
.diary-intro p{font-size:13px;color:var(--lr-text);text-align:center;margin:0;}
.form-basic .form-title-row h1{color:var(--lr-ink);text-align:center;font-size:22px;font-weight:600;border:0;}

.resv-heading{font-size:12px;font-weight:600;color:#9a6700;margin:2px 2px 7px;}
.resv{display:flex;gap:9px;background:#fff4e5;border:1px solid #f3d9a8;border-radius:10px;padding:10px 12px;margin-bottom:10px;}
.resv .resv-ic{color:#9a6700;flex:none;font-size:15px;line-height:1.3;}
.resv .resv-main{font-size:13px;font-weight:600;color:#9a6700;}
.resv .resv-sub{font-size:12px;color:#7a6a50;margin-top:1px;}
.resv-attendees{margin:-3px 2px 10px;}
.resv-join{margin:-3px 2px 14px;}
.resv-join a{display:inline-flex;align-items:center;gap:8px;background:var(--lr-magenta);color:#fff !important;padding:11px 20px;border-radius:24px;font-size:13px;font-weight:600;letter-spacing:.2px;text-decoration:none !important;box-shadow:0 1px 3px rgba(0,0,0,.14);transition:background .15s ease,transform .04s ease,box-shadow .15s ease;}
.resv-join a:hover{background:var(--lr-magenta-darker);box-shadow:0 2px 6px rgba(0,0,0,.18);}
.resv-join a:active{transform:translateY(1px);}
.resv-join a .ic{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.22);font-size:14px;font-weight:700;line-height:1;}
.resv-joined{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:-3px 2px 14px;}
.resv-on{display:inline-flex;align-items:center;gap:9px;background:#e8f6ec;border:1px solid #bfe6c8;border-radius:24px;padding:8px 15px;font-size:13px;font-weight:600;color:#1c7a3a;}
.resv-on .tick{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#1c7a3a;color:#fff;font-size:11px;flex:none;}
.resv-leave{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;background:#fff;border:1.5px solid var(--lr-tint-border);color:var(--lr-magenta-deep) !important;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:600;text-decoration:none !important;transition:background .15s ease,border-color .15s ease;}
.resv-leave:hover{background:var(--lr-tint);border-color:var(--lr-magenta);}

/* slots are flat rows inside the day card, separated by dividers */
.slot{display:flex;flex-direction:column;padding:13px 2px;background:none;border:0;border-radius:0;box-shadow:none;}
.slot + .slot{border-top:1px solid var(--lr-tint-border);}
.slot.is-reserved .slot-time{color:#9a9a9a;}

/* the underlying php emits actions, then time, then desc — reorder visually */
.slot > .slot-actions{order:3;}
.slot > .event-time{order:1;}
.slot > .event-desc{order:2;}

.event-time{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.slot-time{font-size:15px;font-weight:600;color:var(--lr-ink);}
.slot-count{font-size:12px;color:#8a8a8a;}
.slot-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.slot-badge.mine{background:#e8f6ec;color:#1c7a3a;}
.slot-badge.reserved{background:#ededed;color:#666;}

.event-desc{}
.slot-groups{margin-top:11px;}
.grp{margin-bottom:10px;}
.grp:last-child{margin-bottom:0;}
.grp-label{font-size:12px;font-weight:600;color:var(--lr-text);margin-bottom:6px;}
.grp-label.special{color:var(--lr-magenta-deep);}
.grp-label .grp-count{font-weight:400;color:#8a8a8a;}
.chips{display:flex;flex-wrap:wrap;gap:6px;}
.who.is-hidden{display:none;}
.chips.expanded .who.is-hidden{display:inline-flex;}
.who-more{display:inline-flex;align-items:center;min-height:26px;border:1px solid var(--lr-tint-border);background:#fff;color:var(--lr-magenta-deep);border-radius:20px;padding:3px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
.who-more:hover{background:var(--lr-tint);border-color:var(--lr-magenta);}
.who{display:inline-flex;align-items:center;gap:6px;background:var(--lr-tint);border-radius:20px;padding:3px 11px 3px 3px;font-size:12px;color:var(--lr-ink);line-height:1.3;}
.who .av{width:20px;height:20px;border-radius:50%;background:#fff;color:var(--lr-magenta-deep);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex:none;}
.who .stat{color:#1c7a3a;font-size:11px;font-weight:600;}

.slot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.slot-actions:empty{display:none;margin:0;}
.slot-actions .bookEvent{margin:0;background:none;}
.slot-actions .bookEvent a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;background:var(--lr-magenta);color:#fff !important;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;}
.slot-actions .bookEvent a:hover{background:var(--lr-magenta-darker);}
.bookEventPink{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;background:#ededed;color:#666;padding:8px 14px;border-radius:20px;}

.slot-note{font-size:12px;color:var(--lr-magenta-deep);background:var(--lr-tint);border-radius:8px;padding:8px 10px;margin-top:10px;}

.form-basic .form-title-row h1{color:var(--lr-ink);}
