.pa-product-catalog {
    --pa-cyan: #25ccdd;
    --pa-line: rgba(92, 224, 236, 0.22);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 34px max(clamp(22px, 4vw, 72px), calc((100vw - 1480px) / 2)) 70px;
    background: #05090c;
    color: #fff;
    font-family: Inter, Arial, sans-serif;
}

.pa-catalog-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: clamp(40px, 8vw, 140px);
    align-items: end;
    padding: 52px 0 48px;
}

.pa-catalog-heading small {
    display: block;
    margin-bottom: 16px;
    color: #899ba3;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.pa-catalog-heading h1 {
    margin: 0 !important;
    color: #fff !important;
    font-family: Impact, "Arial Narrow", sans-serif !important;
    font-size: clamp(62px, 8.2vw, 132px) !important;
    font-weight: 900 !important;
    letter-spacing: -.045em !important;
    line-height: .76 !important;
    text-transform: uppercase;
}

.pa-catalog-heading h1 span {
    color: #5bd9e6;
    text-shadow: 0 0 10px rgba(91,217,230,.45), 0 0 30px rgba(38,204,220,.18);
}

.pa-catalog-heading p {
    max-width: 430px;
    margin: 0 0 8px !important;
    color: #a8b2b7 !important;
    font-size: 16px;
    line-height: 1.55;
}

.pa-catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
    gap: 28px;
    align-items: center;
    margin-bottom: 28px;
}

