/* ==========================================================
   Zaytouna custom styles — extends TheVenue theme, same
   palette (gold #b49383 / #c4ab9f, dark #232323, white)
   ========================================================== */

/* --- Logo image (replaces text logo) --- */
.logo a {
	display: block;
}
.logo_img {
	height: 108px;
	width: auto;
	transition: height 400ms ease;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}
.header.scrolled .logo_img {
	height: 62px;
}
.active_nav {
	color: #b49383 !important;
}

.footer_logo_img {
	max-width: 180px;
	height: auto;
}

/* --- Signature dish description on home page --- */
.sig_description {
	margin-top: 18px;
	margin-bottom: 24px;
	font-size: 15px;
	line-height: 1.7;
	color: #a5a5a5;
	max-width: 480px;
}

/* --- Menu page: category filter buttons (AJAX) --- */
.menu_filters {
	margin: 20px 0 10px;
}
.menu_filter_btn {
	background: transparent;
	border: solid 2px #c4ab9f;
	color: #b49383;
	font-family: 'PT Sans Narrow', sans-serif;
	font-size: 16px;
	text-transform: uppercase;
	padding: 10px 22px;
	margin: 6px;
	cursor: pointer;
	transition: all 200ms ease;
}
.menu_filter_btn:hover,
.menu_filter_btn.active {
	background: #c4ab9f;
	color: #FFFFFF;
}
.menu_category_block {
	transition: opacity 200ms ease;
}
.menu_category_block.hidden_category {
	display: none;
}
.dish_description {
	font-size: 14px;
	color: #a5a5a5;
	margin-top: 4px;
	line-height: 1.5;
}
.dish_signature_flag {
	color: #b49383;
	font-size: 12px;
	text-transform: uppercase;
	margin-left: 8px;
	letter-spacing: 0.05em;
}
.themenu_page .themenu_col_title {
	margin-bottom: 4px;
}

/* --- Contact form (AJAX) --- */
.contact_form {
	margin-top: 10px;
}
.contact_form_row {
	margin-bottom: 20px;
}
.contact_input,
.contact_textarea {
	background: transparent;
	border: solid 2px #c4ab9f;
	color: #636363;
	font-size: 16px;
	padding: 14px 18px;
	outline: none;
	width: 100%;
	margin-right: 16px;
	font-family: 'PT Sans Narrow', sans-serif;
}
.contact_input:last-child {
	margin-right: 0;
}
.contact_input_full {
	width: 100%;
	margin-right: 0;
}
.contact_textarea {
	resize: vertical;
	margin-right: 0;
}
.contact_submit_btn {
	width: 200px;
	height: 50px;
	line-height: 46px;
	cursor: pointer;
	border: solid 2px #c4ab9f;
	background: transparent;
	color: #b49383;
	text-transform: uppercase;
	font-size: 16px;
}
.contact_submit_btn:hover {
	background: #c4ab9f;
	color: #fff;
}

/* --- Shared AJAX form feedback --- */
.res_form_message,
.contact_form_message {
	margin-top: 18px;
	font-size: 15px;
	min-height: 20px;
}
.form_message_success {
	color: #7ec98f;
}
.form_message_error {
	color: #e07a6f;
}

/* --- Admin live dashboard --- */
.admin_page {
	background: #1a1a1a;
	min-height: 100vh;
	padding: 40px 0;
	font-family: 'PT Sans Narrow', sans-serif;
	color: #ddd;
}
.admin_header {
	border-bottom: solid 2px #b49383;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.admin_logo {
	display: flex;
	align-items: center;
	gap: 14px;
}
.admin_logo img {
	height: 60px;
}
.admin_logo span {
	font-size: 22px;
	color: #b49383;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.admin_status {
	font-size: 15px;
	color: #ccc;
}
.live_dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #7ec98f;
	margin-right: 6px;
	box-shadow: 0 0 8px #7ec98f;
}
.admin_panel {
	background: #232323;
	border: solid 1px #3a3a3a;
	padding: 24px;
	margin-bottom: 30px;
	border-radius: 4px;
}
.admin_panel h2 {
	font-size: 20px;
	color: #b49383;
	margin-bottom: 16px;
	font-weight: 400;
	text-transform: uppercase;
}
.badge {
	background: #b49383;
	color: #fff;
	font-size: 13px;
	border-radius: 10px;
	padding: 2px 10px;
	margin-left: 8px;
}
.admin_list {
	max-height: 500px;
	overflow-y: auto;
}
.admin_item {
	border-bottom: solid 1px #3a3a3a;
	padding: 12px 0;
	font-size: 14px;
	animation: fadeInItem 500ms ease;
}
.admin_item:last-child {
	border-bottom: none;
}
.admin_item_title {
	color: #fff;
	font-size: 16px;
}
.admin_item_meta {
	color: #999;
	margin-top: 4px;
}
.admin_item_actions {
	margin-top: 8px;
}
.admin_item_actions button {
	background: transparent;
	border: solid 1px #b49383;
	color: #b49383;
	font-size: 12px;
	padding: 4px 10px;
	margin-right: 8px;
	cursor: pointer;
	text-transform: uppercase;
}
.admin_item_actions button:hover {
	background: #b49383;
	color: #fff;
}
.status_pill {
	display: inline-block;
	font-size: 11px;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 8px;
	margin-left: 8px;
}
.status_pending { background: #7a6a3a; color: #fff; }
.status_confirmed { background: #3a7a4a; color: #fff; }
.status_cancelled { background: #7a3a3a; color: #fff; }

@keyframes fadeInItem {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

/* --- Reservation ticker toast (live socket notification) --- */
#reservation_toast {
	position: fixed;
	bottom: 24px;
	right: 24px;
	background: #232323;
	border: solid 2px #b49383;
	color: #fff;
	padding: 14px 22px;
	font-size: 14px;
	z-index: 9999;
	max-width: 300px;
	opacity: 0;
	transform: translateY(20px);
	transition: all 400ms ease;
	pointer-events: none;
}
#reservation_toast.show {
	opacity: 1;
	transform: translateY(0);
}
