/* ELORA Build Your Gift wizard */

.elora-gift-wizard { min-height: calc(100vh - 84px); }

/* Step 1/2 headers pin a 54px heading and a 340px-wide paragraph side by
   side with flexWrap:nowrap (block markup) — on phones that combination is
   wider than the viewport and forces horizontal scroll, so let it wrap. */
@media (max-width: 700px) {
	.elora-gift-wizard > section:first-of-type {
		flex-wrap: wrap !important;
		gap: 1rem !important;
		padding-inline: var(--elora-gutter) !important;
	}
	.elora-gift-wizard > section:first-of-type .elora-progress-bar {
		order: 3;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
	}
	.elora-gift-step > .wp-block-group:first-child {
		flex-wrap: wrap !important;
	}
	.elora-gift-step > .wp-block-group:first-child > p {
		max-width: 100% !important;
	}
}

/* theme.json's global heading color (navy, for light backgrounds elsewhere)
   otherwise wins over inherited white text on this dark page, since it's a
   real matching rule and beats inheritance regardless of specificity. */
.elora-gift-wizard h1,
.elora-gift-wizard h2,
.elora-gift-wizard h3 {
	color: #F7F5F1;
}
.elora-card-preview-text {
	color: rgba(22,32,59,.4);
}

/* Review-step preview boxes: fill the aspect-ratio parent so an injected
   product photo (added by JS once a candle/flowers is chosen) sizes
   correctly instead of collapsing to the text's own intrinsic size. */
.elora-review-candle-preview,
.elora-review-flowers-preview {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* Picker cards (candle / flower / personal / packaging) — explicit CSS Grid
   for the same reason as the shop grid (see shop.css): WooCommerce's built-in
   column math assumes a 1.25em gap, and our custom gap breaks that math,
   overflowing rows and wrapping columns early. */
.elora-gift-picker .wc-block-product-template {
	display: grid !important;
	gap: 22px !important;
}
.elora-gift-picker .wc-block-product-template > li {
	width: auto !important;
}
.elora-gift-picker--candle .wc-block-product-template { grid-template-columns: repeat(5, 1fr) !important; }
.elora-gift-picker--flower .wc-block-product-template { grid-template-columns: repeat(4, 1fr) !important; }
.elora-gift-picker--personal .wc-block-product-template,
.elora-gift-picker--pack .wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; }

@media (max-width: 1024px) {
	.elora-gift-picker--candle .wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; }
	.elora-gift-picker--flower .wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; }
	.elora-gift-picker--personal .wc-block-product-template,
	.elora-gift-picker--pack .wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
	.elora-gift-picker--candle .wc-block-product-template,
	.elora-gift-picker--flower .wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; }
	.elora-gift-picker--personal .wc-block-product-template,
	.elora-gift-picker--pack .wc-block-product-template { grid-template-columns: 1fr !important; }
}

.elora-gift-picker li.wc-block-product {
	border: 1px solid rgba(201,169,106,.25);
	padding: 10px;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.elora-gift-picker li.wc-block-product:hover {
	border-color: rgba(201,169,106,.6);
}

.elora-gift-picker .wc-block-components-product-image { background: transparent; }

.elora-gift-picker .wp-block-post-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 19px;
	margin-top: 14px;
	color: #F7F5F1;
}
.elora-gift-picker .wp-block-post-title a { color: inherit; text-decoration: none; }

.elora-gift-picker .wc-block-components-product-price,
.elora-gift-picker .wp-block-woocommerce-product-price {
	font-size: 11px;
	letter-spacing: .12em;
	color: #C9A96A;
	margin-top: 5px;
}

