/* ==========================================================================
   Contact Me Page - Page Banner (title + breadcrumb)
   ========================================================================== */
.page-banner{
	position:relative;
	padding-top:calc(var(--header-height) + 70px);
	padding-bottom:60px;
	background-color:var(--color-bg-soft);
	background-image:var(--page-banner-bg);
	background-size:cover;
	background-position:top;
	overflow:hidden;
}

.page-banner__inner{
	position:relative;
	z-index:2;
}

.page-banner__breadcrumb{
	font-family:var(--font-body);
	font-size:14px;
	margin-bottom:16px;
}

.page-banner__breadcrumb a{
	color:var(--color-text-muted);
	transition:color .25s ease;
}

.page-banner__breadcrumb a:hover{
	color:var(--color-gold-dark);
}

.page-banner__separator{
	margin:0 8px;
	color:var(--color-text-muted);
}

.page-banner__current{
	color:var(--color-gold-dark);
	font-weight:600;
}

.page-banner__title{
	font-family:var(--font-heading);
	font-size:clamp(34px, 4.4vw, 28px);
	font-weight:600;
	line-height:1.15;
	color:var(--color-black);
	margin:0;
}

/* ==========================================================================
   Responsive - Page Banner
   ========================================================================== */
@media (max-width: 768px){

	.page-banner{
		padding-top:calc(var(--header-height) + 40px);
		padding-bottom:44px;
	}
}


/* ==========================================================================
   Contact Me Page - Intro
   ========================================================================== */
.contact-intro{
	background:var(--color-bg);
	padding:60px 0 0;
}

.contact-intro__inner{
	max-width:640px;
	margin:0 auto;
	text-align:center;
}

.contact-intro__eyebrow{
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:400;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin:0 0 12px;
}

.contact-intro__heading{
	font-family:var(--font-heading);
	font-size:clamp(28px, 3.4vw, 42px);
	font-weight:600;
	line-height:1.2;
	color:var(--color-black);
	margin:0 0 18px;
}

.contact-intro__desc{
	font-family:var(--font-body);
	font-size:16px;
	line-height:1.8;
	color:var(--color-text-muted);
	margin:0;
}

/* ==========================================================================
   Responsive - Intro
   ========================================================================== */
@media (max-width: 768px){

	.contact-intro{
		padding:64px 0 0;
	}

	.contact-intro__desc{
		font-size:15px;
	}
}

@media (max-width: 480px){

	.contact-intro{
		padding:52px 0 0;
	}
}

/* ==========================================================================
   Contact Me Page - Contact Form + Info Sidebar
   ========================================================================== */
.contact-main{
	background:var(--color-bg);
	padding:64px 0 20px;
}

.contact-main__grid{
	display:grid;
	grid-template-columns:1fr 0.5fr;
	gap:64px;
	align-items:start;
}

/* ---- Form column (no card background, tight spacing) ---- */
.contact-main__form-heading,
.contact-main__info-heading{
	font-family:var(--font-heading);
	font-size:20px;
	font-weight:600;
	color:var(--color-black);
	margin:0 0 26px;
}

.contact-main__form .wpcf7-form{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.contact-main__form .wpcf7-form .form-row{
	margin:0;
}

.contact-main__form .wpcf7-form-control{
	width:100%;
	font-family:var(--font-body);
	font-size:15px;
	color:var(--color-text);
	background:transparent;
	border:none;
	border-bottom:1px solid var(--color-border);
	border-radius:0;
	padding:10px 2px;
	line-height:1.5;
	transition:border-color .25s ease;
}

.contact-main__form textarea.wpcf7-form-control{
	min-height:100px;
	resize:vertical;
}
.contact-main__form textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required {
    height: 200px;
}
.contact-main__form .wpcf7-form-control:focus{
	outline:none;
	border-color:var(--color-gold);
}

.contact-main__form .wpcf7-form-control::placeholder{
	color:var(--color-text-muted);
	opacity:0.75;
}

.contact-main__form .wpcf7-submit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:fit-content;
	background:var(--color-black);
	color:var(--color-gold);
	font-family:var(--font-heading);
	font-size:14.5px;
	font-weight:600;
	border:1px solid var(--color-black);
	border-radius:var(--radius-btn);
	padding:13px 30px;
	cursor:pointer;
	margin-top:6px;
	transition:background .3s ease, color .3s ease;
}

