/* Store cards (Store\Catalog::card) and the pricing tables (Store\Catalog::plans_html): the store grid,
   the home page shelves and the suggestions at the end of a product page (2026-11-02). */
.ah-pc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ah-pc {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ah-card-line, #E3E0D6);
	border-radius: var(--ah-r-card, 16px);
	background: var(--ah-card, #fff);
	box-shadow: var(--ah-shadow, 0 8px 24px -12px rgba(15,27,60,.18));
	transition: box-shadow .3s var(--ah-ease, ease), transform .3s var(--ah-ease, ease), border-color .3s;
}
.ah-pc[hidden] { display: none; }
.ah-pc:hover { transform: translateY(-4px); border-color: var(--ah-tint-line, #D8CFB9); box-shadow: var(--ah-shadow-hi, 0 22px 40px -18px rgba(15,27,60,.32)); }
.ah-pc .ah-pc__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ah-deep, #09122A); }
.ah-pc .ah-pc__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .6s var(--ah-ease, ease); }
.ah-pc:hover .ah-pc__img { transform: scale(1.035); }
.ah-pc .ah-pc__ph { display: grid; place-items: center; width: 100%; height: 100%; background: radial-gradient(80% 90% at 50% 40%, #1D2D5C, var(--ah-deep, #09122A)); }
.ah-pc .ah-pc__badge { position: absolute; top: 12px; inset-inline-end: 12px; z-index: 2; padding: 4px 11px; border-radius: 999px; font: 700 .76rem/1.4 var(--ah-f-body); }
.ah-pc .ah-pc__badge--sale { background: #B4483A; color: #fff; }
.ah-pc .ah-pc__badge--soon { background: var(--ah-gold-hi, #E8C988); color: var(--ah-deep, #09122A); }
.ah-pc .ah-pc__badge--pick { background: rgba(9,18,42,.78); color: var(--ah-gold-hi, #E8C988); backdrop-filter: blur(4px); }
.ah-pc .ah-pc__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; min-width: 0; }
.ah-pc .ah-pc__kind { margin: 0; font: 600 .76rem/1.5 var(--ah-f-body); color: var(--ah-ink-gold, #7A5F31); }
.ah-pc .ah-pc__title { margin: 0; font-family: var(--ah-f-display); font-weight: 700; font-size: 1.06rem; line-height: 1.5; letter-spacing: 0; color: var(--ah-navy, #0F1B3C); text-wrap: balance; }
.ah-pc .ah-pc__title a { color: inherit; text-decoration: none; }
.ah-pc .ah-pc__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ah-pc .ah-pc__title a:focus-visible { outline: none; }
.ah-pc:has(.ah-pc__title a:focus-visible) { outline: 2px solid var(--ah-gold, #C5A572); outline-offset: 2px; }
.ah-pc .ah-pc__line { margin: 0; font-size: .9rem; line-height: 1.7; color: var(--ah-muted, #4A4A4A); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ah-pc .ah-pc__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: auto; padding-top: 12px; }
.ah-pc .ah-pc__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; min-width: 0; }
.ah-pc .ah-pc__now { font-family: var(--ah-f-display); font-weight: 800; font-size: 1.12rem; color: var(--ah-navy, #0F1B3C); white-space: nowrap; }
.ah-pc .ah-pc__now small { font: 600 .74rem var(--ah-f-body); color: var(--ah-muted, #4A4A4A); }
.ah-pc .ah-pc__was { font-size: .8rem; color: #8A8A8A; white-space: nowrap; }
.ah-pc .ah-pc__per { font-size: .76rem; color: #7A7A7A; white-space: nowrap; }
.ah-pc .ah-pc__status { font: 700 .9rem var(--ah-f-body); color: var(--ah-ink-gold, #7A5F31); }
.ah-pc .ah-pc__acts { position: relative; z-index: 2; display: flex; align-items: center; gap: 6px; margin-inline-start: auto; }
.ah-pc .ah-pc__go { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; background: var(--ah-navy, #0F1B3C); color: #fff; font: 700 .84rem/1.2 var(--ah-f-body); text-decoration: none; white-space: nowrap; transition: background .25s; }
.ah-pc .ah-pc__go:hover, .ah-pc .ah-pc__go:focus-visible { background: var(--ah-navy-2, #1A2952); color: var(--ah-gold-hi, #E8C988); }
.ah-pc.ah-pc--soon .ah-pc__go { background: transparent; color: var(--ah-navy, #0F1B3C); box-shadow: inset 0 0 0 1.5px var(--ah-navy, #0F1B3C); }
.ah-pc .ah-pc__cart { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--ah-gold, #C5A572); color: var(--ah-deep, #09122A); transition: background .25s; }
.ah-pc .ah-pc__cart:hover, .ah-pc .ah-pc__cart:focus-visible { background: var(--ah-gold-hi, #E8C988); }

/* pricing tables */
.ah-pl { display: grid; gap: 18px; margin-block-end: 28px; padding: clamp(18px, 3vw, 28px); border-radius: var(--ah-r-lg, 20px); background: linear-gradient(180deg, #fff, var(--ah-sand, #EEECE4)); border: 1px solid var(--ah-card-line, #E3E0D6); }
.ah-pl[hidden] { display: none; }
.ah-pl .ah-pl__h { display: grid; gap: 4px; text-align: center; justify-items: center; }
.ah-pl .ah-pl__h h3 { margin: 0; font-family: var(--ah-f-display); font-weight: 800; font-size: clamp(1.3rem, 2.4vw, 1.7rem); letter-spacing: 0; color: var(--ah-navy, #0F1B3C); }
.ah-pl .ah-pl__h p { margin: 0; max-width: 60ch; color: var(--ah-muted, #4A4A4A); }
.ah-pl .ah-pl__row { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.ah-pl .ah-pl__card { position: relative; display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: 18px; border: 1px solid var(--ah-card-line, #E3E0D6); background: #fff; box-shadow: var(--ah-shadow, 0 8px 24px -12px rgba(15,27,60,.18)); }
.ah-pl .ah-pl__card.is-pick { border: 2px solid var(--ah-gold, #C5A572); box-shadow: var(--ah-shadow-hi, 0 22px 40px -18px rgba(15,27,60,.32)); }
.ah-pl .ah-pl__flag { position: absolute; top: 12px; inset-inline-end: 12px; z-index: 2; padding: 4px 11px; border-radius: 999px; background: var(--ah-gold-hi, #E8C988); color: var(--ah-deep, #09122A); font: 700 .76rem/1.4 var(--ah-f-body); }
.ah-pl .ah-pl__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ah-deep, #09122A); }
.ah-pl .ah-pl__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.ah-pl .ah-pl__b { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; }
.ah-pl .ah-pl__t { margin: 0; font-family: var(--ah-f-display); font-weight: 700; font-size: 1.1rem; letter-spacing: 0; color: var(--ah-navy, #0F1B3C); }
.ah-pl .ah-pl__t a { color: inherit; text-decoration: none; }
.ah-pl .ah-pl__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; }
.ah-pl .ah-pl__now { font-family: var(--ah-f-display); font-weight: 800; font-size: 1.85rem; line-height: 1.2; color: var(--ah-navy, #0F1B3C); white-space: nowrap; }
.ah-pl .ah-pl__now small { font: 600 .8rem var(--ah-f-body); color: var(--ah-muted, #4A4A4A); }
.ah-pl .ah-pl__was { color: #8A8A8A; }
.ah-pl .ah-pl__per { font-size: .82rem; color: #7A7A7A; }
.ah-pl .ah-pl__go { justify-content: center; }
.ah-pl .ah-pl__pts { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; font-size: .9rem; line-height: 1.6; color: var(--ah-muted, #4A4A4A); }
.ah-pl .ah-pl__pts li { display: flex; gap: 8px; align-items: flex-start; }
.ah-pl .ah-pl__pts svg { flex: none; margin-top: 4px; color: #1F7A55; }
.ah-pl .ah-pl__sw { display: inline-flex; flex-wrap: wrap; gap: 3px; padding: 3px; align-self: flex-start; border-radius: 12px; background: var(--ah-sand, #EEECE4); }
.ah-pl .ah-pl__sw button { margin: 0; padding: 6px 14px; border: 0; border-radius: 9px; background: transparent; box-shadow: none; font: 700 .84rem var(--ah-f-en, var(--ah-f-body)); color: var(--ah-muted, #4A4A4A); cursor: pointer; text-transform: none; letter-spacing: 0; }
.ah-pl .ah-pl__sw button[aria-pressed="true"] { background: #fff; color: var(--ah-navy, #0F1B3C); box-shadow: 0 2px 8px -4px rgba(15,27,60,.4); }
.ah-pl .ah-pl__sw button:focus-visible { outline: 2px solid var(--ah-gold, #C5A572); outline-offset: 1px; }

/* a section of five suggestions (product pages) */
.ah-sg .ah-pc-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.ah-sg .ah-pc .ah-pc__line { font-size: .84rem; }

@media (max-width: 1200px) {
	.ah-sg .ah-pc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.ah-pc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ah-pl .ah-pl__row { grid-template-columns: minmax(0, 1fr); }
	.ah-sg .ah-pc-grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(250px, 42%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
	.ah-sg .ah-pc { scroll-snap-align: start; }
}
@media (max-width: 767px) {
	.ah-pc-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ah-sg .ah-pc-grid { grid-auto-columns: 78%; }
}
@media (prefers-reduced-motion: reduce) {
	.ah-pc, .ah-pc .ah-pc__img { transition: none; }
	.ah-pc:hover { transform: none; }
	.ah-pc:hover .ah-pc__img { transform: none; }
}
