/*
	The Foundher Table - SimplyBook Booking Page Custom CSS
	Typography: PP Pangram Sans (primary), with web-safe fallbacks
	Note: Colors managed by SimplyBook theme, only typography and layout styled here
*/

/* ========================================
   GLOBAL STYLES
======================================== */

/* Import fallback fonts */
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;600&display=swap');

body {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* ========================================
   EVENT LIST STYLES
======================================== */

#events h3 {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-weight: 600 !important;
	font-size: 24px !important;
	margin-bottom: 12px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

#events p.duration, #events div.duration {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	margin: 8px 0 !important;
}

#events p.description, #events div.description {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	margin: 12px 0 !important;
}

#events .selectedEvent {
	border-radius: 0 !important;
	padding: 16px !important;
}

#events .event_price {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	margin-top: 8px !important;
}

/* ========================================
   BUTTON STYLES - TYPOGRAPHY & LAYOUT ONLY
======================================== */

/* Primary Reserve Button */
#events input.reserve_time_btn,
#events input[type="button"].reserve_time_btn,
input.reserve_time_btn {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	padding: 12px 32px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
}

/* Secondary Select Another Button */
#events input.select_another_btn,
#events input[type="button"].select_another_btn,
input.select_another_btn {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	padding: 12px 32px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	text-transform: none !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
}

/* Save/Submit Button */
#eventForm #save_button,
#eventForm input#save_button,
#eventForm input[type="submit"],
input#save_button,
button#save_button {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	padding: 12px 32px !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	text-transform: none !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
}

/* ========================================
   FORM STYLES
======================================== */

#eventForm #start_date-block-container h3, 
#eventForm #timeline-container h3 {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-weight: 600 !important;
	font-size: 20px !important;
	margin-bottom: 16px !important;
	text-transform: none !important;
}

#start_date-block-container .zend_form dt, 
#start_date-block-container .zend_form dt b, 
#start_date-block-container .zend_form dd label {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

#eventForm dd.extention_data {
	padding: 16px !important;
	border-radius: 0 !important;
	margin: 12px 0 !important;
}

dd.extention_data dl.zend_form dt, 
dd.extention_data dl.zend_form dd label {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
	font-size: 16px !important;
	border-radius: 0 !important;
	padding: 10px 12px !important;
	transition: border-color 0.3s ease !important;
}

/* ========================================
   UI WIDGET STYLES (Calendar)
======================================== */

div.ui-widget-content {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
}

div.ui-widget-header {
	font-family: 'PP Pangram Sans Narrow', 'Work Sans', 'Helvetica Neue Condensed', 'Arial Narrow', sans-serif !important;
	font-weight: 600 !important;
}

/* ========================================
   TIMELINE STYLES (Time Selection)
======================================== */

#timeline-container table.timeline {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
}

.timeline td.not_worked_time {
	cursor: not-allowed !important;
}

.timeline td.free_time {
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.timeline td.selected_time {
	font-weight: 600 !important;
}

.timeline td.reserved_time {
	cursor: not-allowed !important;
	opacity: 0.6 !important;
}

/* ========================================
   LOADING INDICATOR
======================================== */

div#loading {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
	font-size: 16px !important;
	padding: 20px !important;
	border-radius: 0 !important;
}

/* ========================================
   ADDITIONAL REFINEMENTS
======================================== */

/* Links */
a {
	text-decoration: none !important;
	transition: color 0.3s ease !important;
}

a:hover {
	text-decoration: underline !important;
}

/* Error messages */
.error, .errorMessage {
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
	font-size: 14px !important;
	margin-top: 4px !important;
}

/* Success messages */
.success, .successMessage {
	padding: 12px !important;
	border-radius: 0 !important;
	font-family: 'PP Pangram Sans Compact', 'Work Sans', Helvetica, Arial, sans-serif !important;
}

/* ========================================
   ACCESSIBILITY
======================================== */

/* Ensure focus states are visible */
*:focus {
	outline: 2px solid currentColor !important;
	outline-offset: 2px !important;
}