/* Dedicated collection-tag landing page, sharing catalog card styling. */
.tag-collection-page {
    --tag-primary: #385ecb;
    --tag-secondary: #7d62d4;
    --tag-tint: #eaf0ff;
    --tag-ink: #172438;
    background: linear-gradient(180deg, #fbfcff 0%, #f7f9fd 340px, #fff 900px);
    min-height: 72vh;
    padding: 28px 0 80px;
    color: var(--tag-ink);
}
.tag-collection-container { max-width: 1320px; }
.tag-breadcrumb { font-size: .88rem; }
.tag-breadcrumb a { color: #657389; text-decoration: none; }
.tag-breadcrumb a:hover { color: var(--tag-primary); }
.tag-breadcrumb .breadcrumb-item.active { color: #243248; font-weight: 650; }
.tag-hero {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: radial-gradient(ellipse at 97% 2%, rgba(255,255,255,.17), transparent 45%),
                linear-gradient(118deg, #162641 0%, var(--tag-primary) 64%, var(--tag-secondary) 100%);
    color: white;
    box-shadow: 0 24px 48px rgba(29,49,87,.14);
}
.tag-hero::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -145px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 48px rgba(255,255,255,.045), 0 0 0 104px rgba(255,255,255,.028);
    pointer-events: none;
}
.tag-hero-inner { display: flex; align-items: flex-start; gap: 24px; position: relative; z-index: 1; padding: 46px 52px; }
.tag-hero-icon {
    width: 58px; height: 58px; flex: none;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.23);
    border-radius: 18px; font-size: 1.45rem;
}
.tag-hero-copy { max-width: 840px; }
.tag-eyebrow, .tag-results-eyebrow { font-size: .74rem; font-weight: 800; letter-spacing: .17em; }
.tag-eyebrow { color: rgba(255,255,255,.8); }
.tag-hero-title { color: #fff; font-weight: 800; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.2; margin: 0 0 13px; overflow-wrap: anywhere; }
.tag-hero-description { color: rgba(255,255,255,.9); font-size: 1rem; line-height: 1.85; max-width: 830px; white-space: pre-line; }
.tag-hero-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tag-stat { display: inline-flex; gap: 9px; align-items: center; border-radius: 999px; padding: 9px 14px;
    background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.15); font-size: .82rem; color: #fff; }
.tag-hero-watermark { position: absolute; right: 84px; top: 10px; font-size: 220px; line-height: 1; font-weight: 900;
    color: rgba(255,255,255,.07); transform: rotate(-15deg); user-select: none; pointer-events: none; }
.tag-results-eyebrow { color: var(--tag-primary); }
.tag-results-title { color: #223047; font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 800; }
.tag-results-count { color: #5c697d; font-size: .9rem; background: white; border: 1px solid #e6ebf3; padding: 11px 17px; border-radius: 999px; }
.tag-results-count strong { color: var(--tag-ink); }
.tag-product-grid > [class*="col-"] { display: flex; min-width: 0; }
.tag-product-link { width: 100%; color: inherit; }
.tag-product-card { border: 1px solid #e8edf6 !important; border-radius: 22px !important;
    box-shadow: 0 12px 28px rgba(36,55,88,.07) !important; background: #fff !important; }
.tag-product-link:hover .tag-product-card { box-shadow: 0 20px 42px rgba(36,55,88,.14) !important; border-color: #d0dbea !important; }
.tag-product-card .product-card-heading { color: #24344b; }
.tag-product-card .product-card-content { padding: 2px 4px 6px; }
.tag-product-card .product-sale-price { color: #08745f !important; }
.tag-product-card .product-old-price { color: #637084 !important; }
.tag-sale-badge { position: absolute; z-index: 3; top: 10px; left: 10px; padding: 6px 12px; border-radius: 999px;
    font-size: .7rem; font-weight: 800; letter-spacing: .07em; background: #b32743; color: #fff;
    box-shadow: 0 6px 15px rgba(125,20,46,.15); }
.tag-product-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    align-self: stretch; margin: 8px 4px 2px; padding: 9px; border-radius: 12px;
    background: var(--tag-tint); color: var(--tag-primary); font-size: .8rem; font-weight: 750; }
.tag-product-link:hover .tag-product-cta { background: var(--tag-primary); color: white; }
.tag-empty-state, .tag-not-found { margin: 48px auto; padding: 65px 20px; max-width: 700px;
    border: 1px dashed #cbd5e5; border-radius: 24px; background: #fff; }
.tag-empty-icon { display: flex; align-items: center; justify-content: center; width: 68px; height: 68px;
    background: var(--tag-tint); color: var(--tag-primary); border-radius: 20px;
    font-size: 1.65rem; margin: 0 auto 22px; }
.tag-empty-state p, .tag-not-found p { color: #66758a; }
.tag-back-button { display: inline-block; text-decoration: none; font-weight: 750; padding: 12px 23px;
    color: #fff !important; background: var(--tag-primary); border-radius: 999px; margin-top: 10px; }
.tag-back-button:hover { opacity: .92; }
.tag-pagination .tag-page-link { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center;
    border-radius: 14px !important; border: 1px solid #e3e9f3; background: #fff; color: #344157;
    font-weight: 700; box-shadow: 0 4px 14px rgba(31,45,76,.05); }
.tag-pagination .tag-page-link:hover { border-color: var(--tag-primary); color: var(--tag-primary); background: var(--tag-tint); }
.tag-pagination .page-item.active .tag-page-link { color: #fff; background: var(--tag-primary); border-color: var(--tag-primary); }
.tag-pagination .page-item.disabled .tag-page-link { color: #94a0b1; background: #f8fafc; box-shadow: none; }
.tag-pagination .tag-page-nav { padding: 0 16px; }
.tag-pagination-caption { font-size: .84rem; color: #66758a; }
@media (max-width: 767.98px) {
    .tag-collection-page { padding-top: 18px; padding-bottom: 55px; }
    .tag-hero { border-radius: 22px; }
    .tag-hero-inner { padding: 29px 23px; gap: 15px; flex-direction: column; }
    .tag-hero-icon { width: 48px; height: 48px; border-radius: 14px; }
    .tag-hero-watermark { right: 8px; top: 24px; font-size: 150px; }
    .tag-hero-description { font-size: .91rem; }
    .tag-hero-stats { margin-top: 18px; }
    .tag-stat { font-size: .75rem; }
    .tag-product-card .product-card-heading { font-size: .81rem; }
    .tag-product-cta { font-size: .73rem; }
    .tag-pagination .tag-page-nav { padding: 0 11px; }
}
@media (prefers-reduced-motion: reduce) {
    .tag-collection-page .product-card-modern { transition: none; }
    .tag-collection-page .product-card-modern:hover { transform: none; }
}
