/* Hammas (iBron) broneerimiskalender – Primadenti kujundus. Kirjutab üle ibron.innovaatik.ee vaikestiili. */
.hp-calendar-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: start; margin: 1.5rem 0 .5rem; font-family: inherit; }
.hp-calendar-container * { font-family: inherit !important; box-sizing: border-box; }
.hp-calendar, .hp-calendar .hp-lists { width: 100% !important; float: none !important; border: 0 !important; padding: 0 !important; background: none !important; }

/* Valikud: kliinik, teenus, arst */
.hp-calendar .hp-lists select,
.hp-calendar select { display: block; width: 100% !important; height: auto !important; margin: 0 0 .6rem !important; padding: .65rem 2.4rem .65rem .9rem !important; font-size: .95rem !important; color: #14151b !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23c83098' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .9rem center !important; border: 1px solid #dfe3e8 !important; border-radius: 10px !important; -webkit-appearance: none; appearance: none; cursor: pointer; }
.hp-calendar select:focus { outline: 2px solid #c83098; outline-offset: 1px; }
.hp-calendar .hp-loc-list:empty { display: none !important; }

/* Kuu kalender */
.hp-calendar-wrapper { width: 100% !important; margin-top: .4rem; padding: 1rem !important; background: #fff !important; border: 1px solid #eef0f3 !important; border-radius: 16px !important; box-shadow: 0 8px 30px rgba(43, 52, 71, .07); }
.hp-month-header { display: flex !important; align-items: center; justify-content: space-between; margin-bottom: .6rem; height: auto !important; }
.hp-month-prev { order: 0; float: none !important; }
.hp-month-title { order: 1; flex: 1; text-align: center; float: none !important; }
.hp-month-next { order: 2; float: none !important; }
.hp-month-title { font-size: 1.05rem !important; font-weight: 600 !important; color: #14151b !important; text-transform: capitalize; }
.hp-month-prev, .hp-month-next { width: 34px; height: 34px; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50%; color: #c83098 !important; font-size: 1.2rem !important; cursor: pointer; }
.hp-month-prev:hover, .hp-month-next:hover { background: #fbe1ec; }
.hp-month-prev.hp-disabled, .hp-month-next.hp-disabled { opacity: .25; cursor: default; background: none; }
.hp-week-header { border: 0 !important; margin-bottom: .2rem; }
.hp-week-header .hp-day-box, .hp-week-header div { color: #8a919a !important; font-size: .75rem !important; font-weight: 600 !important; }
.hp-days-box { border: 0 !important; }
.hp-day-box { width: 14.2857% !important; height: 44px !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 2px !important; border: 0 !important; background: none !important; }
.hp-day-label { width: 36px !important; height: 36px !important; line-height: 36px !important; display: flex !important; align-items: center; justify-content: center; border-radius: 50%; font-size: .9rem !important; font-weight: 500; color: #9aa1a9 !important; background: none !important; transition: background .15s, color .15s; }
.hp-other-month .hp-day-label { color: #d3d7dc !important; }
.hp-today .hp-day-label { color: #14151b !important; box-shadow: inset 0 0 0 2px #14151b; background: none !important; }
.hp-available .hp-day-label { color: #c83098 !important; font-weight: 700 !important; background: #fdf0f6 !important; cursor: pointer; }
.hp-available:hover .hp-day-label { background: #fbe1ec !important; }
.hp-active .hp-day-label, .hp-available.hp-active .hp-day-label { color: #fff !important; background: #c83098 !important; box-shadow: none; }

/* Vabad ajad */
.hp-calendar-info { width: auto !important; float: none !important; min-height: 200px; padding: 1.4rem 1.5rem !important; background: #f5f7f7; border-radius: 16px; color: #3a4049; }
.hp-calendar-info > strong, .hp-calendar-info > b { font-size: 1rem; }
.hp-tooltip { position: static !important; width: auto !important; border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; }
.hp-tooltip-header { font-size: 1.25rem !important; font-weight: 600 !important; color: #14151b !important; margin: 0 0 .9rem !important; padding: 0 !important; background: none !important; border: 0 !important; }
.hp-tooltip-sort { display: inline-flex; gap: .4rem; margin-bottom: .8rem; }
.hp-tooltip-sort a, .hp-tooltip-sort span { font-size: .85rem; }
.hp-tooltip-sort-active { color: #c83098 !important; font-weight: 600; }
.hp-tooltip-doctor { margin: 0 0 .4rem !important; color: #14151b; }
.hp-tooltip-slot { white-space: nowrap; display: flex !important; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 .5rem !important; padding: .55rem .6rem .55rem 1rem !important; background: #fff; border: 1px solid #eef0f3; border-radius: 12px; font-size: 1.05rem; font-weight: 700; color: #c83098 !important; }
.hp-tooltip-slot-doctor { margin-left: .6rem; font-size: .85rem; font-weight: 500; color: #6b7480 !important; }
.hp-tooltip-slot button, .hp-calendar-info button { padding: .5rem 1.2rem !important; font-size: .9rem !important; font-weight: 600 !important; color: #fff !important; background: #c83098 !important; border: 0 !important; border-radius: 999px !important; cursor: pointer; line-height: 1.2 !important; flex-shrink: 0; white-space: nowrap; }
.hp-tooltip-slot button:hover, .hp-calendar-info button:hover { background: #a3237c !important; }
.hp-clear { display: none; }

@media (max-width: 781px) {
	.hp-calendar-info { min-height: 0; }
}
