/* =============================================================
   Rhinory-v4 — Corporate gifts (/gifting/corporate/), the 09a page layer
   Prototype: prototypes/13/09a-corporate-gifts.html + .css (round 13 and
   the 2026-11-03 pass). Dispatch: docs/_cowork-prompts/
   2026-11-03-morning-theme-fixes-dispatch.md § B.

   Layers on gifting.css, as 09a layers on 09-gifts.css: the template's
   <main> carries `.rhinory-page--gifting` for the shared gift vocabulary
   (tokens, the .gx-btn pair, the hero grid, .gx-sec grounds, the dark
   .gx-corp interlude, the .gx-tsr teaser, the gray .gx-close) and
   `.rhinory-page--gift-corporate` for what only this page has. Every rule
   here is rooted on that second class, so the file is inert on every other
   page and canvas.

   The order form is Commerce7's own widget (wp-commerce7/form, form code
   corporate-order), painted by c7-form.css; this file only adds the 2px
   burgundy focus ring the pass asks for, reached through plain elements
   inside the plugin's `.winery-c7-form` wrapper.
   ============================================================= */

/* ---- breadcrumb (the shop-all trail, 12px floor) ---- */
.rhinory-page--gift-corporate .gc-crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 30px;
	font-family: var(--gx-ff-label);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.rhinory-page--gift-corporate .gc-crumb a {
	color: var(--gx-ink-2, var(--ink-warm-2));
	transition: color 0.2s;
}
.rhinory-page--gift-corporate .gc-crumb a:hover { color: var(--gx-burgundy); }
.rhinory-page--gift-corporate .gc-crumb__sep { color: var(--gx-rule-2); }
.rhinory-page--gift-corporate .gc-crumb__current { color: var(--gx-burgundy); }

/* ---- hero: one statement, the pair, one square photo that holds still
   (the lid foil and the third bottle touch its edges, so no zoom). ---- */
.rhinory-page--gift-corporate .gx-hero__grid {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 72px;
	padding-block: 88px;
}
.rhinory-page--gift-corporate .gx-hero__headline {
	font-size: clamp(44px, 4.4vw, 66px);
	line-height: 0.98;
}
.rhinory-page--gift-corporate .gc-hero-lede {
	margin-top: 24px;
	max-width: 40ch;
	font-size: 18px;
	line-height: 1.6;
	color: var(--gx-ink-2);
	text-wrap: pretty;
}
.rhinory-page--gift-corporate .gx-hero .gx-btns { margin-top: 36px; }
.rhinory-page--gift-corporate .gc-stage {
	position: relative;
	margin: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--gx-carbon);
	box-shadow: 0 40px 84px -40px rgba(45, 41, 38, 0.52);
}
.rhinory-page--gift-corporate .gc-stage img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.94) contrast(1.04);
}
/* the copy rises on load, 0 / 100 / 200 ms; the script-free page shows it at
   rest, and reduced motion never animates */
@keyframes gc-rise {
	from { opacity: 0; transform: translate3d(0, 20px, 0); }
	to { opacity: 1; transform: none; }
}
.rhinory-page--gift-corporate .gx-hero__copy > * {
	animation: gc-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.rhinory-page--gift-corporate .gx-hero__copy > .gc-hero-lede { animation-delay: 100ms; }
.rhinory-page--gift-corporate .gx-hero__copy > .gx-btns { animation-delay: 200ms; }
@media (max-width: 1100px) {
	.rhinory-page--gift-corporate .gx-hero__grid {
		gap: 48px;
		padding-block: 64px;
	}
}
@media (max-width: 900px) {
	.rhinory-page--gift-corporate .gx-hero__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-block: 56px;
	}
	.rhinory-page--gift-corporate .gc-stage { max-width: 560px; }
}
@media (max-width: 560px) {
	.rhinory-page--gift-corporate .gx-hero__grid {
		gap: 28px;
		padding-block: 36px 48px;
	}
	.rhinory-page--gift-corporate .gc-crumb { margin-bottom: 22px; }
	.rhinory-page--gift-corporate .gx-hero__headline { font-size: clamp(34px, 9.4vw, 44px); }
	.rhinory-page--gift-corporate .gc-hero-lede {
		margin-top: 18px;
		font-size: 17px;
	}
	.rhinory-page--gift-corporate .gx-hero .gx-btns { margin-top: 28px; }
}

