/* Página Locação do espaço — escopo isolado para não afetar a loja. */
.rental-hero {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	min-height: 720px;
	background: var(--wine);
	color: #fff9f1;
}

.rental-hero__content {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: center;
	padding: clamp(80px, 8vw, 120px) clamp(42px, 6vw, 96px) 68px max(4.3vw, calc(50vw - 720px));
	overflow: hidden;
}

.rental-hero__content::after {
	content: "";
	position: absolute;
	bottom: -190px;
	left: -240px;
	width: 390px;
	height: 390px;
	border: 1px solid rgb(202 167 101 / 30%);
	border-radius: 50%;
	box-shadow: 0 0 0 46px rgb(202 167 101 / 4%), 0 0 0 92px rgb(202 167 101 / 3%);
}

.rental-hero__content > * {
	z-index: 1;
	position: relative;
}

.rental-hero h1 {
	max-width: 710px;
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(54px, 5.2vw, 80px);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: .94;
}

.rental-hero h1 em {
	display: block;
	margin-top: 10px;
	color: var(--gold-light);
	font-weight: 500;
}

.rental-hero__lead {
	max-width: 610px;
	margin: 30px 0 34px;
	color: rgb(255 249 241 / 76%);
	font-size: 15px;
	line-height: 1.85;
}

.rental-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 66px;
}

.rental-hero__tags span {
	padding: 8px 13px;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 999px;
	color: rgb(255 255 255 / 75%);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rental-hero__media {
	min-height: 720px;
	margin: 0;
	position: relative;
	overflow: hidden;
}

.rental-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(59 13 24 / 35%), transparent 32% 72%, rgb(28 8 14 / 16%));
	pointer-events: none;
}

.rental-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rental-hero__media figcaption {
	z-index: 1;
	position: absolute;
	right: 22px;
	bottom: 35px;
	max-width: 250px;
	margin: 0;
	color: rgb(255 255 255 / 78%);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.6;
	text-align: right;
	text-transform: uppercase;
}

.rental-intro {
	display: grid;
	grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
	align-items: center;
	gap: clamp(60px, 8vw, 125px);
	background: var(--paper);
}

.rental-intro__media {
	position: relative;
	min-height: 700px;
	margin-left: max(0px, calc(50vw - 720px));
	overflow: hidden;
}

.rental-intro__media img {
	width: 100%;
	height: 700px;
	object-fit: cover;
}

.rental-intro__media span {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 18px 24px;
	background: var(--gold);
	color: var(--wine-deep);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .2em;
}

.rental-intro__content {
	max-width: 750px;
	padding-right: max(4.3vw, calc(50vw - 720px));
}

.rental-intro h2,
.rental-section-heading h2,
.rental-process h2,
.rental-final h2 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(46px, 4.7vw, 72px);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1;
}

.rental-intro h2 em,
.rental-section-heading h2 em,
.rental-process h2 em,
.rental-final h2 em {
	color: var(--wine);
	font-weight: 500;
}

.rental-intro__lead {
	max-width: 680px;
	margin: 28px 0 40px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.9;
}

.rental-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
}

.rental-features article {
	min-height: 210px;
	padding: 26px 28px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.rental-features article > span {
	color: var(--gold);
	font-family: var(--serif);
	font-size: 18px;
}

.rental-features h3 {
	margin: 40px 0 10px;
	font-family: var(--serif);
	font-size: 27px;
	font-weight: 600;
	line-height: 1.08;
}

.rental-features p,
.rental-types__cards p,
.rental-process__steps p {
	margin: 0;
	color: var(--muted);
	font-size: 11px;
	line-height: 1.8;
}

.rental-types {
	background: var(--cream);
}

.rental-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
	align-items: end;
	gap: 80px;
	max-width: 1320px;
	margin: 0 auto 58px;
}

.rental-section-heading > p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.85;
}

.rental-types__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
	max-width: 1320px;
	margin: 0 auto;
	background: #fff;
}

.rental-types__layout > figure {
	min-height: 650px;
	margin: 0;
	overflow: hidden;
}

.rental-types__layout > figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rental-types__cards {
	display: grid;
	grid-template-rows: repeat(3, minmax(0, 1fr));
}

.rental-types__cards article {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 22px;
	align-items: start;
	padding: 43px 44px;
	border-bottom: 1px solid var(--line);
}

.rental-types__cards article:last-child {
	border-bottom: 0;
}