.pa-catalog-filters {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.pa-catalog-filters button {
    flex: none;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid var(--pa-line);
    border-radius: 0;
    background: transparent;
    color: #9aaab0;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.pa-catalog-filters button span { margin-left: 6px; color: #6c7c82; }
.pa-catalog-filters button.is-active,
.pa-catalog-filters button:hover { border-color: var(--pa-cyan); background: var(--pa-cyan); color: #031014; }
.pa-catalog-filters button.is-active span,
.pa-catalog-filters button:hover span { color: #07515a; }

.pa-catalog-search {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    border-bottom: 1px solid #59676c;
    color: #fff;
}

.pa-catalog-search input {
    width: 100%;
    border: 0 !important;
    outline: 0;
    background: transparent !important;
    color: #fff !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.pa-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.pa-catalog-card {
    overflow: hidden;
    border: 1px solid var(--pa-line);
    border-radius: 5px;
    background: #071015;
    opacity: 1;
    transform: none;
    transition: opacity .65s ease var(--pa-card-delay), transform .65s ease var(--pa-card-delay), border-color .3s ease, box-shadow .3s ease;
}

.pa-product-catalog.is-enhanced .pa-catalog-card:not(.is-visible) { opacity: 0; transform: translateY(24px); }
.pa-catalog-card.is-visible { opacity: 1; transform: translateY(0); }
.pa-catalog-card:hover { border-color: #5de8f3; box-shadow: 0 0 26px rgba(37, 204, 221, .15); transform: translateY(-4px); }
.pa-catalog-card[hidden] { display: none !important; }

.pa-card-image {
    position: relative;
    display: block;
    aspect-ratio: 1.32 / 1;
    overflow: hidden;
    background: radial-gradient(circle, #17242b, #071015 70%);
}

.pa-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(3, 10, 13, .32), transparent 48%);
    pointer-events: none;
}

.pa-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.7,.2,1);
}

.pa-catalog-card:hover .pa-card-image img { transform: scale(1.055); }

.pa-card-category {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 7px 9px;
    border: 1px solid rgba(62, 229, 242, .5);
    background: rgba(3, 13, 17, .86);
    color: #57e4ef;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pa-card-image i {
    --pa-arrow-size: 17px;
    --pa-arrow-inset: 11px;
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 3px solid #79ebf4;
    background: var(--pa-cyan);
    color: #031014;
    font-size: 0;
    font-style: normal;
    font-weight: 900;
    box-shadow: 0 0 18px rgba(37, 204, 221, .3);
    transition: transform .3s ease;
}

.pa-catalog-card:hover .pa-card-image i { transform: translate(2px, -2px); }

.pa-card-info { padding: 22px 20px 20px; }
.pa-card-stock { color: #f07b7b; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.pa-card-stock::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.pa-card-stock.is-stock { color: #58e7ba; }

.pa-card-info h3 { min-height: 56px; margin: 12px 0 14px !important; color: #fff !important; font-size: clamp(21px, 1.6vw, 27px) !important; font-weight: 900 !important; line-height: 1.05 !important; }
.pa-card-info h3 a { color: #fff !important; }

.pa-card-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; margin: 0 0 18px; }
.pa-card-specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin: 0; }
.pa-card-specs div { min-width: 0; }
.pa-card-specs dt { color: #65767d; font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.pa-card-specs dd { margin: 4px 0 0; overflow-wrap: anywhere; color: #dce6e8; font-size: 12px; font-weight: 800; }
.pa-card-specs-empty { min-height: 42px; }

.pa-card-share {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px;
    overflow: hidden;
    border: 1px solid rgba(37, 204, 221, .62) !important;
    border-radius: 0 !important;
    background: rgba(37, 204, 221, .07) !important;
    color: #5ce5ef !important;
    font-family: Inter, Arial, sans-serif;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.pa-card-share::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

.pa-card-share svg { width: 17px; height: 17px; overflow: visible; fill: #071015; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pa-card-share span { position: relative; z-index: 1; }
.pa-card-share:hover,
.pa-card-share:focus-visible { border-color: var(--pa-cyan) !important; background: var(--pa-cyan) !important; color: #031014 !important; box-shadow: 0 0 20px rgba(37, 204, 221, .25); transform: translateY(-2px); }
.pa-card-share.is-shared::before { animation: pa-card-share-wave .65s ease-out; }

@keyframes pa-card-share-wave {
    0% { opacity: .85; transform: scale(.7); }
    100% { opacity: 0; transform: scale(4.2); }
}

.pa-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 55px; padding-top: 15px; border-top: 1px solid var(--pa-line); }
.pa-card-bottom strong { color: #58e4ee; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.pa-card-bottom strong .amount { color: inherit !important; }
.pa-card-add { display: grid !important; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; background: var(--pa-cyan); color: #031014 !important; font-size: 20px; font-weight: 900; }

.pa-catalog-empty { padding: 50px 0; color: #829198 !important; text-align: center; }
.pa-share-toast {
    position: fixed;
    left: 50%;
    bottom: 26px;
    z-index: 100020;
    max-width: calc(100vw - 40px);
    padding: 12px 18px;
    border: 1px solid var(--pa-cyan);
    background: #061116;
    color: #e8fdff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 18px);
    transition: opacity .25s ease, transform .25s ease;
}
.pa-share-toast:empty { display: none; }
.pa-share-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

body .et-l--body .et_pb_section:has(.pa-product-catalog),
body .et-l--body .et_pb_row:has(.pa-product-catalog) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #05090c !important;
}
body .et-l--body .et_pb_module:has(.pa-product-catalog) { margin: 0 !important; }

@media (max-width: 980px) {
    .pa-catalog-heading { grid-template-columns: 1fr; gap: 24px; padding-top: 40px; }
    .pa-catalog-toolbar { grid-template-columns: 1fr; }
    .pa-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .pa-product-catalog { padding: 24px 15px 55px; }
    .pa-catalog-heading { padding: 24px 0 34px; }
    .pa-catalog-heading h1 { font-size: clamp(51px, 18vw, 78px) !important; }
    .pa-catalog-heading p { font-size: 13px; }
    .pa-catalog-grid { grid-template-columns: 1fr; gap: 12px; }
    .pa-card-image { aspect-ratio: 1.38 / 1; }
    .pa-card-share { min-width: 108px; }
}

@media (prefers-reduced-motion: reduce) {
    .pa-catalog-card { opacity: 1; transform: none; transition: none; }
    .pa-card-image img, .pa-card-image i { transition: none; }
}
