/* Evermore bundle + storefront components (functional UI). Tokens come from
   the site's :root variables (wp/evermore-custom.css), with fallbacks. */

.emc-bundle { --b: var(--emc-border, rgba(28,36,32,.2)); font-family: var(--emc-font-display, "Outfit"), sans-serif; }
.emc-bundle__tiers { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--emc-paper, #F7F5F1); border: 1px solid var(--b); border-radius: 6px; overflow: hidden; }
.emc-bundle .emc-tier { appearance: none; margin: 0; border: 0; border-left: 1px solid var(--emc-hairline, rgba(28,36,32,.1)); background: transparent; color: var(--emc-ink, #1C2420); padding: 28px 12px 24px; display: flex; flex-direction: column; align-items: center; gap: 10px; cursor: pointer; font: inherit; letter-spacing: normal; text-transform: none; line-height: 1.2; border-radius: 0; box-shadow: none; text-align: center; min-height: 44px; transition: background-color .25s ease, color .25s ease; }
.emc-bundle .emc-tier:first-child { border-left: 0; }
.emc-bundle .emc-tier:hover { background: var(--emc-sunken, #E8E4DC); }
.emc-tier__qty { font-weight: 600; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; }
.emc-tier__price { font-weight: 700; font-size: clamp(34px, 3.4vw, 48px); line-height: 1; letter-spacing: -.01em; }
.emc-tier__note { font-weight: 600; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--emc-gold-text, #85602F); min-height: 1.2em; }
.emc-bundle .emc-tier:first-child .emc-tier__note { color: var(--emc-ink, #1C2420); }
.emc-bundle .emc-tier.is-active { background: var(--emc-forest, #1E3329); color: #fff; }
.emc-bundle .emc-tier.is-active .emc-tier__note { color: var(--emc-gold-forest, #C2A06E); }
.emc-bundle .emc-tier.is-active .emc-tier__qty::before { content: ""; display: inline-block; width: 7px; height: 12px; margin: 0 10px 2px 0; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); vertical-align: middle; }
.emc-bundle .emc-tier:focus-visible, .emc-bundle__cta:focus-visible, .emc-card a:focus-visible { outline: 2px solid var(--emc-gold-text, #85602F); outline-offset: -4px; }
.emc-bundle__sizes { margin: 20px 0 0; text-align: center; font-weight: 600; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--emc-ink, #1C2420); }
.emc-bundle__sizes span { margin-left: .4em; }
.emc-bundle .emc-bundle__cta { display: flex; align-items: center; justify-content: center; margin-top: 20px; min-height: 58px; padding: 0 24px; background: var(--emc-forest, #1E3329); color: #fff; font-weight: 600; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background-color .25s ease; }
.emc-bundle .emc-bundle__cta:hover, .emc-bundle .emc-bundle__cta:focus { background: var(--emc-forest-hover, #2A4437); color: #fff; }
@media (max-width: 1023px) { .emc-bundle .emc-bundle__cta { min-height: 48px; } }
@media (max-width: 767px) { .emc-bundle .emc-tier { padding: 20px 6px 18px; gap: 8px; } .emc-tier__qty { font-size: 12px; } .emc-tier__note { font-size: 10.5px; letter-spacing: .1em; } }

.emc-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.emc-card { position: relative; display: flex; flex-direction: column; }
.emc-card__media { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--emc-sunken, #E8E4DC); }
.emc-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .6s ease; }
.emc-card:hover .emc-card__media img { transform: scale(1.04); }
.emc-card__body { padding: 18px 0 0; display: flex; flex-direction: column; gap: 6px; }
.emc-card__colour { margin: 0; display: flex; align-items: center; gap: 8px; font: 600 12px/1.2 var(--emc-font-display, "Outfit"), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--emc-text-2, #69645B); }
.emc-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--emc-dot); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.emc-card__title { margin: 0; font: 700 20px/1.2 var(--emc-font-display, "Outfit"), sans-serif; text-transform: uppercase; letter-spacing: .02em; }
.emc-cards .emc-card__title a { color: var(--emc-ink, #1C2420); text-decoration: none; }
.emc-card__title a::after { content: ""; position: absolute; inset: 0; }
.emc-card__price { margin: 0; font: 500 16px/1.4 var(--emc-font-display, "Outfit"), sans-serif; color: var(--emc-ink, #1C2420); }
.emc-card__cta { margin-top: 6px; align-self: flex-start; font: 600 12px/1 var(--emc-font-display, "Outfit"), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--emc-forest, #1E3329); padding-bottom: 6px; border-bottom: 2px solid var(--emc-gold, #A57C45); }
@media (max-width: 767px) {
	.emc-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; margin-right: -24px; padding-right: 24px; }
	.emc-card { flex: 0 0 78%; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) { .emc-card__media img, .emc-bundle .emc-tier, .emc-bundle__cta { transition: none; } .emc-card:hover .emc-card__media img { transform: none; } }
.emc-card__media .emc-gallery__placeholder, .emc-gallery__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(160deg, var(--emc-sunken, #E8E4DC) 0 62%, color-mix(in srgb, var(--emc-dot) 18%, var(--emc-sunken, #E8E4DC)) 100%); }
