/* =========================================================
 * PRESS 365 — Contact Page
 * Version: 1.3.0
 * =========================================================
 *
 * Typography aligned with PRESS 365 Core Design System.
 * Existing layout, WPForms structure and visual design preserved.
 * ======================================================= */


/* =========================================================
 * 1. Astra Reset
 * ======================================================= */

body.p365-contact-body
#content.site-content {
	width: 100%;
	margin: 0;
	padding: 0;
}


body.p365-contact-body
#content.site-content > .ast-container {
	display: block !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


body.p365-contact-body
#primary,
body.p365-contact-body
#primary.p365-contact-page {
	float: none !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


body.p365-contact-body
.site-main {
	width: 100%;
	max-width: none;

	margin: 0;
	padding: 0;
}


/* =========================================================
 * 2. Page
 * ======================================================= */

.p365-contact-page {
	width: 100%;

	margin: 0;
	padding: 0;
}


.p365-contact {
	width: 100%;

	padding-top:
		24px;
}


/* =========================================================
 * 3. Hero
 * ======================================================= */

.p365-contact-hero__shell {
	position: relative;

	display: grid;

	grid-template-columns:
		minmax(0, 1.45fr)
		minmax(320px, .55fr);

	min-height:
		450px;

	overflow:
		hidden;

	border-radius:
		var(--p365-radius-lg);

	background:
		linear-gradient(
			125deg,
			var(--p365-dark) 0%,
			#043d42 58%,
			var(--p365-teal) 100%
		);

	color:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


/* =========================================================
 * 4. Hero Content
 * ======================================================= */

.p365-contact-hero__content {
	display: flex;

	flex-direction:
		column;

	justify-content:
		center;

	max-width:
		900px;

	padding:
		60px;
}


.p365-contact-hero__label {
	align-self:
		flex-start;

	margin-bottom:
		18px;

	padding:
		6px 12px;

	border-radius:
		5px;

	background:
		var(--p365-orange);

	color:
		var(--p365-white);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1;
}


.p365-contact-hero__title {
	max-width:
		820px;

	margin:
		0 0 19px;

	color:
		var(--p365-white);

	font-size:
		44px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.35;

	letter-spacing:
		-.015em;
}


.p365-contact-hero__text {
	max-width:
		720px;

	margin:
		0;

	color:
		rgba(255,255,255,.68);

	font-size:
		16px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.9;
}


/* =========================================================
 * 5. Hero Visual
 * ======================================================= */

.p365-contact-hero__visual {
	direction:
		ltr;

	position:
		relative;

	display:
		flex;

	flex-direction:
		column;

	align-items:
		center;

	justify-content:
		center;

	overflow:
		hidden;

	border-right:
		1px solid rgba(255,255,255,.10);
}


.p365-contact-hero__visual::after {
	content:
		"365";

	position:
		absolute;

	right:
		-50px;

	bottom:
		-95px;

	color:
		rgba(255,255,255,.035);

	font-size:
		300px;

	font-weight:
		var(--p365-weight-bold);

	line-height:
		1;
}


.p365-contact-hero__icon {
	position:
		relative;

	z-index:
		2;

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		72px;

	height:
		72px;

	margin-bottom:
		23px;

	border:
		1px solid rgba(255,255,255,.18);

	border-radius:
		50%;

	background:
		rgba(255,255,255,.06);

	color:
		var(--p365-orange);
}


.p365-contact-hero__visual > span {
	position:
		relative;

	z-index:
		2;

	color:
		var(--p365-white);

	font-size:
		30px;

	font-weight:
		var(--p365-weight-extrabold);

	font-style:
		italic;

	line-height:
		1;
}


.p365-contact-hero__visual > strong {
	position:
		relative;

	z-index:
		2;

	margin-top:
		6px;

	padding:
		5px 12px;

	border-radius:
		4px;

	background:
		var(--p365-orange);

	color:
		var(--p365-white);

	font-size:
		38px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1;
}


.p365-contact-hero__visual > small {
	position:
		relative;

	z-index:
		2;

	margin-top:
		12px;

	color:
		rgba(255,255,255,.43);

	font-size:
		9px;

	font-weight:
		var(--p365-weight-bold);

	line-height:
		1.4;

	letter-spacing:
		.18em;
}


/* =========================================================
 * 6. Shared Heading
 * ======================================================= */

.p365-contact-section-heading {
	position:
		relative;

	margin-bottom:
		22px;

	padding-right:
		15px;
}


.p365-contact-section-heading::before {
	content:
		"";

	position:
		absolute;

	top:
		0;

	right:
		0;

	width:
		4px;

	height:
		48px;

	border-radius:
		4px 0 0 4px;

	background:
		var(--p365-orange);
}


.p365-contact-section-heading > span {
	display:
		block;

	margin-bottom:
		5px;

	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-contact-section-heading h2 {
	margin:
		0;

	color:
		var(--p365-dark);

	font-size:
		30px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.35;
}


/* =========================================================
 * 7. Contact Options
 * ======================================================= */

.p365-contact-options {
	padding-top:
		38px;
}


.p365-contact-options__grid {
	display:
		grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	overflow:
		hidden;

	border:
		1px solid var(--p365-border);

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


.p365-contact-option {
	min-width:
		0;

	min-height:
		260px;

	padding:
		30px;

	border-left:
		1px solid var(--p365-border);
}


.p365-contact-option:last-child {
	border-left:
		0;
}


.p365-contact-option__number {
	display:
		block;

	margin-bottom:
		28px;

	color:
		rgba(3,47,51,.10);

	font-size:
		46px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1;
}


.p365-contact-option h3 {
	margin:
		0 0 9px;

	color:
		var(--p365-dark);

	font-size:
		21px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.45;
}


.p365-contact-option p {
	min-height:
		75px;

	margin:
		0 0 18px;

	color:
		var(--p365-muted);

	font-size:
		13px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.85;
}


.p365-contact-option a {
	display:
		inline-flex;

	align-items:
		center;

	gap:
		9px;

	color:
		var(--p365-teal);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-contact-option a:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 8. Main Contact Area
 * ======================================================= */

.p365-contact-main {
	padding-top:
		24px;
}


.p365-contact-main__grid {
	display:
		grid;

	grid-template-columns:
		minmax(360px, .78fr)
		minmax(0, 1.22fr);

	align-items:
		stretch;

	overflow:
		hidden;

	border:
		1px solid var(--p365-border);

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


/* =========================================================
 * 9. Contact Information
 * ======================================================= */

.p365-contact-info {
	position:
		relative;

	min-width:
		0;

	overflow:
		hidden;

	padding:
		44px;

	background:
		var(--p365-dark);

	color:
		var(--p365-white);
}


.p365-contact-info__eyebrow {
	display:
		block;

	margin-bottom:
		7px;

	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-contact-info h2 {
	max-width:
		430px;

	margin:
		0 0 13px;

	color:
		var(--p365-white);

	font-size:
		30px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.45;
}


.p365-contact-info > p {
	max-width:
		450px;

	margin:
		0;

	color:
		rgba(255,255,255,.60);

	font-size:
		13px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.85;
}


/* =========================================================
 * 10. Contact Details
 * ======================================================= */

.p365-contact-info__details {
	position:
		relative;

	z-index:
		2;

	margin-top:
		28px;

	border-top:
		1px solid rgba(255,255,255,.10);
}


.p365-contact-info__detail {
	display:
		grid;

	grid-template-columns:
		52px minmax(0,1fr);

	align-items:
		center;

	gap:
		14px;

	min-height:
		78px;

	padding:
		13px 0;

	border-bottom:
		1px solid rgba(255,255,255,.10);
}


/* Icon */

.p365-contact-info__detail-icon {
	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		46px;

	height:
		46px;

	border:
		1px solid rgba(255,255,255,.15);

	border-radius:
		50%;

	background:
		rgba(255,255,255,.025);

	color:
		var(--p365-orange);
}


/* Content */

.p365-contact-info__detail-content {
	display:
		flex;

	flex-direction:
		column;

	justify-content:
		center;

	gap:
		3px;

	min-width:
		0;
}


.p365-contact-info__detail-label {
	color:
		rgba(255,255,255,.42);

	font-size:
		10px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.4;
}


.p365-contact-info__detail-value {
	min-width:
		0;

	color:
		var(--p365-white);

	font-size:
		15px;

	font-weight:
		var(--p365-weight-bold);

	line-height:
		1.55;

	overflow-wrap:
		anywhere;
}


a.p365-contact-info__detail-value {
	transition:
		color var(--p365-transition);
}


a.p365-contact-info__detail-value:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 11. Response Note
 * ======================================================= */

.p365-contact-info__note {
	position:
		relative;

	z-index:
		2;

	display:
		grid;

	grid-template-columns:
		7px minmax(0, 1fr);

	gap:
		10px;

	margin-top:
		26px;
}


.p365-contact-info__note > span {
	width:
		7px;

	height:
		7px;

	margin-top:
		8px;

	border-radius:
		50%;

	background:
		var(--p365-orange);
}


.p365-contact-info__note p {
	margin:
		0;

	color:
		rgba(255,255,255,.50);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-regular);

	line-height:
		1.8;
}


.p365-contact-info__365 {
	position:
		absolute;

	left:
		-35px;

	bottom:
		-85px;

	color:
		rgba(255,255,255,.03);

	font-size:
		250px;

	font-weight:
		var(--p365-weight-bold);

	line-height:
		1;

	pointer-events:
		none;
}


/* =========================================================
 * 12. Form
 * ======================================================= */

.p365-contact-form {
	min-width:
		0;

	padding:
		42px 44px 46px;
}


.p365-contact-form__header {
	margin-bottom:
		24px;
}


.p365-contact-form__header span {
	color:
		var(--p365-orange);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-contact-form__header h2 {
	margin:
		4px 0 0;

	color:
		var(--p365-dark);

	font-size:
		30px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.4;
}


/* =========================================================
 * 13. WPForms
 * ======================================================= */

.p365-contact-form
.wpforms-container {
	margin:
		0 !important;
}


.p365-contact-form
.wpforms-field {
	padding:
		0 0 16px !important;
}


.p365-contact-form
.wpforms-field-label {
	margin-bottom:
		7px !important;

	color:
		var(--p365-dark) !important;

	font-size:
		12px !important;

	font-weight:
		700 !important;

	line-height:
		1.4 !important;
}


/* Text Inputs */

.p365-contact-form
input[type="text"],

.p365-contact-form
input[type="email"],

.p365-contact-form
input[type="tel"],

.p365-contact-form
input[type="url"],

.p365-contact-form
textarea {
	width:
		100% !important;

	max-width:
		none !important;

	margin:
		0 !important;

	padding:
		12px 14px !important;

	border:
		1px solid var(--p365-border) !important;

	border-radius:
		8px !important;

	background:
		var(--p365-white) !important;

	color:
		var(--p365-text-dark) !important;

	font-size:
		14px !important;

	font-weight:
		400 !important;

	line-height:
		1.6 !important;

	box-shadow:
		none !important;
}


/* Select */

.p365-contact-form
select {
	width:
		100% !important;

	max-width:
		none !important;

	height:
		46px !important;

	margin:
		0 !important;

	padding:
		0 14px 0 44px !important;

	border:
		1px solid var(--p365-border) !important;

	border-radius:
		8px !important;

	background-color:
		var(--p365-white) !important;

	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23032f33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;

	background-repeat:
		no-repeat !important;

	background-position:
		left 15px center !important;

	background-size:
		14px !important;

	color:
		var(--p365-text-dark) !important;

	font-size:
		14px !important;

	font-weight:
		400 !important;

	line-height:
		1.5 !important;

	text-align:
		right !important;

	direction:
		rtl !important;

	box-shadow:
		none !important;

	appearance:
		none !important;

	-webkit-appearance:
		none !important;

	cursor:
		pointer;
}


/* Focus */

.p365-contact-form
input:focus,

.p365-contact-form
textarea:focus,

.p365-contact-form
select:focus {
	border-color:
		var(--p365-orange) !important;

	outline:
		0 !important;

	box-shadow:
		0 0 0 2px rgba(243,154,34,.08) !important;
}


/* Placeholder */

.p365-contact-form
input::placeholder,

.p365-contact-form
textarea::placeholder {
	color:
		#9ca6a5 !important;

	font-weight:
		400 !important;

	opacity:
		1;
}


/* Textarea */

.p365-contact-form
textarea {
	min-height:
		160px !important;

	resize:
		vertical !important;
}


/* Submit */

.p365-contact-form
.wpforms-submit {
	min-height:
		46px !important;

	padding:
		10px 22px !important;

	border:
		0 !important;

	border-radius:
		7px !important;

	background:
		var(--p365-orange) !important;

	color:
		var(--p365-white) !important;

	font-size:
		13px !important;

	font-weight:
		800 !important;

	line-height:
		1.4 !important;

	cursor:
		pointer !important;
}


.p365-contact-form
.wpforms-submit:hover {
	background:
		var(--p365-orange-dark) !important;
}


/* =========================================================
 * 14. Editorial Note
 * ======================================================= */

.p365-contact-editorial {
	padding:
		24px 0 32px;
}


.p365-contact-editorial__shell {
	display:
		grid;

	grid-template-columns:
		.55fr 1.45fr;

	align-items:
		center;

	gap:
		45px;

	padding:
		36px 42px;

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-teal);

	color:
		var(--p365-white);
}


.p365-contact-editorial__shell > div span {
	color:
		var(--p365-orange);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-contact-editorial__shell h2 {
	margin:
		5px 0 0;

	color:
		var(--p365-white);

	font-size:
		28px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.4;
}


.p365-contact-editorial__shell > p {
	margin:
		0;

	color:
		rgba(255,255,255,.65);

	font-size:
		14px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.9;
}


/* =========================================================
 * 15. Tablet
 * ======================================================= */

@media (max-width: 1000px) {

	.p365-contact-hero__shell {
		grid-template-columns:
			minmax(0,1fr)
			270px;
	}


	.p365-contact-hero__content {
		padding:
			45px;
	}


	.p365-contact-hero__title {
		font-size:
			38px;
	}


	.p365-contact-main__grid {
		grid-template-columns:
			.85fr 1.15fr;
	}


	.p365-contact-info,
	.p365-contact-form {
		padding:
			35px;
	}


	.p365-contact-info h2,
	.p365-contact-form__header h2 {
		font-size:
			28px;
	}
}


/* =========================================================
 * 16. Mobile
 * ======================================================= */

@media (max-width: 760px) {

	.p365-contact {
		padding-top:
			18px;
	}


	.p365-contact-hero__shell {
		display:
			block;

		min-height:
			0;
	}


	.p365-contact-hero__content {
		padding:
			38px 24px;
	}


	.p365-contact-hero__label {
		font-size:
			11px;
	}


	.p365-contact-hero__title {
		font-size:
			32px;

		font-weight:
			var(--p365-weight-black);

		line-height:
			1.4;
	}


	.p365-contact-hero__text {
		font-size:
			15px;

		font-weight:
			var(--p365-weight-medium);

		line-height:
			1.85;
	}


	.p365-contact-hero__visual {
		min-height:
			200px;

		border-top:
			1px solid rgba(255,255,255,.10);

		border-right:
			0;
	}


	.p365-contact-section-heading h2 {
		font-size:
			28px;
	}


	.p365-contact-options {
		padding-top:
			30px;
	}


	.p365-contact-options__grid {
		grid-template-columns:
			1fr;
	}


	.p365-contact-option {
		min-height:
			0;

		border-left:
			0;

		border-bottom:
			1px solid var(--p365-border);
	}


	.p365-contact-option:last-child {
		border-bottom:
			0;
	}


	.p365-contact-option p {
		min-height:
			0;
	}


	.p365-contact-main__grid {
		display:
			block;
	}


	.p365-contact-info,
	.p365-contact-form {
		padding:
			32px 24px;
	}


	.p365-contact-info h2,
	.p365-contact-form__header h2 {
		font-size:
			28px;
	}


	.p365-contact-info__detail {
		min-height:
			72px;
	}


	.p365-contact-info__detail-value {
		font-size:
			14px;
	}


	.p365-contact-editorial__shell {
		display:
			block;

		padding:
			30px 24px;
	}


	.p365-contact-editorial__shell > div {
		margin-bottom:
			18px;
	}


	.p365-contact-editorial__shell h2 {
		font-size:
			26px;
	}
}


/* =========================================================
 * 17. Small Mobile
 * ======================================================= */

@media (max-width: 480px) {

	.p365-contact-hero__content {
		padding:
			32px 20px;
	}


	.p365-contact-hero__title {
		font-size:
			30px;
	}


	.p365-contact-hero__visual > span {
		font-size:
			27px;
	}


	.p365-contact-hero__visual > strong {
		font-size:
			34px;
	}


	.p365-contact-hero__visual > small {
		font-size:
			8px;
	}


	.p365-contact-section-heading h2 {
		font-size:
			26px;
	}


	.p365-contact-option {
		padding:
			25px 22px;
	}


	.p365-contact-option__number {
		font-size:
			42px;
	}


	.p365-contact-option h3 {
		font-size:
			19px;
	}


	.p365-contact-option p {
		font-size:
			12px;
	}


	.p365-contact-info,
	.p365-contact-form {
		padding:
			27px 20px;
	}


	.p365-contact-info h2 {
		font-size:
			26px;
	}


	.p365-contact-info__detail {
		grid-template-columns:
			46px minmax(0,1fr);

		gap:
			12px;

		min-height:
			70px;
	}


	.p365-contact-info__detail-icon {
		width:
			42px;

		height:
			42px;
	}


	.p365-contact-info__detail-value {
		font-size:
			13px;
	}


	.p365-contact-form__header h2 {
		font-size:
			26px;
	}


	.p365-contact-form
	.wpforms-field-label {
		font-size:
			12px !important;
	}


	.p365-contact-form
	input[type="text"],

	.p365-contact-form
	input[type="email"],

	.p365-contact-form
	input[type="tel"],

	.p365-contact-form
	input[type="url"],

	.p365-contact-form
	textarea,

	.p365-contact-form
	select {
		font-size:
			14px !important;
	}


	.p365-contact-editorial__shell {
		padding:
			26px 20px;
	}


	.p365-contact-editorial__shell h2 {
		font-size:
			24px;
	}


	.p365-contact-editorial__shell > p {
		font-size:
			13px;
	}
}