/* Smeair Bookings — front-end styles */

/* Hide the theme's post byline (author "by admin" + published date) on
   single service pages — services are products, not blog posts.
   Covers classic-theme and block-theme markup. */
.single-smeair_service .entry-meta,
.single-smeair_service .entry-date,
.single-smeair_service .posted-on,
.single-smeair_service .posted-by,
.single-smeair_service .byline,
.single-smeair_service .post-author,
.single-smeair_service .post-date,
.single-smeair_service .post-meta,
.single-smeair_service .entry-header .author,
.single-smeair_service .entry-header .date,
.single-smeair_service .wp-block-post-date,
.single-smeair_service .wp-block-post-author,
.single-smeair_service .wp-block-post-author-name {
	display: none !important;
}

/* The plugin renders the service title itself inside the content (themes are
   inconsistent about printing CPT titles) — hide the theme's own title so it
   never shows twice. */
.single-smeair_service .entry-title,
.single-smeair_service h1.entry-title,
.single-smeair_service .page-title,
.single-smeair_service .wp-block-post-title {
	display: none !important;
}

/* Hide previous/next post navigation between services — they are standalone
   offerings, not a browsable sequence. (Classic + block theme markup.) */
.single-smeair_service .post-navigation,
.single-smeair_service .navigation.post-navigation,
.single-smeair_service nav.post-navigation,
.single-smeair_service .nav-previous,
.single-smeair_service .nav-next,
.single-smeair_service .post-nav,
.single-smeair_service .wp-block-post-navigation-link {
	display: none !important;
}