/* Flower picker: taller cards, no product image crop needed since these are catalog thumbnails */
.elora-gift-picker--flower li.wc-block-product,
.elora-gift-picker--personal li.wc-block-product,
.elora-gift-picker--pack li.wc-block-product {
	padding: 0;
}
.elora-gift-picker--personal .wc-block-components-product-image,
.elora-gift-picker--pack .wc-block-components-product-image {
	display: block;
}
.elora-gift-picker--personal li.wc-block-product,
.elora-gift-picker--pack li.wc-block-product {
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 100%;
}
.elora-gift-picker--personal .wp-block-post-title,
.elora-gift-picker--pack .wp-block-post-title {
	font-size: 26px;
	margin-top: 20px;
}
.elora-gift-picker--personal .wp-block-post-excerpt,
.elora-gift-picker--pack .wp-block-post-excerpt {
	font-size: 13px;
	line-height: 1.85;
	color: rgba(247,245,241,.6);
	font-weight: 300;
	flex: 1;
}
.elora-gift-picker--personal .wp-block-post-title,
.elora-gift-picker--personal .wp-block-post-excerpt,
.elora-gift-picker--personal .wc-block-components-product-price,
.elora-gift-picker--pack .wp-block-post-title,
.elora-gift-picker--pack .wp-block-post-excerpt,
.elora-gift-picker--pack .wc-block-components-product-price {
	padding-left: 28px;
	padding-right: 28px;
}
.elora-gift-picker--personal .wc-block-components-product-price,
.elora-gift-picker--pack .wc-block-components-product-price { padding-bottom: 26px; display: block; }

/* Card message preview */
.elora-card-preview {
	box-shadow: 0 30px 70px rgba(0,0,0,.35);
}

/* Bottom nav hover states */
.elora-gift-wizard .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #C9A96A !important;
	color: #0A1225 !important;
}
.elora-nav-back:hover { color: #E9D7A5 !important; }

/* Progress bar */
.elora-progress-bar {
	display: flex;
	align-items: center;
	gap: 0;
	flex: 1;
	max-width: 720px;
}
.elora-progress-step {
	cursor: pointer;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 9px;
	background: none;
	border: none;
	padding: 0 6px 0 0;
	text-align: left;
}
.elora-progress-bar-line {
	height: 1px;
	background: rgba(201,169,106,.25);
	display: block;
}
.elora-progress-bar-label {
	font-size: 9px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(247,245,241,.4);
}
.elora-progress-step.is-done .elora-progress-bar-line { background: #C9A96A; }
.elora-progress-step.is-done .elora-progress-bar-label { color: #C9A96A; }
.elora-progress-step.is-active .elora-progress-bar-line { background: #E9D7A5; }
.elora-progress-step.is-active .elora-progress-bar-label { color: #F7F5F1; }

/* Selected picker card */
.elora-gift-picker li.wc-block-product.is-selected {
	border-color: #C9A96A;
	background: rgba(201,169,106,.08);
}

/* Skip flowers */
.elora-skip-flowers {
	cursor: pointer;
	background: transparent;
	border: 1px solid rgba(201,169,106,.4);
	color: rgba(247,245,241,.7);
	font-family: 'Jost', sans-serif;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 10px 18px;
	transition: border-color .2s ease, color .2s ease;
}
.elora-skip-flowers:hover,
.elora-skip-flowers.is-selected {
	border-color: #C9A96A;
	color: #E9D7A5;
}

/* Engraving input */
.elora-engrave-input {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(201,169,106,.5);
	color: #F7F5F1;
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px;
	padding: 0 0 14px;
	outline: none;
}
.elora-engrave-input::placeholder { color: rgba(247,245,241,.35); }

/* Message textarea */
.elora-message-input {
	width: 100%;
	min-height: 190px;
	background: rgba(247,245,241,.04);
	border: 1px solid rgba(201,169,106,.35);
	color: #F7F5F1;
	font-family: 'Jost', sans-serif;
	padding: 22px;
	font-size: 15px;
	line-height: 1.8;
	outline: none;
	resize: vertical;
}
.elora-message-input::placeholder { color: rgba(247,245,241,.35); }

/* Add to cart button state */
.elora-add-gift-to-cart[aria-disabled="true"] {
	opacity: .6;
	pointer-events: none;
}

/* Invalid-next shake */
@keyframes elora-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}
.elora-nav-next.is-shake { animation: elora-shake .35s ease; }
