/* Turf Booking Pro wizard + My Bookings, in the site's daylight palette. Plugin markup untouched. */

body.hithub-skin { background: var(--chalk); color: var(--ink); }
body.hithub-skin .site-content,
body.hithub-skin .ast-container,
body.hithub-skin #primary,
body.hithub-skin .entry-content,
body.hithub-skin article { background: transparent; }
body.hithub-skin .entry-title,
body.hithub-skin h1, body.hithub-skin h2, body.hithub-skin h3 { font-weight: 600; color: var(--ink); }
body.hithub-skin .entry-title { font-size: clamp(2.5rem, 6vw, 4rem); line-height: 1.04; }

/* The wizard shell */
.hithub-skin .tbp-booking-app,
.hithub-skin .tbp-dashboard-app { background: transparent; box-shadow: none; padding: 0; }
.hithub-skin .tbp-booking-container,
.hithub-skin .tbp-dashboard-container {
	background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: none; overflow: hidden;
}
.hithub-skin .tbp-booking-header { background: var(--grass); padding: 24px 16px; }
.hithub-skin .tbp-booking-header h2,
.hithub-skin .tbp-booking-header h3 { font-size: clamp(2rem, 6vw, 3rem); color: #fff; }
.hithub-skin .tbp-booking-body { background: transparent; color: var(--ink); }
.hithub-skin .tbp-step-content h3 { border-left: 0; padding-left: 0; font-size: clamp(1.75rem, 5vw, 2.5rem); color: var(--ink); }
.hithub-skin .tbp-step-content h3::before { display: none; }
.hithub-skin .tbp-booking-app h4 { font-weight: 600; font-size: 1.5rem; color: var(--ink); }

/* Steps sit on the green header. */
.hithub-skin .tbp-step-number { background: transparent; border: 2px solid rgba(255, 255, 255, .6); color: #fff; box-shadow: none; }
.hithub-skin .tbp-step.active .tbp-step-number { border-color: var(--sign); background: var(--sign); color: var(--ink); box-shadow: none; }
.hithub-skin .tbp-step.completed .tbp-step-number { background: #fff; border-color: #fff; color: var(--grass); }
.hithub-skin .tbp-step-label,
.hithub-skin .tbp-step.active .tbp-step-label,
.hithub-skin .tbp-step.completed .tbp-step-label { color: #fff; }

/* Choices: sports, days, slots, payment */
.hithub-skin .tbp-sport-btn,
.hithub-skin .tbp-calendar-day,
.hithub-skin .tbp-slot-btn,
.hithub-skin .tbp-payment-method {
	background: #fff; border: 1.5px solid var(--line-strong); color: var(--ink); box-shadow: none; min-height: 44px; border-radius: var(--radius);
}
.hithub-skin .tbp-sport-btn:not(.selected):hover,
.hithub-skin .tbp-slot-btn:not(.booked):not(.disabled):not(.selected):hover,
.hithub-skin .tbp-calendar-day.available:not(.selected):hover { border-color: var(--grass); background: #fff; color: var(--ink); transform: none; }
.hithub-skin .tbp-sport-btn.selected,
.hithub-skin .tbp-calendar-day.selected,
.hithub-skin .tbp-slot-btn.selected,
.hithub-skin .tbp-payment-method.selected { border-color: var(--grass); background: var(--grass); color: #fff; }
.hithub-skin .tbp-sport-btn.selected .tbp-sport-name,
.hithub-skin .tbp-sport-btn.selected .tbp-sport-price,
.hithub-skin .tbp-payment-method.selected * { color: #fff; }
.hithub-skin .tbp-sport-name { color: var(--ink); font: 600 1.25rem/1.1 var(--font-display); font-stretch: 112%; letter-spacing: -.02em; text-transform: none; }
.hithub-skin .tbp-sport-price { color: var(--ink-soft); font-variant-numeric: tabular-nums; font-family: var(--font-body); }
.hithub-skin .tbp-calendar-day.today:not(.selected) { border-color: var(--grass); border-width: 2px; }
.hithub-skin .tbp-calendar-day.past,
.hithub-skin .tbp-calendar-day.disabled,
.hithub-skin .tbp-slot-btn.booked,
.hithub-skin .tbp-slot-btn.disabled { opacity: .45; text-decoration: line-through; background: var(--chalk); }
.hithub-skin .tbp-calendar-header,
.hithub-skin .tbp-calendar-weekdays,
.hithub-skin .tbp-calendar-title { color: var(--ink); background: transparent; }
.hithub-skin .tbp-calendar-nav button { background: #fff; color: var(--ink); border: 1px solid var(--line-strong); min-width: 44px; min-height: 44px; border-radius: var(--radius-btn); }

/* Form fields: labels above, 16px so iOS does not zoom. */
.hithub-skin .tbp-form-group label { color: var(--ink); font-weight: 600; }
.hithub-skin .tbp-form input,
.hithub-skin .tbp-form select,
.hithub-skin .tbp-form textarea,
.hithub-skin .tbp-login-required input {
	background: #fff; color: var(--ink); border: 1.5px solid var(--line-strong); border-radius: var(--radius); min-height: 48px; padding: 0 14px; width: 100%; font-size: 1rem;
}
.hithub-skin .tbp-form input::placeholder,
.hithub-skin .tbp-login-required input::placeholder { color: var(--ink-soft); }
.hithub-skin .tbp-form input:focus,
.hithub-skin .tbp-form select:focus,
.hithub-skin .tbp-login-required input:focus { border-color: var(--grass); outline: none; box-shadow: 0 0 0 3px rgba(0, 122, 58, .25); }

/* Money */
.hithub-skin .tbp-price-summary,
.hithub-skin .tbp-payment-summary,
.hithub-skin .tbp-upi-details { background: var(--chalk); border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); }
.hithub-skin .tbp-price-summary *,
.hithub-skin .tbp-payment-summary *,
.hithub-skin .tbp-upi-details * { color: inherit; }
.hithub-skin .tbp-total-amount,
.hithub-skin .tbp-summary-amount { color: var(--grass); font-family: var(--font-display); font-stretch: 112%; font-weight: 600; font-variant-numeric: tabular-nums; }
.hithub-skin .tbp-qr-code-wrapper { background: #fff; border-radius: var(--radius); }

/* Buttons */
.hithub-skin .tbp-btn { border-radius: var(--radius-btn); min-height: 48px; font-weight: 600; font-family: var(--font-body); text-transform: none; letter-spacing: 0; box-shadow: none; }
.hithub-skin .tbp-btn-primary,
.hithub-skin #tbp-lookup-btn { background: var(--sign); color: var(--ink); border: 0; }
.hithub-skin .tbp-btn-primary:hover,
.hithub-skin #tbp-lookup-btn:hover { background: var(--sign-hot); color: var(--ink); transform: none; }
.hithub-skin .tbp-btn-secondary { background: transparent; color: var(--ink); border: 1px solid var(--line-strong); }
.hithub-skin .tbp-btn-secondary:hover { background: var(--chalk); color: var(--ink); }
.hithub-skin .tbp-booking-footer { background: transparent; border-top: 1px solid var(--line); }

/* Confirmation + contact tiles */
.hithub-skin .tbp-booking-id { color: var(--grass); font: 600 1.5rem/1 var(--font-display); font-stretch: 112%; font-variant-numeric: tabular-nums; }
.hithub-skin .tbp-contact-tile { background: #fff; border: 1px solid var(--line); box-shadow: none; color: var(--ink); }
.hithub-skin .tbp-contact-label { text-transform: none; letter-spacing: 0; }

/* My Bookings */
.hithub-skin .tbp-stat-card,
.hithub-skin .tbp-booking-card,
.hithub-skin .tbp-login-required { background: #fff; border: 1px solid var(--line); color: var(--ink); box-shadow: none; border-radius: var(--radius); }
.hithub-skin .tbp-stat-value { color: var(--grass); font-family: var(--font-display); font-stretch: 112%; font-variant-numeric: tabular-nums; }
.hithub-skin .tbp-filter-btn { background: #fff; color: var(--ink); border: 1.5px solid var(--line-strong); border-radius: var(--radius-btn); min-height: 44px; }
.hithub-skin .tbp-filter-btn.active { color: #fff; background: var(--grass); border-color: var(--grass); }
.hithub-skin .tbp-lookup-error { color: var(--error); }

/* My Bookings lookup: the plugin sets these white for its old dark card. */
.hithub-skin .tbp-login-required p,
.hithub-skin .tbp-login-required span,
.hithub-skin .tbp-login-note { color: var(--ink-soft) !important; }
.hithub-skin .tbp-login-btn { color: var(--ink); background: #fff; border: 1px solid var(--line-strong); border-radius: var(--radius-btn); }
.hithub-skin .tbp-login-btn:hover { background: var(--chalk); color: var(--ink); }
.hithub-skin #tbp-lookup-btn { border-radius: var(--radius-btn); box-shadow: none; min-height: 48px; }
.hithub-skin .tbp-login-required [class*="divider"]::before,
.hithub-skin .tbp-login-required [class*="divider"]::after { background: var(--line); }

/* Plugin decoration that does not belong here: glows, gradients, side stripes, pills. */
.hithub-skin .tbp-booking-header::before,
.hithub-skin .tbp-booking-header::after,
.hithub-skin .tbp-price-summary::before,
.hithub-skin .tbp-price-summary::after,
.hithub-skin .tbp-payment-summary::before,
.hithub-skin .tbp-payment-summary::after { display: none; }
.hithub-skin .tbp-booking-header,
.hithub-skin .tbp-price-summary,
.hithub-skin .tbp-payment-summary { background-image: none; box-shadow: none; }
.hithub-skin .tbp-step { opacity: 1; }
.hithub-skin .tbp-contact-tile,
.hithub-skin .tbp-booking-map,
.hithub-skin .tbp-booking-map iframe { border-radius: var(--radius); box-shadow: none; }
.hithub-skin .tbp-payment-summary .tbp-summary-time { color: var(--ink) !important; }
.hithub-skin .tbp-sport-btn.selected:hover,
.hithub-skin .tbp-calendar-day.selected:hover,
.hithub-skin .tbp-slot-btn.selected:hover { border-color: var(--grass); background: var(--grass); color: #fff; }

/* Labels the plugin sets at 11px. */
.hithub-skin .tbp-step-label, .hithub-skin .tbp-contact-label { font-size: .75rem; }

/* Small phones: all six steps fit, and the filters wrap. */
@media (max-width: 480px) {
	.hithub-skin .tbp-booking-header { padding: 20px 8px; }
	.hithub-skin .tbp-step { flex: 1 1 0; min-width: 0; }
	.hithub-skin .tbp-step-number,
	.hithub-skin .tbp-step.active .tbp-step-number { width: 32px; height: 32px; font-size: .875rem; transform: none; }
	.hithub-skin .tbp-dashboard-filters { flex-wrap: wrap; justify-content: center; }
}
