/* ==========================================================================
   BLESS — info pages (Delivery, FAQ, Contact, Track an Order)
   Built on the homepage's own pieces: floral sections, value strip, beige bands,
   the dark pattern CTA. Only adds what those don't already provide.
   ========================================================================== */

/* ---- Hero ---- */
.pg-hero__inner { text-align: center; padding-top: var(--space-6); padding-bottom: var(--space-5); }
.pg-hero .eyebrow { margin-inline: auto; letter-spacing: .32em; color: var(--bp-gold-deep, var(--bless-burgundy)); }
.pg-hero__title { margin: 0 auto var(--space-2); max-width: 20ch; }
.pg-hero__title::after {
	content: ""; display: block; width: 64px; height: 1px; margin: 22px auto 0;
	background: linear-gradient(90deg, transparent, var(--bp-gold, var(--bless-champagne)), transparent);
}
.pg-hero__lede { margin: var(--space-2) auto 0; max-width: 52ch; font-family: var(--font-serif); font-size: 1.3rem; line-height: 1.45; color: rgba(30,27,25,.75); }

/* ---- Cards ---- */
.pg-cards { display: grid; gap: var(--space-3); }
.pg-cards--3 { grid-template-columns: repeat(3, 1fr); }
.pg-cards--2 { grid-template-columns: repeat(2, 1fr); }
.pg-card {
	position: relative;
	background: #fff;
	border: 1px solid rgba(201,166,107,.45);
	border-radius: 18px;
	padding: var(--space-4) var(--space-3);
	box-shadow: var(--bp-shadow-soft, 0 8px 24px rgba(30,27,25,.06));
}
.pg-card::before {
	content: ""; position: absolute; left: 32px; right: 32px; top: -1px; height: 2px;
	background: linear-gradient(90deg, transparent, var(--bp-gold, var(--bless-champagne)), transparent);
}
.pg-card h2, .pg-card h3 { margin-bottom: 6px; }
.pg-card p:last-child { margin-bottom: 0; }
.pg-card__meta { color: var(--bless-burgundy); font-size: .82rem; letter-spacing: .06em; margin-bottom: var(--space-2); }
.pg-fineprint { text-align: center; margin: var(--space-4) auto 0; color: rgba(30,27,25,.65); font-size: .9rem; }

/* ---- Steps (a real sequence, so numbered) ---- */
.pg-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
.pg-step { position: relative; padding-top: 4px; }
.pg-step__no {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; margin-bottom: var(--space-2); border-radius: 50%;
	font-family: var(--font-serif); font-size: 1.25rem; color: var(--bless-burgundy);
	border: 1px solid var(--bless-champagne); background: var(--bless-cream);
}
.pg-step h3 { margin-bottom: 6px; }
.pg-step p { color: rgba(30,27,25,.72); font-size: .95rem; }

/* ---- Notes ---- */
.pg-notes { display: grid; gap: 0; }
.pg-notes li { padding: var(--space-2) 0 var(--space-2) var(--space-3); border-bottom: 1px solid rgba(30,27,25,.1); position: relative; }
.pg-notes li:last-child { border-bottom: 0; }
.pg-notes li::before { content: ""; position: absolute; left: 0; top: 1.35em; width: 8px; height: 8px; border-radius: 50%; background: var(--bless-champagne); }
.pg-notes strong { font-weight: 500; }

/* ---- Dark CTA band additions ---- */
.pg-cta__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.pg-cta__actions .btn--primary { margin-top: 0; }
.btn--ghost-light { background: transparent; color: var(--bless-cream); border: 1px solid rgba(247,243,236,.5); }
.btn--ghost-light:hover { border-color: var(--bless-champagne); color: var(--bless-champagne); }

/* ---- Forms ---- */
.pg-form { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.pg-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.pg-field label { display: block; font-size: .8rem; font-weight: 500; margin-bottom: 6px; letter-spacing: .02em; }
.pg-input {
	width: 100%; padding: 14px 16px; font: inherit; font-size: .95rem; color: var(--bless-charcoal);
	background: var(--bless-cream); border: 1px solid rgba(30,27,25,.18); border-radius: 12px;
	transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease);
}
textarea.pg-input { resize: vertical; min-height: 140px; }
.pg-input:focus { outline: none; background: #fff; border-color: var(--bless-champagne); box-shadow: 0 0 0 4px rgba(201,166,107,.22); }
.pg-hint { margin: -6px 0 0; font-size: .8rem; color: rgba(30,27,25,.6); }
.pg-submit { justify-self: start; border-radius: 99px; padding: 16px 38px; }
.pg-submit[disabled] { opacity: .6; cursor: progress; }
.pg-alert { margin: var(--space-2) 0 0; padding: 12px 16px; border-radius: 12px; background: #f9e9e9; color: #8a1f1f; border: 1px solid #ecc6c6; font-size: .9rem; }
.pg-done { text-align: center; padding: var(--space-3) 0; }
.pg-done h2 { color: var(--bless-burgundy); }
.pg-done p { margin-inline: auto; }
.pg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---- Contact layout ---- */
.pg-contact > * { min-width: 0; }
.pg-contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-5); align-items: start; }
.pg-contact__list { margin-top: var(--space-2); }
.pg-contact__list li { display: grid; grid-template-columns: 110px 1fr; gap: var(--space-2); padding: 14px 0; border-bottom: 1px solid rgba(30,27,25,.1); }
.pg-contact__list span { font-size: .8rem; color: rgba(30,27,25,.55); padding-top: 2px; }
.pg-contact__list a { border-bottom: 1px solid rgba(201,166,107,.7); transition: color .2s var(--ease); }
.pg-contact__list a:hover { color: var(--bless-burgundy); }
.pg-contact__quick { margin-top: var(--space-3); display: grid; gap: 10px; justify-items: start; }
.pg-contact__quick p { margin: 0; color: rgba(30,27,25,.65); }
.pg-track-help { margin-top: var(--space-4); }
.pg-track-help .text-link { margin: 6px 16px 0 0; }