.contact-main__form .wpcf7-submit:hover{
	background:var(--color-gold);
	color:var(--color-black);
	border-color:var(--color-gold);
}

.contact-main__form .wpcf7-spinner{
	margin:0 0 0 10px;
}

.contact-main__form .wpcf7-not-valid-tip{
	font-family:var(--font-body);
	font-size:12.5px;
	color:#c0392b;
	margin-top:4px;
}

.contact-main__form .wpcf7-response-output{
	margin:4px 0 0;
	padding:12px 16px;
	border-radius:4px;
	font-family:var(--font-body);
	font-size:14px;
	border-width:1px;
}

/* ---- Info sidebar (simple list, no boxes) ---- */
.info-list{
	list-style:none;
	margin:0 0 32px;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:22px;
}

.info-list__item{
	display:flex;
	align-items:flex-start;
	gap:16px;
	padding-bottom:22px;
	border-bottom:1px solid var(--color-border);
}

.info-list__item:last-child{
	border-bottom:none;
	padding-bottom:0;
}

.info-list__icon{
	width:25px;
	height:25px;
	object-fit:contain;
	margin-top:3px;
	flex-shrink:0;
}

.info-list__label{
	display:block;
	font-family:var(--font-heading);
	font-size:11.5px;
	font-weight:700;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin-bottom:5px;
}

.info-list__value{
	display:block;
	font-family:var(--font-body);
	font-size:15px;
	color:var(--color-black);
}

a.info-list__value:hover{
	color:var(--color-gold-dark);
}

.info-list__value--static{
	color:var(--color-text);
}

.contact-main__socials{
	display:flex;
	gap:14px;
}

.contact-main__social-link{
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	border-radius:50%;
	background:var(--color-bg-soft);
	border:1px solid var(--color-border);
	transition:background .3s ease, border-color .3s ease;
}

.contact-main__social-link:hover{
	background:var(--color-black);
	border-color:var(--color-black);
}

.contact-main__social-link img{
	width:16px;
	height:16px;
	object-fit:contain;
}

/* ==========================================================================
   Responsive - Contact Form + Info Sidebar
   ========================================================================== */
@media (max-width: 1024px){

	.contact-main{
		padding:56px 0 70px;
	}

	.contact-main__grid{
		gap:44px;
	}
}

@media (max-width: 860px){

	.contact-main__grid{
		grid-template-columns:1fr;
		gap:56px;
	}
}

@media (max-width: 480px){

	.contact-main{
		padding:48px 0 56px;
	}

	.contact-main__form .wpcf7-form{
		gap:16px;
	}

	.contact-main__form .wpcf7-submit{
		width:100%;
	}
}

/* ==========================================================================
   Contact Me Page - Map
   ========================================================================== */
.contact-map{
	background:var(--color-bg-soft);
	padding:80px 0 0;
}

.contact-map__head{
	text-align:center;
	max-width:560px;
	margin:0 auto 40px;
}

.contact-map__eyebrow{
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:400;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--color-gold-dark);
	margin:0 0 12px;
}

.contact-map__heading{
	font-family:var(--font-heading);
	font-size:clamp(26px, 3vw, 36px);
	font-weight:600;
	color:var(--color-black);
	margin:0;
}

.contact-map__frame{
	position:relative;
	width:100%;
	height:420px;
	border-radius:0;
	overflow:hidden;
	box-shadow:0 20px 44px rgba(17,17,17,0.1);
}

.contact-map__frame iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	filter:grayscale(15%) contrast(1.02);
}

/* ==========================================================================
   Responsive - Map
   ========================================================================== */
@media (max-width: 768px){

	.contact-map{
		padding:64px 0 0;
	}

	.contact-map__frame{
		height:340px;
	}
}

@media (max-width: 480px){

	.contact-map{
		padding:52px 0 0;
	}

	.contact-map__frame{
		height:280px;
	}

	.contact-map__head{
		margin-bottom:32px;
	}
}