/* Featured product cards: a restrained translation of the supplied reference
   into the existing CMS card family. Product data and links stay untouched. */
html[lang="en"] body.cl-product-page .cl-product-categories {
    position: relative;
    overflow: hidden;
    background: var(--bg-gold);
}
html[lang="en"] body.cl-product-page .cl-product-categories::before,
html[lang="en"] body.cl-product-page .cl-product-categories::after {
    content: "";
    position: absolute;
    border: 1px solid color-mix(in srgb,var(--brand-gold) 15%,transparent);
    border-radius: 50%;
    pointer-events: none;
}
html[lang="en"] body.cl-product-page .cl-product-categories::before { top: -260px; right: -140px; width: 620px; height: 620px; }
html[lang="en"] body.cl-product-page .cl-product-categories::after { bottom: -390px; left: -180px; width: 700px; height: 700px; }
html[lang="en"] body.cl-product-page .cl-product-section {
    position: relative;
    z-index: 1;
    padding: 82px 0 94px;
    background: transparent;
    border-bottom: 0;
}
html[lang="en"] body.cl-product-page .cl-product-section-head {
    display: block;
    max-width: 1180px;
    margin: 0 auto 38px;
    text-align: center;
}
html[lang="en"] body.cl-product-page .cl-product-section-head > div { display: block; }
html[lang="en"] body.cl-product-page .cl-product-section-head .cl-product-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 14px;
    color: var(--brand-gold-ink);
    font-size:var(--type-eyebrow);
    letter-spacing: .26em;
}
html[lang="en"] body.cl-product-page .cl-product-section-head .cl-product-eyebrow::before,
html[lang="en"] body.cl-product-page .cl-product-section-head .cl-product-eyebrow::after {
    content: "";
    display: block;
    width: 44px;
    height: 1px;
    background: color-mix(in srgb,var(--brand-gold-ink) 40%,transparent);
}
html[lang="en"] body.cl-product-page .cl-product-section-head .cl-product-title-line {
    display: block;
}
html[lang="en"] body.cl-product-page .cl-product-section-head h2 {
    color: var(--navy-800);
    font-size:var(--type-section);
    letter-spacing: -.045em;
}
html[lang="en"] body.cl-product-page .cl-product-section-head .cl-product-title-line > span,
html[lang="en"] body.cl-product-page .cl-product-section-head > div > p:last-child,
html[lang="en"] body.cl-product-page .cl-product-section-head > .cl-product-view-all { display: none; }
html[lang="en"] body.cl-product-page .cl-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    counter-reset: featured-card;
}
html[lang="en"] body.cl-product-page .cl-catalog-card {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb,var(--brand-navy-light) 7%,transparent);
    border-radius: 16px;
    background: color-mix(in srgb,var(--bg-primary) 92%,transparent);
    box-shadow: 0 10px 28px color-mix(in srgb,var(--brand-navy) 6%,transparent);
    transform: translateY(0);
    transition: transform 280ms cubic-bezier(.22,.61,.36,1), box-shadow 280ms ease, border-color 280ms ease;
    counter-increment: featured-card;
}
html[lang="en"] body.cl-product-page .cl-catalog-card::after {
    content: "";
    position: absolute;
    top: -2px;
    right: 12%;
    left: 12%;
    height: 3px;
    border-radius: 0 0 5px 5px;
    background: var(--gold-400);
    opacity: 0;
    transform: scaleX(.4);
    transition: opacity 280ms ease, transform 280ms ease;
}
html[lang="en"] body.cl-product-page .cl-catalog-card:hover,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible {
    border-color: color-mix(in srgb,var(--border-strong) 50%,transparent);
    box-shadow: 0 20px 45px color-mix(in srgb,var(--brand-navy-light) 15%,transparent), 0 0 0 2px color-mix(in srgb,var(--border-strong) 12%,transparent);
    transform: translateY(-6px);
}
html[lang="en"] body.cl-product-page .cl-catalog-card:hover::after,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible::after { opacity: 1; transform: scaleX(1); }
html[lang="en"] body.cl-product-page .cl-catalog-card-media {
    position: relative;
    display: grid;
    height: auto;
    aspect-ratio: 1.62;
    place-items: center;
    overflow: hidden;
    padding: 10px;
    border: 10px solid color-mix(in srgb,var(--bg-primary) 92%,transparent);
    border-bottom: 0;
    border-radius: 16px 16px 10px 10px;
    background: linear-gradient(140deg,var(--bg-soft),var(--bg-primary));
}
html[lang="en"] body.cl-product-page .cl-catalog-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 13%, color-mix(in srgb,var(--bg-primary) 78%,transparent), transparent 42%);
    pointer-events: none;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-media img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    transition: transform 420ms cubic-bezier(.22,.61,.36,1), filter 420ms ease;
}
html[lang="en"] body.cl-product-page .cl-catalog-card:hover .cl-catalog-card-media img,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible .cl-catalog-card-media img {
    transform: scale(1.035);
    filter: saturate(1.04) contrast(1.02);
}
html[lang="en"] body.cl-product-page .cl-catalog-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 4px 13px 4px 10px;
    border: 1px solid color-mix(in srgb,var(--bg-primary) 80%,transparent);
    border-radius: 999px;
    color: var(--navy-800);
    background: color-mix(in srgb,var(--bg-soft) 90%,transparent);
    box-shadow: 0 4px 14px color-mix(in srgb,var(--brand-navy) 7%,transparent);
    font-size:var(--type-eyebrow);
    font-weight: 700;
    letter-spacing: .015em;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-badge::before {
    content: counter(featured-card, decimal-leading-zero);
    display: inline-grid;
    place-items: center;
    color: var(--bg-primary);
    font-size:var(--type-eyebrow);
    font-weight: 700;
    width: 25px;
    height: 25px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--navy-800);
    box-shadow: inset 0 0 0 5px color-mix(in srgb,var(--bg-primary) 22%,transparent);
}
html[lang="en"] body.cl-product-page .cl-catalog-card-copy {
    display: flex;
    min-height: 150px;
    padding: 16px 20px 17px;
    flex-direction: column;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-copy .cl-catalog-card-type { display: none; }
html[lang="en"] body.cl-product-page .cl-catalog-card-copy b {
    color: var(--navy-800);
    font-family: var(--brand-font-display);
    font-size:var(--type-card);
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -.02em;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-copy .cl-catalog-card-description {
    display: -webkit-box;
    min-height: 42px;
    margin-top: 7px !important;
    overflow: hidden;
    color: var(--text-body);
    font-size:var(--type-description) !important;
    line-height: 1.45 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 43px;
    margin-top: auto;
    padding-top: 11px;
    border-top: 1px solid var(--bg-soft);
    color: var(--navy-800);
    font-family:var(--font-body);
    font-size:var(--type-description);
    font-weight: 700;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 13px;
    border-radius: 999px;
    color: var(--bg-primary);
    background: var(--brand-navy-light);
    box-shadow: 0 5px 12px color-mix(in srgb,var(--brand-navy-light) 18%,transparent);
    transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-primary > span { transition: transform 220ms ease; }
html[lang="en"] body.cl-product-page .cl-catalog-card-secondary {
    display: none;
    align-items: center;
    min-height: 38px;
    padding: 6px 11px;
    border: 1px solid var(--bg-soft);
    border-radius: 999px;
    color: var(--navy-800);
    background: var(--bg-primary);
    font-size:var(--type-eyebrow);
    font-weight: 600;
    white-space: nowrap;
}
html[lang="en"] body.cl-product-page .cl-catalog-card-secondary:last-child { display: none; }
html[lang="en"] body.cl-product-page .cl-catalog-card:hover .cl-catalog-card-secondary,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible .cl-catalog-card-secondary { display: inline-flex; }
html[lang="en"] body.cl-product-page .cl-catalog-card:hover .cl-catalog-card-secondary:last-child,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible .cl-catalog-card-secondary:last-child { display: inline-flex; }
html[lang="en"] body.cl-product-page .cl-catalog-card:hover .cl-catalog-card-primary,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible .cl-catalog-card-primary { background: var(--brand-navy-light); transform: translateY(-1px); box-shadow: 0 8px 16px color-mix(in srgb,var(--brand-navy-light) 28%,transparent); }
html[lang="en"] body.cl-product-page .cl-catalog-card:hover .cl-catalog-card-primary > span,
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible .cl-catalog-card-primary > span { transform: translateX(4px); }
html[lang="en"] body.cl-product-page .cl-catalog-card:focus-visible { outline: 2px solid var(--border-strong); outline-offset: 4px; }

@media (max-width: 900px) {
    html[lang="en"] body.cl-product-page .cl-product-section-head { margin-bottom: 28px; }
    html[lang="en"] body.cl-product-page .cl-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    html[lang="en"] body.cl-product-page .cl-catalog-card-copy { padding-inline: 17px; }
    html[lang="en"] body.cl-product-page .cl-catalog-card-secondary { display: none; }
}
@media (max-width: 560px) {
    html[lang="en"] body.cl-product-page .cl-product-section { padding: 58px 0 68px; }
    html[lang="en"] body.cl-product-page .cl-product-section-head h2 { font-size:var(--type-section); }
    html[lang="en"] body.cl-product-page .cl-product-grid { grid-template-columns: 1fr; gap: 16px; }
    html[lang="en"] body.cl-product-page .cl-catalog-card-media { aspect-ratio: 1.65; }
    html[lang="en"] body.cl-product-page .cl-catalog-card-copy { min-height: 142px; }
}
@media (prefers-reduced-motion: reduce) {
    html[lang="en"] body.cl-product-page .cl-catalog-card,
    html[lang="en"] body.cl-product-page .cl-catalog-card::after,
    html[lang="en"] body.cl-product-page .cl-catalog-card img,
    html[lang="en"] body.cl-product-page .cl-catalog-card-primary,
    html[lang="en"] body.cl-product-page .cl-catalog-card-primary > span { transition: none; }
}
