/* ============================================================
   LEMED SPA — Custom Overrides for Dimension Template
   Colors: Gold #C5A55A · Cream #FAF7F2 · Charcoal #1A1A1A
   Fonts:  Playfair Display (headings) · Inter (body)
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@200;300;400;500&display=swap");


/* ===== Typography Overrides ===== */

body, input, select, textarea {
	font-family: 'Inter', 'Source Sans Pro', sans-serif;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.85);
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	letter-spacing: 0.15rem;
}

h1 {
	font-size: 2.5rem;
	letter-spacing: 0.35rem;
	font-weight: 400;
}

h2 {
	font-weight: 400;
}

h2.major {
	border-bottom-color: #C5A55A;
}

h3 {
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.15rem;
}

/* ===== Header Logo ===== */

.header-logo {
	width: 180px;
	height: auto;
	margin-bottom: 1rem;
	opacity: 0.85;
	filter: drop-shadow(0 0 40px rgba(0, 0, 0, 0.5));
}

@media screen and (max-width: 480px) {
	.header-logo {
		width: 140px;
	}
}

#header .content p {
	font-family: 'Inter', sans-serif;
	font-weight: 200;
	letter-spacing: 0.25rem;
	color: rgba(255, 255, 255, 0.65);
}


/* ===== Gold Accent System ===== */

a {
	border-bottom-color: rgba(197, 165, 90, 0.4);
}

a:hover {
	color: #C5A55A;
	border-bottom-color: transparent;
}

blockquote {
	border-left-color: #C5A55A;
}

hr {
	border-bottom-color: rgba(197, 165, 90, 0.3);
}


/* ===== Header Borders → Gold ===== */

#header .content {
	border-color: rgba(197, 165, 90, 0.35);
}

#header > *:before {
	background: rgba(197, 165, 90, 0.35);
}

#header nav ul {
	border-color: rgba(197, 165, 90, 0.35);
}

#header nav ul li {
	border-left-color: rgba(197, 165, 90, 0.35);
}

#header nav ul li a:hover {
	background-color: rgba(197, 165, 90, 0.1);
}

#header nav ul li a:active {
	background-color: rgba(197, 165, 90, 0.2);
}

@media screen and (max-width: 480px) {
	#header nav ul li {
		border-top-color: rgba(197, 165, 90, 0.35);
	}
}


/* ===== Buttons → Gold ===== */

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
	background-color: #C5A55A;
	color: #1A1A1A !important;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	letter-spacing: 0.15rem;
	border: none;
}

input[type="submit"].primary:hover,
.button.primary:hover {
	background-color: #d4b76e;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
	border-color: rgba(197, 165, 90, 0.5);
	color: rgba(255, 255, 255, 0.85);
	font-family: 'Inter', sans-serif;
}

input[type="submit"]:hover,
.button:hover {
	border-color: #C5A55A;
	color: #C5A55A;
}


/* ===== Form Fields → Gold Focus ===== */

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
select,
textarea {
	border-color: rgba(255, 255, 255, 0.15);
	font-family: 'Inter', sans-serif;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
	border-color: #C5A55A;
}


/* ===== Article Lead Text ===== */

.article-lead {
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-size: 1.15rem;
	color: rgba(197, 165, 90, 0.85);
	margin-bottom: 1.5rem;
}


/* ===== Services Grid ===== */

.services-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.service-tile {
	display: block;
	padding: 1.5rem;
	border: 1px solid rgba(197, 165, 90, 0.2);
	border-radius: 4px;
	text-decoration: none;
	border-bottom: none;
	transition: all 0.3s ease;
	background: rgba(255, 255, 255, 0.02);
}

.service-tile:hover {
	border-color: rgba(197, 165, 90, 0.5);
	background: rgba(197, 165, 90, 0.06);
	transform: translateY(-2px);
}

.service-tile-icon {
	margin-bottom: 0.75rem;
}

.service-tile-icon .icon {
	font-size: 1.5rem;
	color: #C5A55A;
}

.service-tile-icon .icon:before {
	font-size: 1.5rem;
}

.service-tile h3 {
	font-size: 0.85rem;
	margin-bottom: 0.5rem;
	color: #ffffff;
}

.service-tile p {
	font-size: 0.75rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: 0;
}

@media screen and (max-width: 480px) {
	.services-grid {
		grid-template-columns: 1fr;
	}
}


/* ===== Services Visual Tiles (Modal) ===== */

.services-tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.services-tile {
	position: relative;
	display: block;
	height: 160px;
	border-radius: 3px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	text-decoration: none;
	border-bottom: none !important;
	transition: transform 0.4s ease;
}

.services-tile:hover {
	transform: scale(1.02);
}

