/* CUVANA storefront pieces. Colors come from the child theme (--cuvana-*), with fallbacks. */
.cuvana-bmsm { margin: 0 0 20px; width: 100%; }
.cuvana-bmsm__heading { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; color: var(--cuvana-text, #f5f0e8); }
.cuvana-bmsm__card { position: relative; display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin-bottom: 10px; border: 1px solid var(--cuvana-line, #5a5a5a); border-radius: 6px; background: var(--cuvana-card, #3a3a3a); cursor: pointer; color: var(--cuvana-text, #f5f0e8); }
.cuvana-bmsm__card input { position: absolute; opacity: 0; pointer-events: none; }
.cuvana-bmsm__card.is-active { border-color: var(--cuvana-gold, #d6a849); box-shadow: 0 0 0 1px var(--cuvana-gold, #d6a849); }
.cuvana-bmsm__radio { width: 20px; height: 20px; min-width: 20px; border-radius: 50%; border: 2px solid var(--cuvana-gold, #d6a849); position: relative; }
.cuvana-bmsm__card.is-active .cuvana-bmsm__radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--cuvana-gold, #d6a849); }
.cuvana-bmsm__label { font-weight: 700; font-size: 16px; flex: 1; }
.cuvana-bmsm__price { text-align: right; white-space: nowrap; }
.cuvana-bmsm__now { font-weight: 700; font-size: 16px; }
.cuvana-bmsm__was { margin-left: 8px; font-size: 14px; color: var(--cuvana-muted, #8b8b8b); text-decoration: line-through; }
.cuvana-bmsm__badge { position: absolute; top: -9px; right: -8px; background: var(--cuvana-gold, #d6a849); color: #111; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 10px; }
.cuvana-bmsm__multi, .cuvana-bmsm__case { display: block; margin: 4px 0 12px; color: var(--cuvana-text, #f5f0e8); }
.cuvana-bmsm__multi[hidden], .cuvana-bmsm__case[hidden] { display: none; }
.cuvana-bmsm__multi select { margin-left: 8px; }
.cuvana-bmsm__case s { color: var(--cuvana-muted, #8b8b8b); }
.cuvana-bmsm__note { font-size: 13px; color: var(--cuvana-muted, #8b8b8b); margin: 4px 0 0; }

.cuvana-zip-checker { max-width: 520px; margin: 24px auto; padding: 20px; border: 1px solid var(--cuvana-line, #5a5a5a); border-radius: 6px; background: var(--cuvana-card, #3a3a3a); color: var(--cuvana-text, #f5f0e8); }
.cuvana-zip-checker__label { display: block; font-weight: 600; margin-bottom: 10px; }
.cuvana-zip-checker__controls { display: flex; gap: 8px; }
.cuvana-zip-checker__input { flex: 1; min-width: 0; padding: 10px 12px; font-size: 16px; }
.cuvana-zip-checker__button { padding: 10px 18px; background: var(--cuvana-gold, #d6a849); color: #111; border: 0; border-radius: 4px; font-weight: 700; cursor: pointer; }
.cuvana-zip-checker__message { margin: 12px 0 0; min-height: 1.4em; }
.cuvana-zip-checker__message.is-ok { color: #7dd87d; }
.cuvana-zip-checker__message.is-error { color: #ff8a80; }

/* ---------- Section titles: centred with a short gold underline (Shopify look) ---------- */
.cuvana-section-title { text-align: center; margin: 0 0 18px; }
.cuvana-section-title::after { content: ''; display: block; width: 60px; height: 2px; margin: 12px auto 0; background: var(--cuvana-gold, #d6a849); }
.cuvana-section { max-width: 900px; margin: 48px auto; padding: 0 16px; color: var(--cuvana-text, #f5f0e8); }
.cuvana-ritual { text-align: center; }
.cuvana-admin-note { max-width: 900px; margin: 24px auto; padding: 10px 14px; background: #fff4d6; color: #3b2f00; border-left: 4px solid var(--cuvana-gold-2, #f1ab3c); font-size: 14px; }

/* ---------- Product page ---------- */
.cuvana-intro { color: var(--cuvana-text, #f5f0e8); opacity: .9; }
.cuvana-free-ship { font-size: 14px; color: var(--cuvana-muted, #8b8b8b); margin: 8px 0 0; }
.cuvana-specs { margin: 0; padding-left: 20px; }
.cuvana-specs li { margin: 4px 0; }
.cuvana-faq__item { border-bottom: 1px solid var(--cuvana-line, #5a5a5a); }
.cuvana-faq__item summary { cursor: pointer; padding: 16px 28px 16px 0; font-weight: 600; list-style: none; position: relative; }
.cuvana-faq__item summary::-webkit-details-marker { display: none; }
.cuvana-faq__item summary::after { content: '+'; position: absolute; right: 4px; top: 12px; font-size: 22px; color: var(--cuvana-gold, #d6a849); }
.cuvana-faq__item[open] summary::after { content: '−'; }
.cuvana-faq__answer { padding: 0 0 12px; }

/* ---------- Homepage featured product ---------- */
.cuvana-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; max-width: 1100px; margin: 56px auto; padding: 0 16px; }
.cuvana-featured--no-image { grid-template-columns: 1fr; max-width: 640px; text-align: center; }
.cuvana-featured--no-image .cuvana-featured__title { text-align: center; }
.cuvana-featured--no-image .cuvana-featured__title::after { margin-left: auto; }
.cuvana-featured__media img { width: 100%; height: auto; border-radius: 8px; display: block; }
.cuvana-featured__title { text-align: left; }
.cuvana-featured__title::after { margin-left: 0; }
.cuvana-featured__price { font-size: 20px; font-weight: 600; color: var(--cuvana-text, #f5f0e8); }
@media (max-width: 767px) { .cuvana-featured { grid-template-columns: 1fr; gap: 20px; } }

/* ---------- Contact form + CUVANA Reserve ---------- */
.cuvana-contact { max-width: 720px; margin: 40px auto; }
.cuvana-form label { display: block; margin-bottom: 14px; font-weight: 600; }
.cuvana-form input, .cuvana-form textarea { display: block; width: 100%; margin-top: 6px; font-weight: 400; }
.cuvana-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .cuvana-form__row { grid-template-columns: 1fr; } }
.cuvana-form__status { padding: 10px 14px; border-radius: 6px; }
.cuvana-form__status.is-ok { background: #1f3d24; color: #bff0c4; }
.cuvana-form__status.is-error { background: #4a1f1f; color: #ffc9c4; }
.cuvana-reserve { background: transparent; color: var(--cuvana-text, #f5f0e8); padding: 44px 16px; text-align: center; }
.cuvana-reserve__copy { max-width: 640px; margin: 0 auto 18px; }
.cuvana-reserve__form { max-width: 520px; margin: 0 auto; }
.cuvana-reserve__row { display: flex; gap: 8px; }
.cuvana-reserve__row input { flex: 1; min-width: 0; }
.cuvana-reserve__consent { margin: 10px 0 0; font-size: 12px; color: var(--cuvana-muted, #8b8b8b); }
.cuvana-reserve .cuvana-form__status { max-width: 520px; margin: 0 auto 14px; }
.cuvana-bmsm__alt { display: block; font-size: 12px; color: var(--cuvana-muted, #8b8b8b); text-align: right; }
.cuvana-bmsm__card { flex-wrap: wrap; }
.cuvana-bmsm__card .cuvana-bmsm__alt { flex-basis: 100%; margin-top: -6px; }
.cuvana-bmsm.is-subscription .cuvana-bmsm__now { color: var(--cuvana-gold, #d6a849); }
.cuvana-bmsm__card { flex-wrap: wrap; }
.cuvana-bmsm__alt { flex-basis: 100%; margin-top: -6px; font-size: 12px; color: var(--cuvana-muted, #8b8b8b); text-align: right; }
.cuvana-bmsm__was[hidden] { display: none; }
.cuvana-bmsm.is-subscription .cuvana-bmsm__now { color: var(--cuvana-gold, #d6a849); }

/* Jeff 9/29: no SKU, category or tags on the storefront. Backstop for Kadence settings saved in the Customizer. */
.single-product .product_meta,
.single-product .entry-taxonomies,
.woocommerce ul.products .entry-taxonomies,
.woocommerce-loop-product__category {
	display: none !important;
}
