/* Extracted from index.php — page-specific layout only. Shared theme/navbar lives in store_theme.css. */

        .page-wrap {
            padding-top: 12px;
            padding-bottom: 16px;
        }

        .hero-card,
        .filter-card,
        .empty-card,
        .product-card {
            border: 1px solid rgba(7, 26, 52, .10);
            background: rgba(255, 255, 255, .92);
            box-shadow: var(--shadow);
            backdrop-filter: blur(10px);
        }

        .hero-card {
            border-radius: 26px;
            padding: 16px;
            overflow: hidden;
            position: relative;
        }

        .hero-card::before {
            content: "";
            position: absolute;
            right: -52px;
            top: -72px;
            width: 190px;
            height: 190px;
            border-radius: 999px;
            background: linear-gradient(135deg, rgba(255, 211, 107, .28), rgba(11, 36, 72, .08));
            pointer-events: none;
        }

        .hero-kicker {
            position: relative;
            z-index: 1;
            color: var(--muted);
            font-size: .78rem;
            font-weight: 1000;
        }

        .hero-title {
            position: relative;
            z-index: 1;
            margin: 3px 0 0;
            color: #0b2e63;
            font-size: 1.28rem;
            font-weight: 1000;
            line-height: 1.25;
        }

        .hero-sub {
            position: relative;
            z-index: 1;
            margin-top: 6px;
            color: var(--muted);
            font-weight: 800;
            font-size: .90rem;
        }

        .gold-mini {
            margin-top: 10px;
            padding: 9px 12px;
            border-radius: 17px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            background:
                radial-gradient(420px 120px at 8% -50px, rgba(255, 255, 255, .62), transparent 60%),
                linear-gradient(135deg, rgba(255, 246, 201, .96), rgba(255, 211, 107, .38));
            border: 1px solid rgba(215, 164, 35, .20);
            box-shadow: 0 8px 18px rgba(167, 119, 6, .08);
            overflow: hidden;
        }

        .gold-main {
            display: flex;
            align-items: center;
            gap: 7px;
            min-width: 0;
            flex: 0 0 auto;
        }

        .gold-dot {
            width: 8px;
            height: 8px;
            border-radius: 999px;
            background: #16803a;
            box-shadow: 0 0 0 3px rgba(22, 128, 58, .12);
            flex: 0 0 auto;
        }

        .gold-label {
            color: #705000;
            font-weight: 900;
            font-size: .72rem;
        }

        #goldDisplay {
            color: #3b2800;
            font-weight: 1000;
            font-size: 1rem;
            white-space: nowrap;
        }

        .gold-ticker {
            position: relative;
            flex: 1 1 auto;
            min-width: 0;
            height: 34px;
            display: flex;
            align-items: center;
            overflow: hidden;
            border-radius: 999px;
            background: rgba(255, 255, 255, .42);
            border: 1px solid rgba(215, 164, 35, .14);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42);
            -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
        }

        .gold-ticker-track {
            display: inline-flex;
            align-items: center;
            gap: 42px;
            min-width: max-content;
            padding-left: 18px;
            animation: goldTicker 10s linear infinite;
            will-change: transform;
        }

        .gold-ticker:hover .gold-ticker-track {
            animation-play-state: paused;
        }

        .gold-ticker-text {
            white-space: nowrap;
            color: #705000;
            font-weight: 1000;
            font-size: .78rem;
            letter-spacing: .03em;
        }

        @keyframes goldTicker {
            from {
                transform: translateX(0);
            }

            to {
                transform: translateX(-50%);
            }
        }

        .filter-card {
            margin-top: 10px;
            border-radius: 22px;
            padding: 12px;
        }

        .form-label {
            margin-bottom: 5px;
            color: #183a9e;
            font-weight: 1000;
            font-size: .80rem;
        }

        .form-control,
        .form-select {
            min-height: 44px;
            border-radius: 15px;
            border: 1px solid rgba(11, 36, 72, .15);
            color: var(--ink);
            font-weight: 800;
            background-color: #fff;
        }

        .form-control:focus,
        .form-select:focus {
            border-color: rgba(215, 164, 35, .78);
            box-shadow: var(--ring);
        }

        .btn-clear {
            min-height: 44px;
            border-radius: 999px;
            font-weight: 1000;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
        }

        .btn-clear {
            color: #0b2e63;
            background: #fff;
            border: 1px solid rgba(11, 36, 72, .16);
        }

        .list-head {
            margin: 14px 0 10px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
        }

        .list-title {
            color: #0b2e63;
            font-size: 1rem;
            font-weight: 1000;
        }

        .count-pill {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            padding: 8px 12px;
            border-radius: 999px;
            background: #fff;
            border: 1px solid rgba(7, 26, 52, .10);
            color: #7a5a00;
            font-weight: 1000;
            box-shadow: 0 10px 24px rgba(10, 25, 60, .08);
        }

        .product-grid {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 10px;
        }

        .product-card {
            border-radius: 22px;
            overflow: hidden;
        }

        .product-card.is-silver-frame {
            background:
                radial-gradient(360px 120px at 85% -35px, rgba(206, 212, 218, .36), transparent 64%),
                rgba(255, 255, 255, .96);
        }

        .product-card.is-clasp {
            background:
                radial-gradient(360px 120px at 86% -38px, rgba(255, 211, 107, .34), transparent 66%),
                radial-gradient(320px 120px at 0% 0%, rgba(255, 153, 64, .12), transparent 58%),
                rgba(255, 255, 255, .96);
        }

        .product-card.is-necklace {
            background:
                radial-gradient(360px 120px at 86% -38px, rgba(255, 211, 107, .34), transparent 66%),
                radial-gradient(320px 120px at 0% 0%, rgba(111, 66, 193, .12), transparent 58%),
                rgba(255, 255, 255, .96);
        }

        .product-img-wrap {
            position: relative;
            aspect-ratio: 1 / 1;
            background: #eef2f7;
            overflow: hidden;
        }



        .product-img-link {
            display: block;
            color: inherit;
            text-decoration: none;
            cursor: pointer;
        }

        .product-img-link:focus-visible {
            outline: none;
            box-shadow: var(--ring);
        }

        .product-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform .18s ease;
        }

        .product-card:hover .product-img {
            transform: scale(1.025);
        }

        .product-img-empty {
            width: 100%;
            height: 100%;
            display: grid;
            place-items: center;
            color: #98a2b3;
            font-size: 2.2rem;
        }

        .type-badge {
            position: absolute;
            left: 10px;
            top: 10px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 5px 9px;
            border-radius: 999px;
            font-weight: 1000;
            font-size: .76rem;
            color: #3b2800;
            background: linear-gradient(135deg, rgba(255, 246, 201, .96), rgba(255, 211, 107, .82));
            border: 1px solid rgba(215, 164, 35, .20);
        }

        .type-icon-wrap {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }

        .type-icon-img {
            width: 18px;
            height: 18px;
            display: block;
            object-fit: contain;
        }

        .type-icon-emoji {
            line-height: 1;
            display: inline-block;
        }

        .rotation-badge {
            position: absolute;
            right: 10px;
            top: 10px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 5px 9px;
            border-radius: 999px;
            font-weight: 1000;
            font-size: .75rem;
            color: #3b2800;
            background: linear-gradient(135deg, rgba(255, 246, 201, .97), rgba(255, 188, 89, .86));
            border: 1px solid rgba(215, 132, 0, .24);
            box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
            max-width: calc(100% - 20px);
            white-space: nowrap;
        }

        .rotation-badge.is-rotating {
            color: #064e3b;
            background: linear-gradient(135deg, rgba(236, 253, 245, .98), rgba(153, 246, 228, .86));
            border-color: rgba(13, 148, 136, .24);
        }

        .rotation-badge.is-fixed {
            color: #881337;
            background: linear-gradient(135deg, rgba(255, 241, 242, .98), rgba(254, 205, 211, .88));
            border-color: rgba(190, 18, 60, .24);
        }

        .stock-badge {
            position: absolute;
            right: 10px;
            bottom: 10px;
            display: inline-flex;
            align-items: center;
            padding: 5px 9px;
            border-radius: 999px;
            color: #fff;
            background: rgba(22, 128, 58, .92);
            font-weight: 1000;
            font-size: .74rem;
            box-shadow: 0 8px 18px rgba(0, 0, 0, .14);
        }

        .product-body {
            padding: 10px;
        }

        .product-code {
            color: var(--muted);
            font-size: .74rem;
            font-weight: 900;
            margin-bottom: 4px;
        }

        .product-name {
            margin: 0;
            color: #0b2e63;
            font-weight: 1000;
            font-size: .88rem;
            line-height: 1.22;
            min-height: 2.15em;
            max-height: 2.44em;
            text-decoration: none;
            overflow: hidden;
        }

        .product-meta {
            margin-top: 8px;
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .meta-chip {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 4px 8px;
            border-radius: 999px;
            background: #f8fbff;
            border: 1px solid rgba(7, 26, 52, .08);
            color: var(--muted);
            font-size: .74rem;
            font-weight: 800;
        }

        .price-box {
            margin-top: 10px;
            padding: 10px 12px;
            border-radius: 17px;
            background: linear-gradient(135deg, rgba(255, 246, 201, .94), rgba(255, 211, 107, .40));
            border: 1px solid rgba(215, 164, 35, .18);
        }

        .price-label {
            color: #705000;
            font-size: .72rem;
            font-weight: 1000;
        }

        .price-value {
            color: #3b2800;
            font-size: .92rem;
            font-weight: 1000;
            line-height: 1.2;
        }

        .price-formula {
            display: none !important;
            color: #705000;
            font-size: .64rem;
            font-weight: 900;
            margin-top: 3px;
        }

        .product-actions {
            margin-top: 10px;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
        }

        .btn-card {
            min-height: 34px;
            border-radius: 999px;
            font-weight: 1000;
            font-size: .74rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            white-space: nowrap;
        }

        .btn-share-card {
            color: #0b2e63;
            background: linear-gradient(180deg, #ffffff, #eef5ff);
            border: 1px solid rgba(11, 36, 72, .16);
        }

        .btn-share-card:hover,
        .btn-share-card:focus {
            color: #0b2e63;
            background: linear-gradient(180deg, #fffdf4, #fff0bd);
            border-color: rgba(215, 164, 35, .42);
        }

        .share-page-actions {
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
            gap: 8px;
            flex-wrap: wrap;
        }

        .btn-share-page {
            min-height: 40px;
            border-radius: 999px;
            padding: 0 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            color: #1a1200;
            font-weight: 1000;
            white-space: nowrap;
            background: linear-gradient(135deg, var(--goldA), var(--goldB), var(--goldD));
            border: 1px solid rgba(255, 246, 201, .45);
            box-shadow: 0 10px 24px rgba(167, 119, 6, .12);
        }

        .btn-share-page:hover,
        .btn-share-page:focus {
            color: #1a1200;
            background: linear-gradient(135deg, #fffdf4, #ffe08a, #c58c0b);
            border-color: rgba(215, 164, 35, .52);
        }

        .empty-card {
            border-radius: 22px;
            border: 1px dashed rgba(7, 26, 52, .18);
            padding: 24px 16px;
            text-align: center;
            color: var(--muted);
            font-weight: 900;
        }

        .pagination .page-link {
            border-radius: 12px !important;
            margin: 0 2px;
            color: #0b2e63;
            font-weight: 900;
            border-color: rgba(7, 26, 52, .12);
        }

        .pagination .page-item.active .page-link {
            background: #0b2448;
            border-color: #0b2448;
            color: #fff;
        }

        .store-footer {
            border-top: 1px solid rgba(7, 26, 52, .08);
            background: rgba(255, 255, 255, .82);
            backdrop-filter: blur(10px);
            padding: 14px 0;
            margin-top: 16px;
        }

        .footer-pill {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            padding: 8px 12px;
            border-radius: 999px;
            border: 1px solid rgba(7, 26, 52, .10);
            background: #fff;
            color: var(--success);
            font-weight: 1000;
            font-size: .76rem;
        }

        @media (max-width: 1199.98px) {
            .product-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }

        @media (max-width: 991.98px) {
            .product-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 575.98px) {
.page-wrap {
                padding-left: 8px;
                padding-right: 8px;
            }

            .list-head {
                align-items: stretch;
            }

            .share-page-actions {
                width: 100%;
                justify-content: space-between;
            }

            .btn-share-page {
                flex: 1 1 auto;
                min-height: 38px;
                padding: 0 12px;
                font-size: .78rem;
            }

            .hero-card,
            .filter-card {
                border-radius: 16px;
                padding: 10px;
            }

            .hero-title {
                font-size: 1rem;
            }

            .hero-sub {
                font-size: .76rem;
            }

            .gold-mini {
                align-items: stretch;
                flex-direction: column;
                gap: 6px;
                border-radius: 14px;
                padding: 8px 9px;
            }

            .gold-main {
                width: 100%;
            }

            .gold-ticker {
                width: 100%;
                height: 30px;
            }

            .gold-ticker-text {
                font-size: .68rem;
            }

            .form-control,
            .form-select,
            .btn-clear {
                min-height: 38px;
                border-radius: 12px;
                font-size: .84rem;
            }

            .form-label {
                font-size: .68rem;
            }

            .product-grid {
                grid-template-columns: 1fr;
                gap: 8px;
            }

            .product-card {
                display: grid;
                grid-template-columns: 180px minmax(0, 1fr);
                border-radius: 16px;
                min-height: 180px;
            }

            .product-img-wrap {
                aspect-ratio: auto;
                height: 100%;
                min-height: 180px;
            }

            .type-badge,
            .rotation-badge,
            .stock-badge {
                padding: 3px 6px;
                font-size: .54rem;
            }

            .product-body {
                padding: 8px;
                min-width: 0;
            }

            .product-code {
                font-size: .60rem;
            }

            .product-name {
                font-size: .82rem;
            }

            .meta-chip {
                padding: 2px 5px;
                font-size: .58rem;
            }

            .price-box {
                margin-top: 6px;
                padding: 7px 8px;
                border-radius: 12px;
            }

            .price-label {
                font-size: .58rem;
            }

            .price-value {
                font-size: .80rem;
            }

            .price-formula {
                font-size: .54rem;
            }

            .product-actions {
                margin-top: 6px;
                gap: 5px;
            }

            .btn-card {
                min-height: 30px;
                font-size: .62rem;
                padding-left: .35rem;
                padding-right: .35rem;
            }
        }

        @media (max-width: 575.98px) {

            .type-icon-wrap,
            .type-icon-img {
                width: 14px;
                height: 14px;
            }

            .gold-ticker-track {
                animation-duration: 8s;
            }
        }

/* Used clip / clasp-derived product card */
.product-card.is-clip-used {
    background:
        radial-gradient(360px 120px at 86% -38px, rgba(255, 211, 107, .30), transparent 66%),
        radial-gradient(320px 120px at 0% 0%, rgba(47, 115, 214, .12), transparent 58%),
        rgba(255, 255, 255, .96);
}

.product-card.is-clip-used .type-badge {
    color: #16396d;
    background: linear-gradient(135deg, rgba(239, 247, 255, .97), rgba(214, 232, 255, .92));
    border-color: rgba(47, 115, 214, .18);
}