.services-tile__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		to top,
		rgba(10, 10, 12, 0.9) 0%,
		rgba(10, 10, 12, 0.4) 50%,
		rgba(10, 10, 12, 0.2) 100%
	);
	transition: background 0.4s ease;
}

.services-tile:hover .services-tile__overlay {
	background: linear-gradient(
		to top,
		rgba(10, 10, 12, 0.85) 0%,
		rgba(10, 10, 12, 0.3) 50%,
		rgba(10, 10, 12, 0.1) 100%
	);
}

.services-tile__content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1.25rem;
	z-index: 2;
}

.services-tile__content h3 {
	font-family: 'Inter', sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.15rem;
	color: #C5A55A;
	margin-bottom: 0.35rem;
}

.services-tile__sub {
	display: block;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 0.65rem;
	font-style: italic;
	color: rgba(255, 255, 255, 0.45);
	letter-spacing: 0.04rem;
	margin-bottom: 0.4rem;
}

.services-tile__content p {
	font-size: 0.6rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.55);
	margin-bottom: 0;
}

.services-tile--medical {
	background-image: url("../../images/svc-medical.jpg");
}

.services-tile--aesthetics {
	background-image: url("../../images/svc-aesthetics.jpg");
}

.services-tile--wellness {
	background-image: url("../../images/svc-wellness.jpg");
}

.services-tile--homecare {
	background-image: url("../../images/svc-homecare.jpg");
}

@media screen and (max-width: 480px) {
	.services-tiles {
		grid-template-columns: 1fr;
	}

	.services-tile {
		height: 140px;
	}
}


/* ===== Contact Method Cards ===== */

.contact-preferred {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

.contact-method {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 3px;
	text-decoration: none;
	border-bottom: none !important;
	transition: all 0.3s ease;
	background: rgba(255, 255, 255, 0.02);
}

.contact-method:hover {
	border-color: rgba(197, 165, 90, 0.4);
	background: rgba(197, 165, 90, 0.04);
}

.contact-method--primary {
	border-color: rgba(197, 165, 90, 0.3);
	background: rgba(197, 165, 90, 0.06);
}

.contact-method .icon {
	font-size: 1.25rem;
	color: #C5A55A;
	margin-top: 0.15rem;
	flex-shrink: 0;
}

.contact-method .icon:before {
	font-size: 1.25rem;
}

.contact-method h3 {
	font-family: 'Inter', sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	color: #ffffff;
	margin-bottom: 0.25rem;
}

.contact-method p {
	font-size: 0.7rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.5);
	margin-bottom: 0.25rem;
}

.contact-method__number {
	font-family: 'Inter', sans-serif;
	font-size: 0.65rem;
	font-weight: 400;
	color: rgba(197, 165, 90, 0.7);
	letter-spacing: 0.05rem;
}

@media screen and (max-width: 480px) {
	.contact-preferred {
		grid-template-columns: 1fr;
	}
}


/* ===== Blockquotes in Results ===== */

#results blockquote {
	font-family: 'Playfair Display', serif;
	font-size: 0.9rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.75);
	padding: 0.75rem 0 0.75rem 1.5rem;
	margin-bottom: 1.5rem;
}

#results blockquote cite {
	display: block;
	margin-top: 0.5rem;
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	color: rgba(197, 165, 90, 0.7);
}


/* ===== Contact Info Block ===== */

.contact-info {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(197, 165, 90, 0.2);
}

.contact-info p {
	font-size: 0.85rem;
	margin-bottom: 0.5rem;
	color: rgba(255, 255, 255, 0.7);
}

.contact-info a {
	color: #C5A55A;
	border-bottom-color: rgba(197, 165, 90, 0.3);
}


/* ===== Disclaimer Text ===== */

.disclaimer {
	font-size: 0.65rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.4);
	margin-top: 1rem;
}

.disclaimer a {
	color: rgba(197, 165, 90, 0.6);
}


/* ===== Social Icons → Gold ===== */

.icons li a {
	border-bottom: none;
	color: rgba(255, 255, 255, 0.5);
}

.icons li a:hover {
	color: #C5A55A;
}


/* ===== Background Overlay Tweaks ===== */

#bg:before {
	background-image: linear-gradient(to top, rgba(10, 10, 12, 0.6), rgba(10, 10, 12, 0.4)), url("../../images/overlay.png");
}

#bg:after {
	background-position: center 20%;
	transform: scale(1.35);
}

body.is-article-visible #bg:after {
	transform: scale(1.3);
}


/* ===== Article Background ===== */

#main article {
	background-color: rgba(15, 15, 18, 0.92);
}


/* ===== Footer ===== */

#footer .copyright {
	color: rgba(255, 255, 255, 0.4);
}

#footer .copyright a {
	color: rgba(197, 165, 90, 0.5);
}