.rental-types__cards article > span {
	color: var(--gold);
	font-family: var(--serif);
	font-size: 17px;
}

.rental-types__cards h3 {
	margin: 0 0 13px;
	font-family: var(--serif);
	font-size: 31px;
	font-weight: 600;
	line-height: 1.08;
}

.rental-editor-content {
	background: var(--paper);
}

.rental-editor-content > div {
	max-width: 900px;
	margin: 0 auto;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.9;
}

.rental-editor-content h2,
.rental-editor-content h3 {
	color: var(--ink);
	font-family: var(--serif);
}

.rental-process {
	background: var(--wine-deep);
	color: #fff;
}

.rental-process > header,
.rental-process__steps {
	max-width: 1320px;
	margin-right: auto;
	margin-left: auto;
}

.rental-process > header {
	display: grid;
	grid-template-columns: .55fr 1.45fr;
	align-items: end;
	gap: 50px;
	margin-bottom: 58px;
}

.rental-process .eyebrow {
	margin-bottom: 8px;
}

.rental-process h2 {
	max-width: 800px;
	color: #fffaf3;
}

.rental-process h2 em {
	color: var(--gold-light);
}

.rental-process__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid rgb(255 255 255 / 16%);
	border-left: 1px solid rgb(255 255 255 / 16%);
}

.rental-process__steps article {
	min-height: 290px;
	padding: 38px;
	border-right: 1px solid rgb(255 255 255 / 16%);
	border-bottom: 1px solid rgb(255 255 255 / 16%);
}

.rental-process__steps span {
	color: var(--gold);
	font-family: var(--serif);
	font-size: 18px;
}

.rental-process__steps h3 {
	margin: 70px 0 15px;
	color: #fff;
	font-family: var(--serif);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.08;
}

.rental-process__steps p {
	color: rgb(255 255 255 / 62%);
}

.rental-contact {
	display: grid;
	grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
	gap: clamp(55px, 7vw, 110px);
	background: var(--paper);
}

.rental-contact__intro {
	align-self: start;
	max-width: 560px;
}

.rental-contact h2 {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(46px, 4.7vw, 72px);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1;
}

.rental-contact h2 em {
	color: var(--wine);
	font-weight: 500;
}

.rental-contact__intro > p:not(.eyebrow) {
	margin: 28px 0 38px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.9;
}

.rental-contact__intro aside {
	padding: 24px 26px;
	border-left: 3px solid var(--gold);
	background: var(--cream);
}

.rental-contact__intro aside > span {
	color: var(--wine);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.rental-contact__intro aside p {
	margin: 11px 0 0;
	color: var(--muted);
	font-size: 11px;
	line-height: 1.75;
}

.rental-contact__form {
	padding: clamp(30px, 4vw, 54px);
	border: 1px solid var(--line);
	background: #fff;
	box-shadow: 0 24px 70px rgb(52 19 26 / 7%);
}

.rental-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 23px 20px;
}

/*
 * O Contact Form 7 envolve automaticamente cada label em um parágrafo.
 * Mantemos o formulário editável no painel, mas retiramos a caixa visual
 * desse invólucro para que os campos participem diretamente da grade.
 */
.rental-contact-form__grid > p {
	display: contents;
}

.rental-contact-form__field {
	display: block;
	margin: 0;
	color: var(--ink);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .02em;
}

.rental-contact-form__field > span:first-child {
	display: block;
	margin-bottom: 9px;
}

.rental-contact-form__field--full {
	grid-column: 1 / -1;
}

.rental-contact__form .wpcf7-form-control-wrap {
	display: block;
}

