/* Shared BalTimore interactions and appointment calendar. */
.day-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.day-dialog header h2{margin:8px 0;font:600 23px Arial,sans-serif}.day-dialog header>button{padding:7px}.day-dialog p{font-size:13px;line-height:1.7;color:#d3c6ad}.day-dialog input[type=date],.day-dialog input[type=time]{color-scheme:dark;min-width:0}.day-break[hidden]{display:none}.day-preview{padding:17px;border:1px solid #eec77955;border-radius:12px;background:#26231c;margin:18px 0}.day-preview>b{font-size:16px}.day-preview>span{display:block;color:#d9caad;font-size:12px;margin-top:7px}.day-preview-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;max-height:110px;overflow:auto}.day-preview-times span{padding:5px 8px;border-radius:7px;background:#1a1712;font-size:11px;color:#f9ecd2}.company-booking{display:flex;align-items:center;gap:17px;border-color:#dfb76655;background:linear-gradient(115deg,#25221b,#181612)}.company-booking>div:nth-child(2){flex:1;min-width:0}.company-booking h2{font:600 20px Arial,sans-serif;margin:7px 0}.company-booking p{font-size:12px;line-height:1.65;color:#d0c4ad;margin:7px 0}.company-booking small{color:#f3d8a2;font-size:11px}.company-booking-icon{border:1px solid #efca8150;border-radius:13px;padding:13px;color:#f3d7a0;background:#6f5a3050}.company-booking-icon svg{width:25px;height:25px}.company-booking>button{flex-shrink:0}.company-booking .eyebrow{font-size:8px}@media(max-width:1100px){.company-booking{flex-wrap:wrap}.company-booking>button{width:100%;justify-content:center}}@media(max-width:600px){.day-dialog .fields{grid-template-columns:1fr 1fr}.day-dialog{padding:20px}.company-booking-icon{display:none}}
.social-icon{display:inline-block;vertical-align:middle;flex-shrink:0}button .social-icon,a .social-icon{margin-right:5px}button,.primary,.post,.panel,.company-card{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:not(:disabled):hover,a.primary:hover{transform:translateY(-1px);box-shadow:0 4px 18px #0f0d0b44}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #f4d9a2;outline-offset:4px}.post:hover,.company-card:hover{border-color:#efc97c65}.panel,.post,.profile-card,.composer{animation:solace-enter .24s ease-out}body{background-image:radial-gradient(ellipse at 12% 0%,#71582725,transparent 55%)}@keyframes solace-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.calendar-toolbar h3{text-transform:capitalize;margin:0;font:600 18px var(--body,Arial,sans-serif)}.calendar-toolbar button{padding:10px;border-radius:12px}.calendar-toolbar button svg{margin:0}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-week{text-align:center;color:#bdb4a1;font-size:11px;text-transform:uppercase;margin-bottom:12px}.calendar-day{position:relative;height:clamp(42px,7dvh,70px);min-height:40px;display:flex;align-items:center;justify-content:center;padding:0!important;border:1px solid #ffffff17!important;border-radius:13px;font-size:14px!important;background:#1a1712!important;color:#f6eede!important}.calendar-day.unavailable{background:repeating-linear-gradient(45deg,#ffffff04 0 1px,transparent 1px 6px),#12100d!important;color:#a89f8d!important;opacity:1!important}.calendar-day:disabled{cursor:not-allowed}.calendar-day.available:hover{border-color:#f0ce8a!important;background:#2b271f!important}.calendar-day.today{outline:1px dashed #efca7f;outline-offset:-5px}.calendar-day[aria-pressed=true]{border-color:#f2d394!important;background:#675228!important;box-shadow:0 0 22px #eab95818}.calendar-dot{position:absolute;bottom:12%;width:4px;height:4px;border-radius:50%;background:#efca80}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;color:#c8bea9;margin:15px 0;font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:14px;height:14px;border:1px solid #8d7c59;border-radius:4px}.calendar-legend .available-key{background:#675228}.unavailable-key{background:repeating-linear-gradient(45deg,#ffffff25 0 1px,transparent 1px 4px)}.calendar-legend small{margin-left:auto;color:#b2a487}.calendar-hint{color:#c9bda4;font-size:12px;padding:12px 0}.calendar-times h4{font-size:14px;margin:24px 0 12px}.time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.time-option{display:flex;min-width:0;border:1px solid #ebc98433;border-radius:12px;overflow:hidden;background:#211e18}.time-option>button{border:0;background:transparent;display:flex;align-items:center;gap:6px;padding:11px;flex:1;min-width:0}.time-option span{text-align:left}.time-option small{display:block;font-size:10px;margin-top:3px;color:#d0bf9c}.time-option .slot-remove{flex:0;padding:7px;color:#d0a6ae}.time-option .slot-remove svg{width:16px;margin:0}.time-option button>svg:last-child:not(:first-child){width:14px;margin-left:auto}
.social-dialog.booking-dialog{padding:0;width:720px;max-width:calc(100vw - 24px);max-height:92dvh;overflow:hidden;background:#161410}.booking-dialog[open]{display:flex;flex-direction:column}.booking-head{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff12;flex-shrink:0}.booking-head h2{font:600 20px Arial,sans-serif;margin:7px 0 0;overflow-wrap:anywhere}.booking-head .eyebrow{font-size:9px}.booking-head .icon-button{padding:8px;background:none;border:0}.booking-body{padding:0 26px 24px;overflow:auto;min-height:0}.booking-intro{font-size:12px;color:#c5b89f;margin:22px 0}.booking-footer{position:static;margin:0;padding:15px 26px;border-top:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1a1813;flex-shrink:0}.booking-footer>span{font-size:11px;letter-spacing:0;color:#ccbd9f;display:flex;align-items:center;gap:7px}.booking-footer button{padding:9px 20px}.booking-history{border-top:1px solid #ffffff15;margin-top:24px;padding-top:22px}.booking-history h3{font-size:16px;margin-top:0}.booking-history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #ffffff0c;font-size:12px}.booking-history-row small{display:block;color:#c5bdac;margin-top:5px}.booking-history>a{display:inline-block;color:#f2d59a;font-size:12px;margin-top:18px}.appointment-badge{white-space:nowrap;padding:5px 9px;border-radius:20px;font-size:10px;background:#685d48;color:#f7ecd7}.appointment-badge.accepted{background:#183c35;color:#81dfbe}.appointment-badge.refused,.appointment-badge.cancelled{background:#3e2839;color:#efabbc}.appointment-badge.pending{background:#443c25;color:#e9d48f}.booking-form{margin-top:20px;padding:18px;border-radius:13px;border:1px solid #efc87a60;background:#23201a}.booking-form h3{font-size:15px}.booking-form>small{display:block;color:#cfc4ad;font-size:11px;margin-top:12px}.booking-unavailable{display:block;margin:15px 0;color:#cabda3;font-size:12px}
.image-picker{display:flex;flex-direction:column;gap:10px;position:relative;min-width:0;width:100%;margin-top:8px}.image-picker-zone{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;min-height:106px;padding:20px;border:1px dashed #b89f6c64;border-radius:12px;background:linear-gradient(135deg,#28241d,#191712);cursor:pointer;transition:border-color .18s,background .18s;overflow:hidden}.image-picker-zone:hover,.image-picker-zone:focus-within{border-color:#f4dbaa;background:#2c2820}.image-picker-zone b{display:block;font-size:13px;color:#fbf1de}.image-picker-zone small{display:block;font-size:10px;font-weight:400;color:#c7b89b;margin-top:6px}.image-picker-zone>svg{width:27px;height:27px;color:#f2d499}.image-picker-zone input[type=file]{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;cursor:pointer;margin:0!important;padding:0!important}.image-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.image-previews:empty{display:none}.image-previews img{width:100%;height:110px;object-fit:cover;border-radius:9px;border:1px solid #efcc8535}.image-previews img:only-child{grid-column:1/-1;height:145px}.portrait .image-previews img:only-child{width:96px;height:96px;border-radius:50%;justify-self:center}.image-picker-status{color:#d0c4ad;font-size:11px;overflow-wrap:anywhere;line-height:1.5}.image-picker-status:empty{display:none}.image-clear{align-self:flex-start;padding:5px 0!important;border:0!important;background:none!important;font-size:11px!important;color:#e9d2a3!important;box-shadow:none!important}.image-clear[hidden]{display:none!important}.photo-button:has(.image-picker){border:0;overflow:visible;padding:0;min-width:0;max-width:100%}.photo-button:has(.image-picker)> .image-picker{margin:4px 0 0}.image-picker.compact .image-picker-zone{min-height:40px;padding:8px 11px;gap:7px}.image-picker.compact .image-picker-zone small{display:none}.image-picker.compact .image-picker-zone b{font-size:11px}.image-picker.compact .image-picker-zone svg{width:18px;height:18px}.image-picker.compact .image-previews img{height:70px;max-width:110px}.composer-bottom,.message-compose-actions{align-items:flex-start}.message-signature{min-width:0}.message-signature small{display:block;font-size:10px;color:#ddc79c;margin-top:4px}.message-signature a{color:inherit}.message-signature b{overflow-wrap:anywhere}.media-status{margin:12px 0;font-size:12px;color:#f5ddae}
@media(max-width:600px){.booking-head{padding:18px 16px}.booking-head h2{font-size:17px}.booking-body{padding:0 14px 20px}.booking-footer{padding:13px 16px}.booking-footer>span{font-size:9px}.calendar-grid,.calendar-week{gap:4px}.calendar-day{min-height:38px;border-radius:9px;font-size:12px!important}.calendar-legend{gap:10px;font-size:10px}.calendar-legend small{width:100%;margin:0}.time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.time-option>button{padding:9px}.booking-history-row{flex-wrap:wrap;gap:8px}.image-picker-zone{padding:15px 10px}.composer-bottom{flex-wrap:wrap}.composer-bottom>small{display:none}.message-compose-actions{flex-wrap:wrap}.image-picker.compact{max-width:200px}.calendar-toolbar h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover,a.primary:hover{transform:none!important}}