/* ---- FAQ ---- */
.pg-faq__inner { display: grid; grid-template-columns: 260px 1fr; gap: var(--space-5); align-items: start; padding-top: var(--space-4); }
.pg-faq__side, .pg-faq__list { min-width: 0; }
.pg-faq__side { position: sticky; top: 96px; }
.pg-faq__nav { display: grid; margin-top: var(--space-3); border-top: 1px solid rgba(30,27,25,.1); }
.pg-faq__nav a { padding: 12px 0; border-bottom: 1px solid rgba(30,27,25,.1); font-size: .92rem; color: rgba(30,27,25,.75); transition: color .2s var(--ease), padding-left .2s var(--ease); }
.pg-faq__nav a:hover { color: var(--bless-burgundy); padding-left: 6px; }
.pg-faq__group { margin-bottom: var(--space-5); scroll-margin-top: 110px; }
.pg-faq__group h2 { font-size: 1.6rem; margin-bottom: var(--space-2); }
.pg-faq__empty { color: rgba(30,27,25,.65); font-style: italic; }

.pg-q { border-bottom: 1px solid rgba(30,27,25,.12); }
.pg-q summary {
	display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
	padding: 20px 0; cursor: pointer; list-style: none;
	font-family: var(--font-serif); font-size: 1.25rem; line-height: 1.3;
}
.pg-q summary::-webkit-details-marker { display: none; }
.pg-q summary:hover { color: var(--bless-burgundy); }
.pg-q summary i { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--bless-champagne); transition: background-color .25s var(--ease); }
.pg-q summary i::before, .pg-q summary i::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--bless-burgundy); transition: transform .3s var(--ease), background-color .25s var(--ease); }
.pg-q summary i::before { width: 10px; height: 1px; margin: 0 0 0 -5px; }
.pg-q summary i::after { width: 1px; height: 10px; margin: -5px 0 0 0; }
.pg-q[open] summary i { background: var(--bless-burgundy); }
.pg-q[open] summary i::before, .pg-q[open] summary i::after { background: var(--bless-cream); }
.pg-q[open] summary i::after { transform: scaleY(0); }
.pg-q__a { padding: 0 var(--space-5) 22px 0; color: rgba(30,27,25,.78); }
.pg-q__a p { margin: 0; max-width: 62ch; }
.pg-q[hidden], .pg-faq__group[hidden] { display: none; }

/* ---- Responsive ---- */
@media (max-width: 1080px) {
	.pg-steps { grid-template-columns: repeat(2, 1fr); gap: var(--space-4) var(--space-3); }
	.pg-cards--3 { grid-template-columns: 1fr; }
	.pg-contact { grid-template-columns: 1fr; gap: var(--space-4); }
}
@media (max-width: 880px) {
	.pg-faq__inner { grid-template-columns: 1fr; gap: var(--space-3); }
	.pg-faq__side { position: static; }
	.pg-faq__nav { grid-auto-flow: column; grid-auto-columns: max-content; gap: 8px; overflow-x: auto; border-top: 0; margin-top: var(--space-2); padding-bottom: 6px; }
	.pg-faq__nav a { padding: 8px 16px; border: 1px solid rgba(201,166,107,.6); border-radius: 99px; white-space: nowrap; }
	.pg-faq__nav a:hover { padding-left: 16px; }
	.pg-cards--2 { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
	.pg-hero__inner { padding-top: var(--space-5); padding-bottom: var(--space-4); }
	.pg-hero__lede { font-size: 1.12rem; }
	.pg-steps, .pg-row { grid-template-columns: 1fr; }
	.pg-card { padding: var(--space-3) var(--space-2); }
	.pg-contact__list li { grid-template-columns: 1fr; gap: 2px; }
	.pg-q summary { font-size: 1.12rem; }
	.pg-q__a { padding-right: 0; }
	.pg-submit { justify-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
	.pg-q summary i, .pg-q summary i::before, .pg-q summary i::after, .pg-input { transition: none; }
}
