/* =========================================================
   FAHRENHEIT RESTAURANTS — MODERN GLOBAL FOOTER
   Complete responsive stylesheet
   ========================================================= */

.fahrenheit-footer,
.fahrenheit-footer *,
.fahrenheit-footer *::before,
.fahrenheit-footer *::after {
	box-sizing: border-box;
}

.fahrenheit-footer {
	--footer-red: #c60000;
	--footer-red-dark: #92000e;
	--footer-wine: #41151b;
	--footer-gold: #d7a45b;
	--footer-white: #ffffff;
	--footer-text: #f1efed;
	--footer-muted: #c9c3bf;
	--footer-border: rgba(255, 255, 255, 0.18);
	--footer-panel: rgba(18, 10, 9, 0.72);
	--footer-panel-hover: rgba(18, 10, 9, 0.84);

	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	color: var(--footer-text);
	background: #171313;
	font-family: inherit;
}

.fahrenheit-footer a {
	text-decoration: none;
}


/* =========================================================
   LOCATION AREA
   ========================================================= */

.fahrenheit-footer__locations {
	position: relative;
	isolation: isolate;
	width: 100%;
	margin: 0;
	padding: clamp(42px, 6vw, 76px) 20px;
	overflow: hidden;
	background-color: #160d0c;
	background-position: center;
	background-size: cover;
}

.fahrenheit-footer__overlay {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(14, 8, 7, 0.93) 0%,
			rgba(14, 8, 7, 0.76) 48%,
			rgba(14, 8, 7, 0.92) 100%
		);
	pointer-events: none;
}

.fahrenheit-footer__container {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.fahrenheit-footer__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 34px);
	width: 100%;
	align-items: stretch;
}

.fahrenheit-footer__custom {
	width: 100%;
	max-width: 100%;
}


/* =========================================================
   LOCATION CARDS
   ========================================================= */

.fahrenheit-footer__location-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	margin: 0;
	padding: clamp(24px, 3vw, 34px);
	overflow: hidden;
	color: var(--footer-text);
	background: var(--footer-panel);
	border: 1px solid var(--footer-border);
	border-top: 3px solid var(--footer-gold);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.fahrenheit-footer__location-card::before {
	content: "";
	position: absolute;
	top: -3px;
	left: 0;
	width: 96px;
	height: 3px;
	background: var(--footer-red);
}

.fahrenheit-footer__location-card:hover {
	background: var(--footer-panel-hover);
	border-color: rgba(255, 255, 255, 0.28);
	transform: translateY(-3px);
}

.fahrenheit-footer__card-header {
	width: 100%;
	margin: 0 0 20px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--footer-border);
}

.fahrenheit-footer__eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 8px;
	padding: 0;
	color: var(--footer-gold);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1.35px;
	text-transform: uppercase;
}

.fahrenheit-footer__eyebrow::before {
	content: "";
	display: block;
	width: 24px;
	height: 2px;
	flex: 0 0 24px;
	background: var(--footer-red);
}

.fahrenheit-footer .fahrenheit-footer__location-title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--footer-white) !important;
	font-family: inherit !important;
	font-size: clamp(24px, 2.4vw, 34px) !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.35px !important;
	text-align: left !important;
	text-transform: none !important;
}


/* =========================================================
   CONTACT DETAILS
   ========================================================= */

.fahrenheit-footer__details {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	width: 100%;
	margin: 0 0 22px;
	padding: 0;
	font-style: normal;
}

.fahrenheit-footer__detail-link {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 11px;
	align-items: start;
	width: 100%;
	margin: 0;
	padding: 0;
	color: var(--footer-text) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	overflow-wrap: anywhere;
	text-decoration: none !important;
}

.fahrenheit-footer__detail-icon {
	display: block;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	fill: var(--footer-red);
}

.fahrenheit-footer__detail-link:hover,
.fahrenheit-footer__detail-link:focus {
	color: var(--footer-white) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 4px;
}

.fahrenheit-footer__detail-link:focus-visible {
	outline: 2px solid var(--footer-gold);
	outline-offset: 4px;
}


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.fahrenheit-footer__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	margin: auto 0 22px;
	padding: 0;
}

.fahrenheit-footer__action {
	display: flex !important;
	min-width: 0;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 11px 14px !important;
	color: var(--footer-white) !important;
	background: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid var(--footer-border) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.45px !important;
	white-space: normal;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.fahrenheit-footer__action--primary {
	background: var(--footer-red) !important;
	border-color: var(--footer-red) !important;
}

.fahrenheit-footer__action:hover,
.fahrenheit-footer__action:focus {
	color: var(--footer-white) !important;
	background: var(--footer-wine) !important;
	border-color: var(--footer-gold) !important;
	text-decoration: none !important;
	transform: translateY(-2px);
}

.fahrenheit-footer__action:focus-visible {
	outline: 2px solid var(--footer-gold);
	outline-offset: 3px;
}


/* =========================================================
   SOCIAL LINKS
   ========================================================= */

.fahrenheit-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--footer-border);
}

.fahrenheit-footer__social-link {
	display: grid !important;
	width: 42px;
	height: 42px;
	place-items: center;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--footer-white) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid var(--footer-border) !important;
	border-radius: 50% !important;
	text-decoration: none !important;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.fahrenheit-footer__social-link svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.fahrenheit-footer__social-link:hover,
.fahrenheit-footer__social-link:focus {
	color: var(--footer-white) !important;
	background: var(--footer-red) !important;
	border-color: var(--footer-red) !important;
	transform: translateY(-2px);
}