/* the CTA pair: same size, side by side while both labels fit, stacked
   below that; a container query, so it follows its column */
.rhinory-page--gift-corporate .gx-hero__copy { container-type: inline-size; }
.rhinory-page--gift-corporate .gc-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	max-width: 600px;
}
.rhinory-page--gift-corporate .gc-pair .gx-btn {
	min-width: 0;
	padding-inline: 20px;
}
@container (max-width: 579px) {
	.rhinory-page--gift-corporate .gc-pair {
		grid-template-columns: minmax(0, 1fr);
		max-width: 360px;
	}
}

/* ---- what we handle: heading row, then six equal entries on hairlines ---- */
.rhinory-page--gift-corporate .gc-head {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 20px 72px;
	align-items: end;
	margin-bottom: 56px;
}
.rhinory-page--gift-corporate .gc-head__heading {
	font-size: var(--gx-type-h2);
	line-height: 1.02;
	letter-spacing: -0.01em;
}
.rhinory-page--gift-corporate .gc-head .gx-lede { max-width: 40ch; }
@media (max-width: 1040px) {
	.rhinory-page--gift-corporate .gc-head {
		grid-template-columns: 1fr;
		margin-bottom: 40px;
	}
}
.rhinory-page--gift-corporate .gc-svc {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 48px;
}
.rhinory-page--gift-corporate .gc-svc__item {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 32px 0 36px;
	border-top: 1px solid var(--gx-rule-2);
}
.rhinory-page--gift-corporate .gc-svc__item:nth-last-child(-n+3) { border-bottom: 1px solid var(--gx-rule-2); }
.rhinory-page--gift-corporate .gc-svc__item h3 {
	font-size: var(--gx-type-h3);
	line-height: 1.1;
	letter-spacing: -0.004em;
}
.rhinory-page--gift-corporate .gc-svc__item p {
	max-width: 34ch;
	font-size: 17px;
	line-height: 1.6;
	color: var(--gx-ink-2);
	text-wrap: pretty;
}
@media (max-width: 1100px) {
	.rhinory-page--gift-corporate .gc-svc {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 40px;
	}
	.rhinory-page--gift-corporate .gc-svc__item:nth-last-child(-n+3) { border-bottom: 0; }
	.rhinory-page--gift-corporate .gc-svc__item:nth-last-child(-n+2) { border-bottom: 1px solid var(--gx-rule-2); }
}
@media (max-width: 600px) {
	.rhinory-page--gift-corporate .gc-svc { grid-template-columns: 1fr; }
	.rhinory-page--gift-corporate .gc-svc__item { padding: 26px 0 28px; }
	.rhinory-page--gift-corporate .gc-svc__item:nth-last-child(-n+2) { border-bottom: 0; }
	.rhinory-page--gift-corporate .gc-svc__item:last-child { border-bottom: 1px solid var(--gx-rule-2); }
}

/* ---- how it works: the dark interlude, photo left with a slow Ken Burns ---- */
.rhinory-page--gift-corporate .gx-corp__body p { max-width: 46ch; }
.rhinory-page--gift-corporate .gc-how__photo {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--gx-carbon);
}
.rhinory-page--gift-corporate .gc-how__photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.94) contrast(1.04);
	transform-origin: 50% 55%;
	animation: gc-ken 22s ease-in-out infinite alternate;
}
@keyframes gc-ken {
	from { transform: scale(1.02); }
	to { transform: scale(1.12); }
}

/* ---- gift-set teaser: one link, one track ---- */
.rhinory-page--gift-corporate .gx-tsr__links { grid-template-columns: minmax(220px, auto); }

/* ---- the closer: the statement across the band, then the phone line beside
   Commerce7's order form; stacked under 900px ---- */
