.po-order {
	--po-order-border: rgba(31, 39, 34, .16);
	background: #e9e5dc;
}

.po-order__intro {
	display: grid;
	margin-bottom: 58px;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr);
	gap: clamp(44px, 9vw, 130px);
}

.po-order__intro h2 { max-width: 850px; margin: 16px 0 0; font-family: var(--po-serif); font-size: clamp(2.5rem, 3.95vw, 4.5rem); font-weight: 400; letter-spacing: -.04em; line-height: .99; }
.po-order__intro-copy { align-self: end; }
.po-order__intro-copy > p { margin: 0; color: var(--po-muted); }
.po-order__validity { display: flex; align-items: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--po-order-border); font-size: .7rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.po-order__price-list { position: relative; display: inline-flex; min-width: 0; align-items: center; gap: 7px; color: var(--po-forest); line-height: 1.25; text-decoration: none; white-space: nowrap; transition: color .25s ease; }
.po-order__price-list::after { position: absolute; right: 0; bottom: -5px; left: 0; height: 1px; transform: scaleX(0); transform-origin: right center; background: var(--po-green-dark); content: ""; transition: transform .3s cubic-bezier(.22,.61,.36,1); }
.po-order__price-list svg { display: block; width: 16px; height: 16px; flex: 0 0 16px; align-self: center; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.po-order__price-list:hover,
.po-order__price-list:focus-visible { color: var(--po-green-dark); }
.po-order__price-list:hover::after,
.po-order__price-list:focus-visible::after { transform: scaleX(1); transform-origin: left center; }

.po-order__layout { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) 330px; gap: 26px; }
.po-order__form { padding: clamp(26px, 4vw, 58px); padding-bottom: 28px; border-radius: 4px; background: var(--po-white); }
.po-order__aside { position: sticky; top: 108px; padding: 30px; color: var(--po-white); background: var(--po-forest); }
.po-order__aside > span { color: var(--po-green); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.po-order__aside h3 { margin: 20px 0 14px; font-family: var(--po-serif); font-size: 2rem; font-weight: 400; line-height: 1.08; }
.po-order__aside > p { margin: 0 0 30px; color: rgba(255,255,255,.64); font-size: .87rem; }
.po-order__contact { display: grid; border-top: 1px solid rgba(255,255,255,.18); }
.po-order__contact a, .po-order__contact address { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.18); color: inherit; font-size: .84rem; font-style: normal; text-decoration: none; overflow-wrap: anywhere; }
.po-order__contact small { display: block; margin-bottom: 4px; color: rgba(255,255,255,.42); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.po-order__notice { margin: 24px 0 0; padding: 16px 18px; border-left: 3px solid var(--po-green); color: var(--po-muted); background: rgba(255,255,255,.6); }

.po-order .gform_heading { display: none; }
.po-order form { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 25px 20px; }
.po-order .gform-body,
.po-order .gform_body,
.po-order .gform_fields { display: contents !important; }
.po-order .gfield { margin: 0 !important; grid-column: span 6; }
.po-order .po-order__family { grid-column: span 4; }
.po-order .po-order__section,
.po-order .po-order__product { grid-column: span 3; }
.po-order .po-order__thickness,
.po-order .po-order__width,
.po-order .po-order__length { grid-column: span 4; }
.po-order .po-order__quantity { grid-column: span 2; }
.po-order .gfield--type-name,
.po-order .gfield--type-phone,
.po-order .gfield--type-email { grid-column: span 4; }
.po-order .gfield--type-html,
.po-order .gfield--type-textarea,
.po-order .gfield_error,
.po-order .gform_validation_errors { grid-column: 1 / -1; }
.po-order .gfield_label { display: block; margin: 0 0 8px !important; color: var(--po-ink); font-size: .7rem !important; font-weight: 800 !important; letter-spacing: .08em; text-transform: uppercase; }
.po-order .gfield_required { color: var(--po-green-dark) !important; }
.po-order .gfield_required_text { font-size: 0; }
.po-order .gfield_required_text::after { content: "*"; font-size: .72rem; }
.po-order input:not([type="checkbox"]):not([type="hidden"]),
.po-order select,
.po-order textarea {
	width: 100% !important;
	min-height: 54px;
	padding: 13px 15px !important;
	border: 1px solid var(--po-order-border) !important;
	border-radius: 3px !important;
	color: var(--po-ink) !important;
	background: #faf9f6 !important;
	font: inherit !important;
	box-shadow: none !important;
}
.po-order input:not([type="checkbox"]):not([type="hidden"]),
.po-order select { height: 54px !important; padding-top: 0 !important; padding-bottom: 0 !important; line-height: 1.2 !important; }
.po-order textarea { height: 96px !important; min-height: 96px !important; resize: vertical; }
.po-order input:focus, .po-order select:focus, .po-order textarea:focus { border-color: var(--po-green-dark) !important; outline: 2px solid rgba(120,190,20,.18); outline-offset: 0; }
.po-order select:disabled { opacity: .55; }
.po-order .po-order__quantity input { text-align: center; }
.po-order-field--hidden { display: none !important; }

.po-order .po-custom-select { position: relative; }
.po-order .po-custom-select__native { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: -1px !important; padding: 0 !important; border: 0 !important; clip-path: inset(50%); opacity: 0; overflow: hidden; pointer-events: none; }
.po-order .po-custom-select__button {
	display: flex !important;
	width: 100% !important;
	height: 54px !important;
	min-height: 54px !important;
	align-items: center;
	justify-content: space-between !important;
	gap: 12px;
	padding: 0 15px !important;
	border: 1px solid var(--po-order-border) !important;
	border-radius: 3px !important;
	color: var(--po-ink) !important;
	background: #faf9f6 !important;
	box-shadow: none !important;
	font: inherit !important;
	font-size: inherit !important;
	line-height: 1.2 !important;
	text-align: left !important;
	cursor: pointer;
	transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}
.po-order .po-custom-select__button.is-placeholder { color: rgba(31,39,34,.5) !important; }
.po-order .po-custom-select__button:not(:disabled):hover { border-color: rgba(31,39,34,.34) !important; background: #fff !important; }
.po-order .po-custom-select__button:focus-visible,
.po-order .po-custom-select.is-open .po-custom-select__button { border-color: var(--po-green-dark) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(120,190,20,.14) !important; }
.po-order .po-custom-select__button:disabled { cursor: not-allowed; opacity: .5; }
.po-order .po-custom-select__chevron { width: 8px; height: 8px; flex: 0 0 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 150ms ease; }
.po-order .po-custom-select.is-open { z-index: 80; }
.po-order .gfield:has(.po-custom-select.is-open) { z-index: 80; }
.po-order .po-custom-select.is-open .po-custom-select__chevron { transform: rotate(225deg) translate(-1px, -1px); }
.po-order .po-custom-select__list { position: absolute; top: calc(100% + 6px); right: 0; left: 0; z-index: 80; max-height: 260px; padding: 5px; border: 1px solid rgba(31,39,34,.16); border-radius: 4px; background: #fff; box-shadow: 0 16px 38px rgba(16,31,22,.16); overflow-y: auto; }
.po-order .po-custom-select__list[hidden] { display: none !important; }
.po-order .po-custom-select__option { display: flex !important; width: 100% !important; min-height: 39px !important; align-items: center; justify-content: space-between !important; gap: 12px; padding: 9px 11px !important; border: 0 !important; border-radius: 3px !important; color: var(--po-ink) !important; background: transparent !important; box-shadow: none !important; font: inherit !important; font-size: .84rem !important; line-height: 1.25 !important; text-align: left !important; cursor: pointer; }
.po-order .po-custom-select__option:hover,
.po-order .po-custom-select__option:focus-visible,
.po-order .po-custom-select__option.is-active { color: var(--po-forest) !important; background: rgba(120,190,20,.1) !important; outline: 0 !important; }
.po-order .po-custom-select__option[aria-selected="true"] { color: var(--po-forest) !important; background: rgba(120,190,20,.16) !important; font-weight: 700 !important; }
.po-order .po-custom-select__option[aria-selected="true"]::after { color: var(--po-green-dark); content: "✓"; font-size: .76rem; font-weight: 800; }
.po-order .gfield_error .po-custom-select__button { border-color: #a64a38; }

.po-order-summary { min-height: 220px; padding: 28px; border-radius: 4px; color: var(--po-white); background: var(--po-forest); }
.po-order-summary > small { display: block; color: var(--po-green); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.po-order-summary > strong { display: block; margin-top: 13px; font-family: var(--po-serif); font-size: 1.65rem; font-weight: 400; }
.po-order-summary > p { margin: 10px 0 0; color: rgba(255,255,255,.62); font-size: .86rem; }
.po-order-summary dl { display: grid; margin: 26px 0 0; grid-template-columns: 1fr auto; }
.po-order-summary dt, .po-order-summary dd { margin: 0; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.16); font-size: .78rem; }
.po-order-summary dt { color: rgba(255,255,255,.55); }
.po-order-summary dd { padding-left: 20px; text-align: right; }
.po-order-summary .po-order-summary__total { color: var(--po-green); font-family: var(--po-serif); font-size: 1.35rem; }
.po-order-summary .po-order-summary__note { margin-top: 16px; font-size: .72rem; }
.po-order-summary--empty { display: flex; align-items: center; min-height: 0; gap: 14px; padding: 18px 22px; }
.po-order-summary.po-order-summary--empty > p { margin: 0; color: rgba(255,255,255,.84); }
.po-order-summary__icon { width: 26px; height: 26px; flex: 0 0 auto; color: var(--po-green); fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.po-order .gfield--type-consent { align-self: center; margin-top: 0 !important; grid-column: 1 / span 8; }
.po-order .gfield--type-consent > .gfield_label { position: absolute; width: 1px; height: 1px; margin: -1px !important; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.po-order .ginput_container_consent { display: grid; align-items: center; grid-template-columns: 20px 1fr; gap: 10px; }
.po-order .ginput_container_consent input { width: 18px; height: 18px; margin: 0; accent-color: var(--po-green-dark); }
.po-order .ginput_container_consent label { display: flex; min-height: 18px; align-items: center; font-size: .82rem; line-height: 1.35; }
.po-order .gfield_description { color: var(--po-muted); font-size: .72rem !important; }
.po-order .gform_footer { align-self: end; justify-self: end; margin: 0 !important; padding: 0 !important; grid-column: 9 / -1; }
.po-order .gform_button {
	min-height: 56px;
	padding: 16px 24px !important;
	border: 0 !important;
	border-radius: 3px !important;
	color: var(--po-forest) !important;
	background: var(--po-green) !important;
	font-size: .75rem !important;
	font-weight: 800 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.po-order .gform_button:hover, .po-order .gform_button:focus-visible { background: #88d11a !important; }
.po-order .gform_validation_errors, .po-order .gfield_validation_message { padding: 13px 15px !important; border: 1px solid #a64a38 !important; border-radius: 0 !important; color: #7a2f22 !important; background: #fff7f5 !important; font-size: .8rem !important; }
.po-order .gform_confirmation_message { padding: 34px; border-left: 4px solid var(--po-green); color: var(--po-ink); background: #f7fbf0; font-family: var(--po-serif); font-size: 1.35rem; }

@media (max-width: 980px) {
	.po-order__layout { grid-template-columns: 1fr; }
	.po-order__aside { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
	.po-order__aside > span, .po-order__aside h3, .po-order__aside > p { grid-column: 1; }
	.po-order__contact { align-self: start; grid-column: 2; grid-row: 1 / 5; }
}

@media (max-width: 800px) {
	.po-order__intro { grid-template-columns: 1fr; gap: 26px; }
	.po-order form { grid-template-columns: 1fr; }
	.po-order .gfield { grid-column: 1; grid-row: auto; }
	.po-order .gform_footer { justify-self: start; grid-column: 1; }
}

@media (max-width: 540px) {
	.po-order__intro h2 { font-size: 2.3rem; }
	.po-order__validity { align-items: flex-start; flex-direction: column; }
	.po-order__form { padding: 24px 18px; }
	.po-order__aside { display: block; padding: 26px 22px; }
	.po-order__contact { margin-top: 24px; }
	.po-order-summary { padding: 22px 18px; }
}
