/* ==========================================================================
   Lodge Contact Info - Frontend Styling
   ========================================================================== */

:root {
	--lci-accent-gold: var(--wp--preset--color--primary, #d4a017);
	--lci-text-main: var(--wp--preset--color--contrast, #f4f1ea);
	--lci-bg-secondary: var(--wp--preset--color--secondary, #0f1b35);
	--lci-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Base wrapper - stack elements vertically naturally */
.lci-contact-container {
	display: block;
}

/* Directions URL styling inside location card */
.lci-directions-wrap {
	margin-top: 1rem !important;
}

.lci-directions-link {
	color: var(--lci-accent-gold) !important;
	text-decoration: none !important;
	font-weight: 600;
	transition: var(--lci-transition);
	border-bottom: 1px dashed rgba(212, 160, 23, 0.4);
	display: inline-block;
}

.lci-directions-link:hover {
	color: var(--lci-text-main) !important;
	border-bottom-color: var(--lci-text-main);
	transform: translateX(4px);
}

/* Custom dashed-hover underline effect for phone and email links */
.vm-contact-info__text a {
	color: var(--lci-accent-gold) !important;
	text-decoration: none !important;
	transition: var(--lci-transition);
	border-bottom: 1px dashed rgba(212, 160, 23, 0.25);
}

.vm-contact-info__text a:hover {
	color: var(--lci-text-main) !important;
	border-bottom-color: var(--lci-text-main);
}

/* Social icons section inside Contact Card */
.lci-socials-wrap {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px dashed rgba(244, 241, 234, 0.1);
}

.lci-social-icons {
	display: flex;
	gap: 0.85rem;
	flex-wrap: wrap;
	align-items: center;
}

.lci-social-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: var(--lci-bg-secondary);
	color: rgba(244, 241, 234, 0.75) !important;
	transition: var(--lci-transition);
	border: 1px solid rgba(244, 241, 234, 0.1);
}

.lci-social-icon-btn svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
	display: block;
}

.lci-social-icon-btn:hover {
	transform: scale(1.15) translateY(-2px);
	border-color: var(--lci-accent-gold);
	color: var(--lci-accent-gold) !important;
	box-shadow: 0 4px 12px rgba(212, 160, 23, 0.25);
}

/* Brand colored hovers */
.lci-social-facebook:hover {
	background-color: #1877f2;
	color: #fff !important;
	border-color: #1877f2;
}

.lci-social-instagram:hover {
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
	color: #fff !important;
	border-color: transparent;
}

.lci-social-x:hover {
	background-color: #000000;
	color: #fff !important;
	border-color: #333;
}

.lci-social-youtube:hover {
	background-color: #ff0000;
	color: #fff !important;
	border-color: #ff0000;
}

.lci-social-linkedin:hover {
	background-color: #0077b5;
	color: #fff !important;
	border-color: #0077b5;
}

/* Hours section styling - inline layout */
.lci-hours-line {
	display: inline-block;
	margin-bottom: 0.75rem !important;
}

.lci-hours-line:last-of-type {
	margin-bottom: 0 !important;
}

.lci-hours-line strong {
	font-weight: 600;
	color: rgba(244, 241, 234, 0.95);
}

/* Sublist hours (SQ and Kitchen hours nested under the day) */
.lci-hours-sublist {
	display: block;
	margin-left: 1.25rem;
	margin-top: 0.25rem;
}

.lci-hours-subitem {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(244, 241, 234, 0.75);
}

.lci-subitem-label {
	font-weight: 500;
	color: rgba(244, 241, 234, 0.5);
}

.lci-closed-text {
	color: #ef4444;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Highlighting today's hours dynamically */
.lci-hours-line.lci-today {
	color: var(--lci-accent-gold) !important;
}

.lci-hours-line.lci-today strong {
	color: var(--lci-accent-gold) !important;
}

.lci-hours-line.lci-today .lci-hours-subitem {
	color: var(--lci-accent-gold) !important;
}

.lci-hours-line.lci-today .lci-subitem-label {
	color: rgba(212, 160, 23, 0.7) !important;
}

/* Today Badge */
.lci-today-badge {
	font-size: 0.65rem;
	background-color: var(--lci-accent-gold);
	color: #0a0f1e;
	padding: 0.1rem 0.4rem;
	border-radius: 10px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1;
	display: inline-block;
	margin-left: 0.35rem;
	vertical-align: middle;
}

/* Closed Badge */
.lci-closed-badge {
	color: #ef4444;
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background-color: rgba(239, 68, 68, 0.1);
	padding: 0.1rem 0.35rem;
	border-radius: 4px;
	border: 1px solid rgba(239, 68, 68, 0.15);
	display: inline-block;
	line-height: 1.2;
}

/* Gray out closed days slightly */
.lci-hours-line.lci-closed {
	opacity: 0.65;
}

/* Hours footnote styling */
.lci-hours-note {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px dashed rgba(244, 241, 234, 0.1);
	font-size: 14px;
	line-height: 1.6;
	color: rgba(244, 241, 234, 0.75);
	font-style: italic;
}

@media print {
	.lci-socials-wrap,
	.lci-today-badge,
	.lci-hours-note {
		display: none;
	}
}

/* ==========================================================================
   Horizontal Hours of Operation Widget Styling
   ========================================================================== */

.lci-horiz-hours-container {
	background-color: var(--lci-bg-secondary, #0f1b35);
	border: 1px solid rgba(244, 241, 234, 0.08);
	border-radius: 12px;
	padding: 1.5rem 1.75rem;
	margin: 3rem auto !important;
	max-width: 1200px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.lci-horiz-hours-header {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1.25rem;
}

.lci-horiz-hours-icon-bg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #2b3a5b; /* Slate-blue icon background matching the mockup */
	border: 2px solid #5d729c;
	color: #ffffff;
	font-size: 1.25rem;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

.lci-horiz-hours-icon-bg i {
	font-style: normal;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.lci-horiz-hours-title {
	font-family: var(--wp--preset--font-family--heading-font), "Belleza", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--lci-text-main, #f4f1ea);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 0;
	line-height: 1;
}

/* 7-column layout wrapper - single unified background container */
.lci-horiz-hours-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0;
	background-color: var(--wp--preset--color--tertiary, #131f3a); /* Unified background */
	padding: 1.25rem 0.5rem 1rem 0.5rem;
	border-radius: 8px;
	border: 1px solid rgba(244, 241, 234, 0.05);
	overflow: hidden;
}

.lci-horiz-day-col {
	background-color: transparent;
	border-radius: 0;
	padding: 0.75rem 0.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	border: none;
	border-right: 1px solid rgba(244, 241, 234, 0.08); /* Column vertical divider line */
	position: relative;
	transition: var(--lci-transition, all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94));
	line-height: 1.4 !important; /* Balanced and readable line-height override */
}

.lci-horiz-day-col:last-child {
	border-right: none; /* No divider on the last column */
}

/* Header wrap inside day card */
.lci-horiz-day-header-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin-bottom: 0.5rem;
	min-height: 2.5rem;
	height: auto;
	justify-content: flex-start;
}

.lci-horiz-day-name {
	font-family: var(--wp--preset--font-family--heading-font), "Belleza", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(244, 241, 234, 0.85);
	margin: 0;
	line-height: 1.2 !important;
}

/* Today highlight styles */
.lci-horiz-today {
	/* Border and box shadow overrides removed to match reference layout */
}

.lci-horiz-today .lci-horiz-day-name {
	color: var(--lci-accent-gold, #d4a017);
	font-weight: 700;
}

.lci-horiz-today-badge {
	font-size: 9px;
	background-color: var(--lci-accent-gold, #d4a017);
	color: #0a0f1e;
	padding: 2px 6px;
	border-radius: 4px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.5px;
	margin-top: 0.5rem;
	margin-bottom: 0;
	line-height: 1;
	display: none;
}

.lci-horiz-today .lci-horiz-today-badge {
	display: inline-block;
}

/* Closed state */
.lci-horiz-closed {
	opacity: 0.85;
}

.lci-horiz-day-content {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	width: 100%;
	justify-content: flex-start !important;
}

.lci-horiz-closed .lci-horiz-day-content {
	flex-grow: 1;
	justify-content: center !important;
}

.lci-horiz-closed-pill {
	display: inline-block;
	background-color: #8b0c0c; /* Deep rich red matching mockup */
	color: #ffffff;
	font-size: 9.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 4px 10px;
	border-radius: 4px;
	border: 1px solid rgba(239, 68, 68, 0.15);
	margin: 0;
	line-height: 1.2;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

/* Slightly scale down pill for subsections so they fit neatly */
.lci-horiz-sub-section .lci-horiz-closed-pill {
	padding: 3px 8px;
	font-size: 8.5px;
	margin: 0.2rem auto 0 auto;
}

.lci-horiz-sub-section {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.lci-horiz-sub-label {
	font-size: 9.5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: rgba(244, 241, 234, 0.45);
	line-height: 1.2 !important;
}

.lci-horiz-today .lci-horiz-sub-label {
	color: rgba(212, 160, 23, 0.55);
}

.lci-horiz-time {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 0.25rem;
	font-size: 12px;
	font-weight: 600;
	color: rgba(244, 241, 234, 0.95);
	white-space: nowrap;
	line-height: 1.2 !important;
}

.lci-time-sep {
	font-size: 9.5px;
	margin: 0;
	color: rgba(244, 241, 234, 0.4);
}

.lci-horiz-today .lci-horiz-time {
	color: var(--lci-accent-gold, #d4a017);
}

.lci-horiz-closed-text {
	color: #ef4444; /* soft red text for sub-section closed state */
	font-weight: 700;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.2 !important;
}

/* Footnote styling */
.lci-horiz-hours-note {
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(244, 241, 234, 0.08);
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(244, 241, 234, 0.65);
}

.lci-horiz-note-icon {
	color: var(--lci-accent-gold, #d4a017);
	font-weight: bold;
	font-size: 14px;
}

.lci-horiz-note-text {
	font-style: italic;
}

/* Responsive grid layout */
@media (max-width: 960px) {
	.lci-horiz-hours-grid {
		grid-template-columns: 1fr; /* exactly 1 column wide on mobile/tablet */
		gap: 0;
		padding: 0.75rem 1rem;
	}
	.lci-horiz-day-col {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 0.75rem 1rem;
		text-align: left;
		border-right: none;
		border-bottom: 1px solid rgba(244, 241, 234, 0.08);
		border-radius: 0;
		line-height: 1.35 !important;
	}
	.lci-horiz-day-col:last-child {
		border-bottom: none;
	}
	.lci-horiz-day-header-wrap {
		min-height: auto;
		align-items: flex-start;
		width: auto;
		margin-bottom: 0;
		height: auto;
	}
	.lci-horiz-day-content {
		flex-direction: row;
		align-items: center;
		text-align: right;
		width: auto;
		flex-grow: 0;
		gap: 1.5rem;
	}
	.lci-horiz-sub-section {
		align-items: flex-end;
		text-align: right;
		gap: 0.15rem;
	}
	.lci-horiz-time {
		flex-direction: row;
		gap: 0.25rem;
		align-items: center;
	}
	.lci-time-sep {
		margin: 0;
	}
	.lci-horiz-closed-pill {
		margin: 0;
	}
	.lci-horiz-sub-section .lci-horiz-closed-pill {
		margin: 0;
	}
}

@media (max-width: 540px) {
	.lci-horiz-hours-grid {
		padding: 0.5rem 0.75rem;
	}
	.lci-horiz-day-col {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 1rem 0.75rem;
		border-right: none;
		border-bottom: 1px solid rgba(244, 241, 234, 0.08);
	}
	.lci-horiz-day-col:last-child {
		border-bottom: none;
	}
	.lci-horiz-day-header-wrap {
		align-items: center;
		margin-bottom: 0.75rem;
		height: auto;
	}
	.lci-horiz-day-content {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 1rem;
	}
	.lci-horiz-sub-section {
		align-items: center;
		text-align: center;
	}
	.lci-horiz-time {
		flex-direction: row;
		gap: 0.25rem;
	}
}