.rhinory-page--gift-corporate .gc-order {
	text-align: left;
	scroll-margin-top: 88px;
}
.rhinory-page--gift-corporate .gc-order__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 56px clamp(40px, 6vw, 96px);
	align-items: start;
}
.rhinory-page--gift-corporate .gc-order__heading {
	grid-column: 1 / -1;
	text-wrap: balance;
}
.rhinory-page--gift-corporate .gc-order__p {
	max-width: 40ch;
	font-size: 18px;
	line-height: 1.6;
	color: var(--gx-ink);
	text-wrap: pretty;
}
.rhinory-page--gift-corporate .gc-order__call { margin-top: 16px; }
.rhinory-page--gift-corporate .gc-order__call a,
.rhinory-page--gift-corporate .gc-order__alt a {
	white-space: nowrap;
	border-bottom: 1px solid rgba(82, 0, 0, 0.35);
	transition: border-color 0.2s;
}
.rhinory-page--gift-corporate .gc-order__call a:hover,
.rhinory-page--gift-corporate .gc-order__alt a:hover { border-bottom-color: var(--gx-burgundy); }
.rhinory-page--gift-corporate .gc-formcol {
	min-width: 0;
	max-width: 640px;
	scroll-margin-top: 88px;
}
.rhinory-page--gift-corporate .gc-order__alt {
	margin-top: 24px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--gx-ink-2);
}
@media (max-width: 900px) {
	.rhinory-page--gift-corporate .gc-order__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* WCAG 2.4.11 / 2.4.13: a solid 2px burgundy ring, offset, on every field,
   radio, checkbox and button of the order form, and on the page's buttons. */
.rhinory-page--gift-corporate .winery-c7-form .c7-custom-form form input:focus-visible,
.rhinory-page--gift-corporate .winery-c7-form .c7-custom-form form select:focus-visible,
.rhinory-page--gift-corporate .winery-c7-form .c7-custom-form form textarea:focus-visible,
.rhinory-page--gift-corporate .winery-c7-form .c7-custom-form form button:focus-visible {
	outline: 2px solid var(--gx-burgundy);
	outline-offset: 2px;
}
.rhinory-page--gift-corporate .winery-c7-form .c7-custom-form form input[type="radio"]:focus-visible,
.rhinory-page--gift-corporate .winery-c7-form .c7-custom-form form input[type="checkbox"]:focus-visible { outline-offset: 3px; }
.rhinory-page--gift-corporate .gx-btn:focus-visible,
.rhinory-page--gift-corporate .gc-sticky__tel:focus-visible {
	outline: 2px solid var(--gx-burgundy);
	outline-offset: 3px;
}

/* ---- phones: a sticky Request a quote / call bar between the hero and the
   form (assets/js/gift-corporate.js toggles .is-on and inert) ---- */
.rhinory-page--gift-corporate .gc-sticky { display: none; }
@media (max-width: 720px) {
	.rhinory-page--gift-corporate .gc-sticky {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		/* Under the mini-cart and booking drawer overlays (z 1000+), over the page. */
		z-index: 40;
		display: block;
		padding: 12px 22px calc(12px + env(safe-area-inset-bottom));
		background: var(--gx-paper);
		border-top: 1px solid var(--gx-rule-2);
		box-shadow: 0 -14px 32px -20px rgba(45, 41, 38, 0.4);
		transform: translateY(110%);
		transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
	}
	.rhinory-page--gift-corporate .gc-sticky.is-on { transform: none; }
	.rhinory-page--gift-corporate .gc-sticky__row {
		display: flex;
		gap: 10px;
		align-items: center;
	}
	.rhinory-page--gift-corporate .gc-sticky .gx-btn {
		flex: 1;
		min-width: 0;
		min-height: 48px;
		padding-block: 12px;
	}
	.rhinory-page--gift-corporate .gc-sticky__tel {
		position: relative;
		flex: none;
		width: 48px;
		height: 48px;
		overflow: hidden;
		border: 1px solid var(--gx-burgundy);
		border-radius: 50%;
		color: transparent;
		font-size: 0;
		transition: background 0.2s;
	}
	/* The number stays the link's name; the glyph is painted. */
	.rhinory-page--gift-corporate .gc-sticky__tel::before {
		content: "";
		position: absolute;
		inset: 13px;
		background: var(--gx-burgundy);
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.rhinory-page--gift-corporate .gc-sticky__tel:active { transform: scale(0.94); }
	/* the bar's height stays clear of the footer's last line */
	.rhinory-page--gift-corporate .gc-order { padding-bottom: 96px; }
}

/* ---- reduced motion: nothing rises, drifts or slides ---- */
@media (prefers-reduced-motion: reduce) {
	.rhinory-page--gift-corporate .gx-hero__copy > * { animation: none; }
	.rhinory-page--gift-corporate .gc-how__photo img {
		animation: none;
		transform: scale(1.02);
	}
	.rhinory-page--gift-corporate .gc-sticky { transition: none; }
}