.fahrenheit-footer__social-link:focus-visible {
	outline: 2px solid var(--footer-gold);
	outline-offset: 3px;
}


/* =========================================================
   LEGAL AREA
   ========================================================= */

.fahrenheit-footer__legal {
	width: 100%;
	margin: 0;
	padding: 18px 20px 20px;
	background: #211f1f;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.fahrenheit-footer__legal-container {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.fahrenheit-footer__legal-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.fahrenheit-footer__legal-link {
	display: flex !important;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 8px 12px !important;
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.09);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.2px;
	text-align: center;
	text-decoration: none !important;
}

.fahrenheit-footer__legal-link:hover,
.fahrenheit-footer__legal-link:focus {
	color: #ffffff !important;
	background: var(--footer-red);
	border-color: var(--footer-red);
	text-decoration: none !important;
}

.fahrenheit-footer__legal-link:focus-visible {
	outline: 2px solid var(--footer-gold);
	outline-offset: 3px;
}

.fahrenheit-footer__legal-bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	width: 100%;
	padding-top: 16px;
}

.fahrenheit-footer__copyright,
.fahrenheit-footer__credit {
	margin: 0 !important;
	padding: 0 !important;
	color: #d9d6d4 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	letter-spacing: 0.15px !important;
}

.fahrenheit-footer__brand {
	color: #ffffff;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}

.fahrenheit-footer__credit {
	text-align: right;
}

.fahrenheit-footer__credit-link {
	color: #ef676a !important;
	font-weight: 700;
	text-decoration: none !important;
}

.fahrenheit-footer__credit-link:hover,
.fahrenheit-footer__credit-link:focus {
	color: #ffffff !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}


/* =========================================================
   TABLET
   Two columns remain enabled.
   ========================================================= */

@media screen and (max-width: 900px) {
	.fahrenheit-footer__locations {
		padding: 40px 18px;
	}

	.fahrenheit-footer__grid {
		gap: 16px;
	}

	.fahrenheit-footer__location-card {
		padding: 24px 20px;
	}

	.fahrenheit-footer__actions {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   MOBILE
   Two location columns remain enabled where practical.
   ========================================================= */

@media screen and (max-width: 640px) {
	.fahrenheit-footer__locations {
		padding: 32px 12px;
	}

	.fahrenheit-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.fahrenheit-footer__location-card {
		padding: 18px 14px;
	}

	.fahrenheit-footer .fahrenheit-footer__location-title {
		font-size: 20px !important;
		line-height: 1.22 !important;
	}

	.fahrenheit-footer__eyebrow {
		font-size: 8px;
		letter-spacing: 0.85px;
	}

	.fahrenheit-footer__eyebrow::before {
		width: 18px;
		flex-basis: 18px;
	}

	.fahrenheit-footer__detail-link {
		grid-template-columns: 18px minmax(0, 1fr);
		gap: 7px;
		font-size: 12px;
		line-height: 1.45;
	}

	.fahrenheit-footer__detail-icon {
		width: 17px;
		height: 17px;
	}

	.fahrenheit-footer__action {
		min-height: 42px;
		padding: 9px 8px !important;
		font-size: 9px !important;
		letter-spacing: 0.25px !important;
	}

	.fahrenheit-footer__socials {
		gap: 7px;
		padding-top: 14px;
	}

	.fahrenheit-footer__social-link {
		width: 36px;
		height: 36px;
	}

	.fahrenheit-footer__social-link svg {
		width: 15px;
		height: 15px;
	}

	.fahrenheit-footer__legal {
		padding-right: 12px;
		padding-left: 12px;
	}

	.fahrenheit-footer__legal-bottom {
		grid-template-columns: 1fr;
		gap: 8px;
		text-align: center;
	}

	.fahrenheit-footer__copyright,
	.fahrenheit-footer__credit {
		text-align: center;
	}
}


/* =========================================================
   SMALL MOBILE
   Stack only when two columns are no longer readable.
   ========================================================= */

@media screen and (max-width: 420px) {
	.fahrenheit-footer__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.fahrenheit-footer__location-card {
		padding: 22px 18px;
	}

	.fahrenheit-footer .fahrenheit-footer__location-title {
		font-size: 23px !important;
	}

	.fahrenheit-footer__detail-link {
		font-size: 13px;
	}

	.fahrenheit-footer__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fahrenheit-footer__action {
		font-size: 9.5px !important;
	}

	.fahrenheit-footer__legal-nav {
		gap: 8px;
	}

	.fahrenheit-footer__legal-link {
		padding: 8px !important;
		font-size: 11px;
	}
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media screen and (max-width: 340px) {
	.fahrenheit-footer__locations {
		padding-right: 9px;
		padding-left: 9px;
	}

	.fahrenheit-footer__location-card {
		padding: 19px 15px;
	}

	.fahrenheit-footer__actions {
		grid-template-columns: 1fr;
	}

	.fahrenheit-footer__legal-nav {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	.fahrenheit-footer__location-card,
	.fahrenheit-footer__action,
	.fahrenheit-footer__social-link {
		transition: none !important;
	}

	.fahrenheit-footer__location-card:hover,
	.fahrenheit-footer__action:hover,
	.fahrenheit-footer__action:focus,
	.fahrenheit-footer__social-link:hover,
	.fahrenheit-footer__social-link:focus {
		transform: none !important;
	}
}
