 @import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Figtree:wght@300;400;500;600;700&family=Caveat:wght@500;700&display=swap');:root{--cafune-bronze:#9E6B45;--cafune-bronze-dark:#6E4829;--cafune-bronze-light:#B8855F;--cafune-ink:#2A1F1A;--cafune-ink-soft:#5A4A40;--cafune-ink-mute:#8A7568;--cafune-cream:#F4ECE2;--cafune-cream-deep:#EADFCF;--cafune-paper:#FBF6EF;--cafune-rose:#E5C3B1;--cafune-line:rgba(42,31,26,0.12);--cafune-radius:10px;}body{font-family:'Figtree',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;color:var(--cafune-ink);background-color:#fcf9f5;-webkit-font-smoothing:antialiased;}h1,h2,h3,.brand-serif{font-family:'DM Serif Display',Georgia,serif;color:var(--cafune-ink);letter-spacing:-0.01em;}#header{background-color:var(--cafune-ink) !important;border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 20px rgba(42,31,26,0.12);}#header #header-logo{display:flex;align-items:center;gap:12px;padding:8px 16px;}#header #header-logo img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(158,107,69,0.6),0 4px 8px rgba(0,0,0,0.2);margin-right:0;float:none;transition:transform 0.2s ease;}#header #header-logo:hover img{transform:scale(1.04);}#header #header-logo .brand-text-container{display:flex;flex-direction:column;justify-content:center;}#header #header-logo h6{font-family:'DM Serif Display',serif !important;font-size:1.15rem;letter-spacing:0.03em;color:#ffffff !important;margin:0;line-height:1.2;text-transform:uppercase;}#header #header-logo small{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--cafune-rose) !important;margin-top:2px;opacity:0.9;}#header #header-menu .nav-link{color:rgba(255,255,255,0.82) !important;font-weight:500;font-size:0.92rem;transition:all 0.2s ease;border-radius:6px;margin:4px 2px;padding:10px 14px;}#header #header-menu .nav-link:hover{color:#ffffff !important;background-color:rgba(158,107,69,0.25) !important;}#header #header-menu .nav-item.active .nav-link{color:#ffffff !important;background-color:var(--cafune-bronze) !important;box-shadow:0 2px 8px rgba(158,107,69,0.35);}.btn-primary{background-color:var(--cafune-bronze) !important;border-color:var(--cafune-bronze) !important;color:#ffffff !important;font-weight:600;letter-spacing:0.02em;border-radius:var(--cafune-radius);padding:8px 18px;transition:all 0.2s cubic-bezier(0.16,1,0.3,1);box-shadow:0 3px 8px rgba(158,107,69,0.22);}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:var(--cafune-bronze-dark) !important;border-color:var(--cafune-bronze-dark) !important;color:#ffffff !important;box-shadow:0 6px 16px rgba(110,72,41,0.32) !important;transform:translateY(-1px);}.btn-outline-primary{color:var(--cafune-bronze) !important;border-color:var(--cafune-bronze) !important;border-radius:var(--cafune-radius);}.btn-outline-primary:hover{background-color:var(--cafune-bronze) !important;color:#ffffff !important;}.form-control,.form-select{border-radius:8px;border:1px solid rgba(42,31,26,0.18);transition:border-color 0.2s ease,box-shadow 0.2s ease;}.form-control:focus,.form-select:focus{border-color:var(--cafune-bronze) !important;box-shadow:0 0 0 3px rgba(158,107,69,0.16) !important;}#login-frame{background:var(--cafune-paper);border:1px solid var(--cafune-line) !important;border-radius:18px;box-shadow:0 24px 48px rgba(42,31,26,0.09) !important;padding:48px 40px !important;}.login-brand-header{text-align:center;margin-bottom:28px;}.login-brand-header img{width:84px;height:84px;border-radius:50%;margin:0 auto 16px;display:block;box-shadow:0 6px 16px rgba(42,31,26,0.12),0 0 0 3px var(--cafune-rose);}.login-brand-header h2{font-size:1.85rem;margin-bottom:6px;color:var(--cafune-ink);}.login-brand-header p{color:var(--cafune-ink-mute);font-size:0.95rem;margin:0;}#book-appointment-wizard{border-radius:18px;overflow:hidden;box-shadow:0 20px 45px rgba(42,31,26,0.08);background:#ffffff;}#book-appointment-wizard #header{background:linear-gradient(145deg,var(--cafune-ink) 0%,#3D2920 100%) !important;border-bottom:2px solid var(--cafune-bronze);padding:10px 16px !important;}#book-appointment-wizard #header .brand-left{gap:10px;}#book-appointment-wizard #header #company-logo{width:36px !important;height:36px !important;border-radius:50% !important;object-fit:cover !important;box-shadow:0 0 0 2px var(--cafune-rose),0 2px 8px rgba(0,0,0,0.3) !important;background:#ffffff;margin:0 !important;display:inline-block !important;}#book-appointment-wizard #header .brand-title{font-family:'DM Serif Display',Georgia,serif !important;color:#ffffff !important;font-size:1.05rem !important;line-height:1.15 !important;letter-spacing:0.01em !important;margin:0 !important;}#book-appointment-wizard #steps.steps-compact{display:flex !important;align-items:center !important;gap:6px !important;margin:0 !important;}#book-appointment-wizard .book-step{background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.22);width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;float:none;transition:all 0.2s ease;}#book-appointment-wizard .book-step[style*="display:none"],#book-appointment-wizard .book-step[style*="display:none"],#book-appointment-wizard .book-step.hidden{display:none !important;}#book-appointment-wizard .book-step strong{color:rgba(255,255,255,0.7);font-size:10px;font-weight:600;line-height:1;}#book-appointment-wizard .book-step.active-step{background:linear-gradient(135deg,var(--cafune-bronze) 0%,#7D5130 100%) !important;border:1.5px solid #ffffff !important;width:28px !important;height:28px !important;box-shadow:0 0 0 2px rgba(158,107,69,0.4),0 2px 6px rgba(0,0,0,0.25) !important;}#book-appointment-wizard .book-step.active-step strong{color:#ffffff !important;font-size:11px !important;font-weight:700 !important;}.quick-date-card{background:#ffffff;border:1.5px solid rgba(158,107,69,0.2);border-radius:12px;padding:8px 4px;cursor:pointer;transition:all 0.2s cubic-bezier(0.16,1,0.3,1);user-select:none;}.quick-date-card:hover{border-color:var(--cafune-bronze);background:#FAF6F0;transform:translateY(-2px);box-shadow:0 4px 10px rgba(158,107,69,0.12);}.quick-date-card.active-date-card{background:linear-gradient(135deg,var(--cafune-bronze) 0%,#7D5130 100%) !important;border-color:#7D5130 !important;box-shadow:0 5px 14px rgba(158,107,69,0.35) !important;transform:translateY(-2px);}.btn-outline-cafune{border:1px solid rgba(158,107,69,0.35) !important;color:var(--cafune-bronze) !important;background:transparent !important;border-radius:20px !important;font-size:0.75rem !important;font-weight:600 !important;padding:3px 10px !important;transition:all 0.2s ease !important;}.btn-outline-cafune:hover{background:var(--cafune-bronze) !important;color:#ffffff !important;border-color:var(--cafune-bronze) !important;}.fc .fc-button-primary{background-color:var(--cafune-bronze) !important;border-color:var(--cafune-bronze) !important;border-radius:6px;}.fc .fc-button-primary:hover,.fc .fc-button-primary:active,.fc .fc-button-primary.fc-button-active{background-color:var(--cafune-bronze-dark) !important;border-color:var(--cafune-bronze-dark) !important;}.fc-day-today{background-color:rgba(244,236,226,0.5) !important;}a{color:var(--cafune-bronze);text-decoration:none;transition:color 0.15s ease;}a:hover{color:var(--cafune-bronze-dark);}.badge.bg-primary{background-color:var(--cafune-bronze) !important;}.modal-header{background-color:var(--cafune-ink) !important;color:#ffffff !important;border-bottom:2px solid var(--cafune-bronze) !important;border-top-left-radius:calc(var(--cafune-radius) + 2px);border-top-right-radius:calc(var(--cafune-radius) + 2px);}.modal-header .btn-close{filter:invert(1) grayscale(100%) brightness(200%);}.modal-content{border-radius:var(--cafune-radius);border:1px solid var(--cafune-line);box-shadow:0 16px 36px rgba(42,31,26,0.15);}.table thead th{background-color:var(--cafune-cream);color:var(--cafune-ink);font-weight:600;border-bottom:1px solid var(--cafune-line);font-size:0.88rem;letter-spacing:0.03em;text-transform:uppercase;}.table-hover tbody tr:hover{background-color:rgba(244,236,226,0.45) !important;}.dropdown-menu{border-radius:var(--cafune-radius);border:1px solid var(--cafune-line);box-shadow:0 12px 28px rgba(42,31,26,0.1);padding:6px;}.dropdown-item{border-radius:6px;padding:8px 14px;font-size:0.9rem;transition:all 0.15s ease;}.dropdown-item:hover{background-color:var(--cafune-cream);color:var(--cafune-ink);}.dropdown-item.active,.dropdown-item:active{background-color:var(--cafune-bronze) !important;color:#ffffff !important;}.flatpickr-calendar,.flatpickr-calendar.inline,body .flatpickr-calendar,#book-appointment-wizard .flatpickr-calendar{background:#ffffff !important;border:1px solid rgba(158,107,69,0.2) !important;border-radius:14px !important;box-shadow:0 8px 24px rgba(42,31,26,0.06) !important;overflow:hidden !important;font-family:'Figtree',sans-serif !important;width:290px !important;max-width:100% !important;margin:0 auto 10px !important;}.flatpickr-calendar .flatpickr-months,.flatpickr-calendar .flatpickr-months .flatpickr-month,body .flatpickr-calendar .flatpickr-months{background:linear-gradient(135deg,var(--cafune-ink) 0%,#463025 100%) !important;color:#ffffff !important;fill:#ffffff !important;padding:6px 0 !important;border-top-left-radius:13px !important;border-top-right-radius:13px !important;}.flatpickr-calendar .flatpickr-current-month,.flatpickr-calendar .flatpickr-current-month *{color:#ffffff !important;font-family:'DM Serif Display',Georgia,serif !important;}.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:hover,.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-calendar .flatpickr-current-month select,.flatpickr-calendar .flatpickr-current-month .cur-month,.flatpickr-calendar .flatpickr-current-month span.cur-month{background:transparent !important;background-color:transparent !important;color:#ffffff !important;border:none !important;outline:none !important;box-shadow:none !important;font-size:1.15rem !important;font-weight:400 !important;padding:0 4px !important;-webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;}.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option,.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:var(--cafune-ink) !important;color:#ffffff !important;}.flatpickr-calendar .flatpickr-prev-month svg,.flatpickr-calendar .flatpickr-next-month svg{fill:var(--cafune-rose) !important;stroke:var(--cafune-rose) !important;transition:all 0.2s ease !important;}.flatpickr-calendar .flatpickr-prev-month:hover svg,.flatpickr-calendar .flatpickr-next-month:hover svg{fill:#ffffff !important;stroke:#ffffff !important;transform:scale(1.15);}.flatpickr-calendar .flatpickr-weekdays,body .flatpickr-calendar .flatpickr-weekdays{background:#241A15 !important;padding:2px 0 !important;}.flatpickr-calendar span.flatpickr-weekday,body .flatpickr-calendar span.flatpickr-weekday{background:transparent !important;color:var(--cafune-rose) !important;font-size:0.72rem !important;font-weight:600 !important;letter-spacing:0.05em !important;text-transform:uppercase !important;}.flatpickr-calendar .flatpickr-days,.flatpickr-calendar .dayContainer{padding:4px !important;background:#ffffff !important;width:100% !important;min-width:100% !important;max-width:100% !important;}.flatpickr-day{color:var(--cafune-ink) !important;border-radius:6px !important;font-weight:500 !important;height:32px !important;line-height:32px !important;font-size:0.85rem !important;transition:all 0.15s ease !important;}.flatpickr-day:hover,.flatpickr-day:focus{background:var(--cafune-cream) !important;border-color:transparent !important;color:var(--cafune-ink) !important;border-radius:6px !important;}.flatpickr-day.today{border-color:var(--cafune-bronze) !important;color:var(--cafune-bronze) !important;font-weight:700 !important;}.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected.nextMonthDay{background:linear-gradient(135deg,var(--cafune-bronze) 0%,#7D5130 100%) !important;border-color:#7D5130 !important;color:#ffffff !important;font-weight:700 !important;border-radius:6px !important;box-shadow:0 3px 8px rgba(158,107,69,0.35) !important;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:rgba(42,31,26,0.2) !important;}#footer{background-color:#ffffff;border-top:1px solid var(--cafune-line);color:var(--cafune-ink-mute);font-size:0.85rem;}#footer a{color:var(--cafune-ink-soft);font-weight:500;}#footer a:hover{color:var(--cafune-bronze);}#book-appointment-wizard #available-hours{display:flex !important;flex-wrap:wrap !important;gap:10px !important;width:100% !important;max-height:280px;overflow-y:auto;padding:4px 2px;margin:12px 0 16px 0 !important;}#book-appointment-wizard #available-hours .available-hour{flex:1 0 calc(33.333% - 10px) !important;max-width:calc(33.333% - 10px) !important;min-width:85px !important;margin:0 !important;border-radius:12px !important;padding:10px 4px !important;font-size:0.92rem !important;font-weight:600 !important;color:#2A1F1A !important;background:#FFFFFF !important;border:1.5px solid #E5C3B1 !important;transition:all 0.2s ease !important;box-shadow:0 2px 6px rgba(42,31,26,0.04) !important;}#book-appointment-wizard #available-hours .available-hour:hover{border-color:#9E6B45 !important;background:#FDF9F6 !important;color:#9E6B45 !important;transform:translateY(-1px);}#book-appointment-wizard #available-hours .available-hour.selected-hour{background:#9E6B45 !important;border-color:#9E6B45 !important;color:#FFFFFF !important;box-shadow:0 4px 12px rgba(158,107,69,0.3) !important;}#wizard-frame-2 .frame-container{max-width:540px;margin:0 auto;}#quick-month-display{font-size:1.25rem !important;color:#2A1F1A !important;text-transform:capitalize;}