.rental-contact__form input:not([type="checkbox"], [type="submit"]),
.rental-contact__form select,
.rental-contact__form textarea {
	width: 100%;
	min-height: 58px;
	padding: 16px 17px;
	border: 1px solid #d9d0c6;
	border-radius: 0;
	outline: 0;
	background: #fffdf9;
	color: var(--ink);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.rental-contact__form textarea {
	min-height: 145px;
	resize: vertical;
	line-height: 1.6;
}

.rental-contact__form input:focus,
.rental-contact__form select:focus,
.rental-contact__form textarea:focus {
	border-color: var(--gold);
	box-shadow: 0 0 0 3px rgb(202 167 101 / 13%);
}

.rental-contact-form__consent {
	color: var(--muted);
	font-size: 11px;
	line-height: 1.6;
}

.rental-contact-form__consent .wpcf7-list-item {
	margin: 0;
}

.rental-contact-form__consent label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.rental-contact-form__consent input {
	flex: 0 0 auto;
	margin-top: 3px;
	accent-color: var(--wine);
}

.rental-contact-form__submit {
	display: flex;
	align-items: center;
	gap: 18px;
}

.rental-contact__form input[type="submit"] {
	min-height: 58px;
	padding: 0 30px;
	border: 1px solid var(--wine);
	background: var(--wine);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

.rental-contact__form input[type="submit"]:hover {
	background: transparent;
	color: var(--wine);
}

.rental-contact__form .wpcf7-not-valid-tip {
	margin-top: 7px;
	color: #9d263a;
	font-size: 10px;
}

.rental-contact__form .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 15px 17px;
	border-width: 1px;
	font-size: 12px;
	line-height: 1.6;
}

.rental-contact__form .wpcf7-spinner {
	margin: 0;
}

.rental-final {
	position: relative;
	text-align: center;
	background: var(--cream);
	overflow: hidden;
}

.rental-final::before,
.rental-final::after {
	content: "";
	position: absolute;
	width: 340px;
	height: 340px;
	border: 1px solid rgb(59 13 24 / 12%);
	border-radius: 50%;
}

.rental-final::before {
	top: -160px;
	left: -220px;
}

.rental-final::after {
	right: -230px;
	bottom: -180px;
}

.rental-final > * {
	z-index: 1;
	position: relative;
}

.rental-final h2 {
	max-width: 920px;
	margin: 0 auto;
	font-size: clamp(53px, 6vw, 88px);
}

.rental-final > p:not(.eyebrow) {
	max-width: 680px;
	margin: 30px auto 38px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.85;
}

@media (max-width: 980px) {
	.rental-hero {
		grid-template-columns: 1fr;
	}

	.rental-hero__content {
		min-height: 650px;
		padding: 90px 7vw 65px;
	}

	.rental-hero__media {
		min-height: 620px;
	}

	.rental-intro {
		grid-template-columns: 1fr;
		gap: 70px;
	}

	.rental-intro__media {
		min-height: 600px;
		margin: 0;
	}

	.rental-intro__media img {
		height: 600px;
	}

	.rental-intro__content {
		max-width: none;
		padding: 0 7vw;
	}

	.rental-section-heading,
	.rental-process > header,
	.rental-contact {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 26px;
	}

	.rental-section-heading > p {
		max-width: 620px;
	}

	.rental-types__layout {
		grid-template-columns: 1fr;
	}

	.rental-types__layout > figure {
		min-height: 540px;
	}
}

@media (max-width: 680px) {
	.rental-hero__content {
		min-height: 610px;
		padding: 72px 22px 50px;
	}

	.rental-hero h1 {
		font-size: clamp(48px, 14vw, 64px);
	}

	.rental-hero__lead {
		font-size: 13px;
	}

	.rental-hero__tags {
		margin-top: 46px;
	}

	.rental-hero__media {
		min-height: 480px;
	}

	.rental-hero__media figcaption {
		display: none;
	}

	.rental-intro {
		gap: 55px;
		padding: 0 0 80px;
	}

	.rental-intro__media,
	.rental-intro__media img {
		height: 440px;
		min-height: 440px;
	}

	.rental-intro__content {
		padding: 0 22px;
	}

	.rental-intro h2,
	.rental-section-heading h2,
	.rental-process h2,
	.rental-final h2 {
		font-size: clamp(42px, 12vw, 56px);
	}

	.rental-features {
		grid-template-columns: 1fr;
	}

	.rental-features article {
		min-height: 190px;
		padding: 25px;
	}

	.rental-types__layout > figure {
		min-height: 390px;
	}

	.rental-types__cards article {
		grid-template-columns: 36px 1fr;
		gap: 15px;
		padding: 30px 24px;
	}

	.rental-types__cards h3 {
		font-size: 27px;
	}

	.rental-process__steps {
		grid-template-columns: 1fr;
	}

	.rental-process__steps article {
		min-height: 245px;
		padding: 30px;
	}

	.rental-process__steps h3 {
		margin-top: 48px;
	}

	.rental-contact {
		gap: 42px;
	}

	.rental-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.rental-contact-form__field--full {
		grid-column: auto;
	}

	.rental-contact__form {
		padding: 28px 22px;
	}

	.rental-final h2 {
		font-size: 52px;
	}
}