.smeair-catalogue {
	display: grid;
	grid-template-columns: repeat(var(--cols, 3), 1fr);
	gap: 24px;
	margin: 24px 0;
}
@media (max-width: 768px) {
	.smeair-catalogue { grid-template-columns: 1fr; }
}
.smeair-card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.smeair-card:hover {
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
	transform: translateY(-2px);
}
.smeair-card-img img { border-radius: 8px; width: 100%; height: auto; margin-bottom: 12px; }
.smeair-card-title { margin: 0 0 8px; font-size: 1.15rem; }
.smeair-card-excerpt { color: #6b7280; font-size: .92rem; flex: 1; }
.smeair-card-price { font-weight: 700; margin: 12px 0; font-size: 1.05rem; }

.smeair-btn {
	display: inline-block;
	background: #2563eb;
	color: #fff !important;
	padding: 10px 18px;
	border-radius: 8px;
	border: none;
	text-decoration: none;
	cursor: pointer;
	font-weight: 600;
	text-align: center;
	transition: background .15s ease;
}
.smeair-btn:hover { background: #1d4ed8; }
.smeair-btn:disabled { opacity: .6; cursor: not-allowed; }

.smeair-booking { margin: 32px 0; }
.smeair-service-title { margin: 0 0 20px; font-size: 1.6rem; }
.smeair-service-title--page { font-size: 2.1rem; margin: 0 0 24px; line-height: 1.25; }
.smeair-booking-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 32px;
}
@media (max-width: 860px) {
	.smeair-booking-grid { grid-template-columns: 1fr; }
}

.smeair-section-title { margin: 0 0 16px; font-size: 1.3rem; }
.smeair-price-badge {
	display: inline-block;
	background: #ecfdf5;
	color: #047857;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
}

.smeair-field { margin-bottom: 16px; }
.smeair-field label { display: block; font-weight: 600; margin-bottom: 6px; }
.smeair-field input[type="text"],
.smeair-field input[type="email"],
.smeair-field input[type="tel"],
.smeair-field input[type="number"],
.smeair-field input[type="date"],
.smeair-field select,
.smeair-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 1rem;
	box-sizing: border-box;
}
.smeair-field textarea { min-height: 90px; }
.smeair-req { color: #dc2626; }
.smeair-choice { display: block; font-weight: 400; margin: 4px 0; }
.smeair-choice input { width: auto; margin-right: 8px; }

.smeair-slot-section { margin: 24px 0; }
.smeair-slot-section h4, .smeair-payment-section h4 { margin: 0 0 12px; }
.smeair-slot-heading { display: block; }
.smeair-date-group { padding-bottom: 16px; border-bottom: 1px dashed #d1d5db; margin-bottom: 16px; }
.smeair-date-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
/* The !important flags below are deliberate: themes routinely style bare
   <button> elements (e.g. .entry-content button { color:#fff }) with higher
   specificity, which made the date/slot text invisible until hover. */
.smeair-booking .smeair-date-tab {
	border: 1px solid #d1d5db !important;
	background: #fff !important;
	color: #1f2937 !important;
	border-radius: 999px;
	padding: 8px 14px;
	cursor: pointer;
	font-size: .9rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.4;
	text-shadow: none;
	box-shadow: none;
}
.smeair-booking .smeair-date-tab:hover {
	border-color: #2563eb !important;
	color: #2563eb !important;
	background: #fff !important;
}
.smeair-booking .smeair-date-tab.active,
.smeair-booking .smeair-date-tab.active:hover {
	background: #2563eb !important;
	color: #fff !important;
	border-color: #2563eb !important;
}
.smeair-slots { display: flex; flex-wrap: wrap; gap: 10px; }
.smeair-booking .smeair-slot-btn {
	border: 1px solid #d1d5db !important;
	background: #fff !important;
	color: #1f2937 !important;
	border-radius: 8px;
	padding: 10px 14px;
	cursor: pointer;
	font-size: .95rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.4;
	text-shadow: none;
	box-shadow: none;
}
.smeair-booking .smeair-slot-btn:hover {
	border-color: #2563eb !important;
	color: #2563eb !important;
	background: #fff !important;
}
.smeair-booking .smeair-slot-btn.selected,
.smeair-booking .smeair-slot-btn.selected:hover {
	background: #2563eb !important;
	color: #fff !important;
	border-color: #2563eb !important;
}

.smeair-pay-options { margin: 20px 0; }
.smeair-pay-options h4 { margin: 0 0 12px; }
.smeair-pay-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 10px;
	cursor: pointer;
	background: #fff;
}
.smeair-pay-option:has(input:checked) { border-color: #2563eb; background: #eff6ff; }
.smeair-pay-option input { margin-top: 3px; }
.smeair-pay-option small { display: block; color: #6b7280; font-weight: 400; }
.smeair-deposit-note {
	background: #fffbeb;
	border: 1px solid #fde68a;
	color: #92400e;
	border-radius: 10px;
	padding: 12px 14px;
}

.smeair-payment-section {
	margin: 20px 0;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #f9fafb;
}
.smeair-card-element {
	background: #fff;
	padding: 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
}
.smeair-card-errors { color: #dc2626; margin-top: 8px; font-size: .9rem; }

.smeair-consent {
	margin: 18px 0;
	padding: 12px 14px;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
}
.smeair-consent-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	cursor: pointer;
	margin: 0;
}
.smeair-consent-label input { margin-top: 3px; width: auto; }
.smeair-consent-label a { color: #2563eb; text-decoration: underline; }

.smeair-form-message { margin: 14px 0; font-weight: 600; }
.smeair-msg-error { color: #dc2626; }
.smeair-msg-success { color: #047857; }

.smeair-notice {
	padding: 14px 18px;
	border-radius: 10px;
	margin-bottom: 20px;
}
.smeair-notice-success { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }

.smeair-faq-accordion .smeair-faq-item {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	margin-bottom: 10px;
	padding: 4px 14px;
}
.smeair-faq-item summary { cursor: pointer; font-weight: 600; padding: 10px 0; }
.smeair-faq-answer { color: #4b5563; padding-bottom: 10px; }
.smeair-loading { color: #6b7280; }
