/**
 * Photo Genius Enquiries — public styles.
 *
 * Fields, labels, errors, checkboxes and buttons come from the shared
 * Photo Genius component layer in the theme (.pg-form, .pg-fields,
 * .pg-check, .pg-field-error). Only enquiry-specific layout lives here.
 */

/* --------------------------------------------------------------------------
   Contact page enquiry form
   -------------------------------------------------------------------------- */

.pg-enquiry {
	max-width: 52rem;
	padding-block: var(--pg-flow, 2rem);
}

.pg-enquiry > h2 {
	margin-bottom: 0.5rem;
}

.pg-enquiry > p {
	max-width: 46ch;
	color: var(--pg-text-secondary, #6e6961);
}

.pge-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.pge-alt {
	margin: 0.75rem 0 0;
}

.pge-alt a {
	color: var(--pg-gold-strong, #765b30);
	font-size: var(--pg-size-meta, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pge-form--enhanced .pge-context:not(.is-open) {
	display: none;
}

.pg-enquiry--success .pge-ref {
	font-size: 1.125rem;
	font-weight: 700;
}

/* Event brief and secure custom quote. */
.pge-event-request,.pge-public-quote{max-width:68rem;margin:0 auto;padding-block:clamp(2.5rem,6vw,5rem)}
.pge-event-request__heading{max-width:48rem;margin-bottom:2rem}.pge-event-request__heading h2,.pge-public-quote__head h2{margin:.35rem 0 .75rem;font-family:var(--pg-font-display,Georgia,serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.05}.pge-event-request__heading>p:last-child{max-width:60ch;color:var(--pg-text-secondary,#6e6961)}
.pge-event-form{padding:clamp(1.25rem,3vw,2.5rem);background:var(--pg-surface,#fff);border:1px solid var(--pg-border,#d9d1c5);box-shadow:0 18px 48px rgba(43,41,38,.08)}
.pge-public-quote__head{padding-bottom:1.5rem;border-bottom:1px solid var(--pg-border,#d9d1c5)}.pge-public-quote__grid{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr);gap:1rem;margin:1.5rem 0}.pge-public-quote__amount,.pge-public-quote__brief,.pge-public-quote__section,.pge-public-quote__accept{padding:clamp(1.25rem,3vw,2rem);background:var(--pg-surface,#fff);border:1px solid var(--pg-border,#d9d1c5)}.pge-public-quote__amount{display:flex;flex-direction:column;justify-content:center;background:var(--pg-dark,#171614);color:#fff}.pge-public-quote__amount span,.pge-public-quote__amount small{color:#d8d2c8}.pge-public-quote__amount strong{margin:.35rem 0;font-family:var(--pg-font-display,Georgia,serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:400}.pge-public-quote__brief h3,.pge-public-quote__section h3{margin-top:0}.pge-public-quote__brief dl{margin:0}.pge-public-quote__brief dl div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--pg-border,#d9d1c5)}.pge-public-quote__brief dt{color:var(--pg-text-secondary,#6e6961)}.pge-public-quote__brief dd{margin:0}.pge-public-quote__section{margin-bottom:1rem}.pge-public-quote__accept{margin-top:1rem;background:var(--pg-warm,#eee7dc)}.pge-public-quote__accept p{max-width:65ch}
@media(max-width:767px){.pge-public-quote__grid{grid-template-columns:1fr}.pge-public-quote__brief dl div{grid-template-columns:1fr;gap:.2rem}}

/* --------------------------------------------------------------------------
   Rental item enquiry CTA
   -------------------------------------------------------------------------- */

.pge-item-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.pge-item-cta__icon {
	display: block;
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   Rental quote drawer
   -------------------------------------------------------------------------- */

.pge-quote[hidden] {
	display: none !important;
}

.pge-quote {
	position: fixed;
	z-index: 1100;
	inset: 0;
}

.pge-quote__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(43, 41, 38, 0.38);
}

.pge-quote__panel {
	--pge-quote-gap: 0.75rem;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: min(30rem, 100%);
	height: 100%;
	overflow: auto;
	padding: 1rem 1.35rem calc(1rem + env(safe-area-inset-bottom));
	color: var(--pg-text, #2b2926);
	background: var(--pg-bg, #f8f5ef);
	border-left: 1px solid var(--pg-border, #d9d1c5);
	box-shadow: -16px 0 40px rgba(43, 41, 38, 0.12);
}

.pge-quote__close {
	position: absolute;
	top: 1rem;
	right: 1.35rem;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0;
	padding: 0;
	color: var(--pg-text, #2b2926);
	background: var(--pg-surface, #fff);
	border: 1px solid var(--pg-border, #d9d1c5);
	font-size: 1.45rem;
	line-height: 1;
	cursor: pointer;
}

.pge-quote__close:hover {
	background: var(--pg-warm, #eee7dc);
}

.pge-quote__head {
	display: block;
	margin: 0;
	padding: 0;
}

.pge-quote__head h2,
.pge-quote__success h2 {
	margin: 0;
	padding: 0 2.75rem var(--pge-quote-gap) 0;
	border-bottom: 1px solid var(--pg-border, #d9d1c5);
	font-family: var(--pg-font-display, Georgia, serif);
	font-size: var(--pg-size-section-title, 1.75rem);
	line-height: 1.18;
	letter-spacing: -0.025em;
}

.pge-quote__success {
	padding-right: 2.75rem;
}

.pge-quote__success p {
	margin: 0 0 var(--pge-quote-gap);
	color: var(--pg-text-secondary, #6e6961);
	font-size: var(--pg-size-small, 0.9375rem);
	line-height: 1.5;
}

.pge-quote__ref {
	color: var(--pg-text, #2b2926) !important;
	font-size: 1.05rem;
}

.pge-quote__item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	padding: var(--pge-quote-gap) 0;
}

.pge-quote__thumb {
	width: 3.25rem;
	height: 3.25rem;
	flex: 0 0 3.25rem;
	object-fit: cover;
	background: var(--pg-warm, #eee7dc);
}

.pge-quote__item strong {
	display: block;
	font-size: 1rem;
	line-height: 1.3;
}

.pge-quote__item span {
	display: block;
	margin-top: 0.15rem;
	color: var(--pg-text-secondary, #6e6961);
	font-size: 0.8125rem;
}

.pge-quote__config {
	display: grid;
	gap: var(--pge-quote-gap);
	margin: 0;
	padding: var(--pge-quote-gap) 0;
	border-top: 1px solid var(--pg-border, #d9d1c5);
	border-bottom: 1px solid var(--pg-border, #d9d1c5);
}

.pge-quote__dates h3,
.pge-quote__summary h3 {
	margin: 0 0 0.3rem;
	color: var(--pg-gold-strong, #765b30);
	font-family: var(--pg-font-body, inherit);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.pge-quote__dates p,
.pge-quote__summary p {
	margin: 0;
	font-size: var(--pg-size-small, 0.9375rem);
	line-height: 1.45;
	white-space: pre-line;
}

.pge-quote__dates-link {
	margin: 0.4rem 0 0;
	padding: 0;
	color: var(--pg-gold-strong, #765b30);
	background: transparent;
	border: 0;
	font: inherit;
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
}

.pge-quote__dates-link:hover {
	color: var(--pg-text, #2b2926);
}

.pge-quote__dates-link:focus-visible {
	outline: 2px solid var(--pg-focus, #c9a668);
	outline-offset: 2px;
}

.pge-quote .pge-form {
	position: relative;
	display: flex;
	align-content: start;
	flex: 0 0 auto;
	flex-direction: column;
	gap: var(--pge-quote-gap);
}

.pge-quote .pge-form > .pge-honeypot,
.pge-quote .pg-status:not(:has(.pg-field-error)) {
	display: none;
}

.pge-quote .pg-fields {
	gap: var(--pge-quote-gap);
	margin: 0;
	padding: 0;
}

/* The drawer uses placeholders instead of visible labels to stay compact. */
.pge-quote .pge-form label {
	gap: 0;
	margin: 0;
}

.pge-quote .pge-form input:not([type="checkbox"]):not([type="hidden"]),
.pge-quote .pge-form select,
.pge-quote .pge-form textarea {
	min-height: 2.75rem;
	padding: 0.65rem 0.75rem;
}

.pge-quote .pge-form textarea {
	min-height: 7.5rem;
}

.pge-quote .pg-check {
	margin: 0;
	font-size: 0.9rem;
}

.pge-quote__submit {
	position: sticky;
	bottom: 0;
	margin: 0;
	padding: 0;
	background: linear-gradient(to top, var(--pg-bg, #f8f5ef) 55%, transparent);
}

.pge-quote__submit .pg-button,
.pge-quote__actions .pg-button {
	width: 100%;
	min-height: 2.9rem;
}

.pge-quote__actions {
	display: grid;
	gap: var(--pge-quote-gap);
	margin-top: 0;
}

body.pge-quote-open {
	overflow: hidden;
}

.pge-quote.is-submitting .pge-quote__backdrop {
	pointer-events: none;
}

@media (max-width: 767px) {
	.pge-quote__panel {
		top: auto;
		right: 0;
		left: 0;
		width: 100%;
		height: min(94vh, 100%);
		max-height: 100%;
		border-top: 1px solid var(--pg-border, #d9d1c5);
		border-left: 0;
		box-shadow: 0 -12px 32px rgba(43, 41, 38, 0.14);
	}
}
