.alfa-catalog-main,
.alfa-single-product-page {
    overflow: clip;
}

.alfa-catalog-hero {
    position: relative;
    color: var(--alfa-white);
    background:
        radial-gradient(circle at 82% 16%, rgba(44, 143, 120, 0.28), transparent 22%),
        radial-gradient(circle at 12% 0%, rgba(31, 107, 147, 0.32), transparent 26%),
        linear-gradient(145deg, #091a29 0%, #0e2a43 54%, #17486d 100%);
}

.alfa-catalog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(10, 22, 35, 0.3));
    pointer-events: none;
}

.alfa-catalog-hero__inner {
    position: relative;
    z-index: 1;
    width: min(var(--alfa-shell-max), calc(100% - (var(--alfa-page-gutter) * 2)));
    margin-inline: auto;
    padding: clamp(88px, 10vw, 128px) 0 clamp(40px, 6vw, 64px);
    box-sizing: border-box;
}

.alfa-catalog-hero__layout,
.alfa-single-product-hero,
.alfa-single-product-content {
    gap: clamp(24px, 4vw, 42px);
}

.alfa-catalog-hero .alfa-display,
.alfa-catalog-hero h1,
.alfa-catalog-hero h2,
.alfa-catalog-hero h3,
.alfa-catalog-hero p,
.alfa-catalog-hero a,
.alfa-catalog-hero .wp-block-term-description {
    color: var(--alfa-white);
}

.alfa-catalog-hero .alfa-lead,
.alfa-catalog-hero .wp-block-term-description {
    max-width: 44rem;
    color: rgba(255, 255, 255, 0.82);
}

.alfa-catalog-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.alfa-catalog-metric {
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 26px 60px rgba(5, 15, 25, 0.18);
    backdrop-filter: blur(16px);
}

.alfa-catalog-metric strong {
    display: block;
    font-size: clamp(1.6rem, 2.4vw, 2.3rem);
    font-weight: 700;
    line-height: 1.05;
}

.alfa-catalog-metric span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
    font-weight: 600;
}

.alfa-catalog-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.alfa-catalog-chip {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 50px;
    padding: 11px 16px;
    box-sizing: border-box;
    max-width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--alfa-white) !important;
    font-size: 0.88rem;
    font-weight: 600;
    backdrop-filter: blur(14px);
}

.alfa-catalog-chip strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 30px;
    padding-inline: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.78rem;
    line-height: 1;
}

.alfa-catalog-chip.is-active,
.alfa-catalog-chip:hover {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.16);
    color: var(--alfa-white) !important;
    transform: translateY(-2px);
}

.alfa-catalog-shell {
    padding-top: clamp(44px, 6vw, 72px);
    padding-inline: var(--alfa-page-gutter);
}

.alfa-catalog-shell > .alignwide {
    width: min(var(--alfa-shell-max), 100%) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    box-sizing: border-box;
}

.alfa-catalog-toolbar {
    gap: 18px;
    margin-bottom: 26px;
}

.alfa-catalog-toolbar__note {
    max-width: 46rem;
    margin: 0;
    color: var(--alfa-slate);
}

.alfa-catalog-toolbar__controls {
    gap: 14px;
}

.woocommerce .wc-block-product-results-count,
.woocommerce .woocommerce-result-count {
    margin: 0;
    color: var(--alfa-slate);
    font-size: 0.88rem;
    font-weight: 600;
}

.woocommerce .wc-block-catalog-sorting select,
.woocommerce .woocommerce-ordering select {
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid var(--alfa-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--alfa-ink);
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    box-shadow: var(--alfa-shadow-soft);
}

.alfa-catalog-grid .wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.alfa-catalog-grid .wc-block-product {
    margin: 0 !important;
    display: flex;
    min-width: 0;
    width: auto !important;
    list-style: none;
}

.alfa-product-card-shell {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    width: 100%;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--alfa-line);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(44, 143, 120, 0.08), transparent 28%),
        rgba(255, 255, 255, 0.95);
    box-shadow: var(--alfa-shadow-soft);
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.alfa-catalog-grid .wc-block-product:hover .alfa-product-card-shell {
    transform: translateY(-4px);
    border-color: rgba(23, 72, 109, 0.18);
    box-shadow: 0 30px 75px rgba(11, 34, 53, 0.14);
}

.alfa-product-card-shell > *,
.alfa-single-product-summary > *,
.alfa-inline-links > *,
.alfa-product-content-shell > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.alfa-catalog-grid .wc-block-components-product-image {
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 12px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(244, 248, 251, 0.94), rgba(255, 255, 255, 0.96));
    box-sizing: border-box;
}

.alfa-catalog-grid .wc-block-components-product-image a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 4 / 5;
}

.alfa-catalog-grid .wc-block-components-product-image img,
.alfa-catalog-grid .wc-block-grid__product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: clamp(4px, 0.7vw, 10px);
    box-sizing: border-box;
    border-radius: 18px;
    transition: transform 260ms ease;
}

.woocommerce ul.products li.product img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    object-position: center;
    padding: clamp(4px, 0.7vw, 10px);
    box-sizing: border-box;
    border-radius: 18px;
    transition: transform 260ms ease;
}

.alfa-catalog-grid .wc-block-product:hover .wc-block-components-product-image img {
    transform: scale(1.02);
}

.alfa-product-card__terms {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 28px;
    margin: 0;
}

.alfa-product-card__terms a {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(23, 72, 109, 0.08);
    color: var(--alfa-primary);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
}

.alfa-product-card__title {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.34;
}

.alfa-product-card__title a {
    color: var(--alfa-ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.alfa-product-card__excerpt {
    margin: 0;
    flex: 1 1 auto;
}

.alfa-product-card__excerpt p,
.alfa-single-product__excerpt .wp-block-post-excerpt__excerpt {
    margin: 0;
    color: var(--alfa-slate);
}

.alfa-product-card__excerpt .wp-block-post-excerpt__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.alfa-product-card__link {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding-top: 4px;
    font-weight: 700;
}

.alfa-product-card__link::after {
    content: "->";
    margin-inline-start: 8px;
    transition: transform 180ms ease;
}

.alfa-product-card__link:hover::after {
    transform: translateX(4px);
}

.alfa-catalog-grid .wp-block-query-pagination {
    margin-top: 10px;
    gap: 10px;
}

.alfa-catalog-grid .wp-block-query-pagination a,
.alfa-catalog-grid .wp-block-query-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--alfa-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--alfa-ink);
    font-weight: 700;
    box-shadow: var(--alfa-shadow-soft);
}

.alfa-catalog-grid .wp-block-query-pagination .current {
    border-color: transparent;
    background: linear-gradient(135deg, var(--alfa-primary), var(--alfa-secondary));
    color: var(--alfa-white);
}

.alfa-single-product-shell {
    padding-top: clamp(52px, 7vw, 84px);
}

.alfa-single-product-shell .woocommerce-breadcrumb {
    margin-bottom: 14px;
}

.alfa-single-product-media {
    padding: 18px;
    border: 1px solid var(--alfa-line);
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(44, 143, 120, 0.1), transparent 28%),
        rgba(255, 255, 255, 0.95);
    box-shadow: var(--alfa-shadow-medium);
}

.alfa-single-product-media .woocommerce-product-gallery {
    margin: 0 !important;
}

.alfa-single-product-media .woocommerce-product-gallery__image img {
    border-radius: 24px;
}

.alfa-single-product-summary {
    display: grid;
    gap: 16px;
    align-content: start;
    min-width: 0;
}

.alfa-single-product__terms {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
}

.alfa-single-product__terms a {
    display: inline-flex;
    align-items: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(23, 72, 109, 0.08);
    color: var(--alfa-primary);
    font-size: 0.82rem;
    font-weight: 600;
}

.alfa-single-product__title {
    margin: 0;
    font-size: clamp(1.95rem, 2.9vw, 2.85rem);
    line-height: 1.08;
    text-wrap: balance;
    letter-spacing: -0.02em;
}

body.translatepress-ar .alfa-single-product__title,
body[dir="rtl"] .alfa-single-product__title,
html[dir="rtl"] .alfa-single-product__title {
    font-size: clamp(1.78rem, 2.5vw, 2.45rem);
    line-height: 1.16;
    letter-spacing: 0;
}

.alfa-single-product__excerpt {
    color: var(--alfa-slate);
}

.alfa-inline-links > p,
.alfa-single-product-summary > p {
    margin: 0 !important;
}

.alfa-product-summary-panel {
    padding: 20px 22px;
    border: 1px solid var(--alfa-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: var(--alfa-shadow-soft);
}

.alfa-product-summary-panel p {
    margin: 0;
}

/* ── Product specifications card (unified table) ── */
.alfa-single-product-meta-section {
    margin-top: clamp(24px, 3.5vw, 38px);
}

.alfa-product-specs-card {
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid var(--alfa-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--alfa-shadow-soft);
}

.alfa-product-specs-title {
    margin: 0 0 16px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--alfa-ink);
}

.alfa-product-specs-table {
    display: grid;
    gap: 0;
}

.alfa-spec-row {
    display: grid;
    grid-template-columns: minmax(140px, 22%) 1fr;
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid var(--alfa-line);
    align-items: baseline;
}

.alfa-spec-row:last-child {
    padding-bottom: 0;
}

.alfa-spec-label {
    color: var(--alfa-slate);
    font-size: 0.82rem;
    font-weight: 600;
}

.alfa-spec-value {
    color: var(--alfa-ink);
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.5;
}

.alfa-spec-row--links .alfa-spec-value {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.alfa-spec-link {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(23, 72, 109, 0.08);
    color: var(--alfa-primary);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 180ms ease;
}

.alfa-spec-link:hover {
    background: rgba(23, 72, 109, 0.14);
}

.alfa-spec-link::after {
    content: "\2192";
    margin-inline-start: 6px;
}

.alfa-product-content-shell {
    display: block;
    padding: 0 !important;
    margin-top: clamp(26px, 4vw, 42px);
    border: 1px solid var(--alfa-line);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(31, 107, 147, 0.08), transparent 28%),
        rgba(255, 255, 255, 0.96);
    box-shadow: var(--alfa-shadow-soft);
    overflow: hidden;
}

.alfa-product-content-shell__inner {
    display: grid;
    gap: 22px;
    width: 100%;
    padding:
        clamp(38px, 5vw, 56px)
        clamp(40px, 5vw, 60px)
        clamp(38px, 4.5vw, 48px);
    box-sizing: border-box;
}

.alfa-product-content-shell > *:first-child {
    margin-top: 0;
}

.alfa-product-content-shell .entry-content {
    display: grid;
    gap: 20px;
    margin: 0;
}

.alfa-product-content-shell .entry-content p,
.alfa-product-content-shell .entry-content ul,
.alfa-product-content-shell .entry-content ol,
.alfa-product-content-shell .entry-content h2,
.alfa-product-content-shell .entry-content h3,
.alfa-product-content-shell .entry-content h4 {
    margin: 0;
}

.alfa-product-content-shell .entry-content > :first-child {
    margin-top: 0;
}

.alfa-product-content-shell .entry-content > :last-child {
    margin-bottom: 0;
}

.alfa-product-content-shell .entry-content ul,
.alfa-product-content-shell .entry-content ol {
    display: grid;
    gap: 10px;
    padding-inline-start: clamp(24px, 2.2vw, 34px);
    margin-inline-start: 0;
}

.alfa-product-content-shell .entry-content h3 {
    margin-top: 12px;
}

@media (max-width: 782px) {
    .alfa-product-content-shell__inner {
        gap: 18px;
        padding: 26px 24px 28px;
    }
}

.alfa-single-product-support {
    display: grid;
    gap: 18px;
}

.woocommerce .single_add_to_cart_button,
.woocommerce .wc-block-components-product-button,
.woocommerce .wc-block-grid__product-add-to-cart,
.woocommerce .wc-block-components-product-sale-badge {
    display: none !important;
}

.woocommerce .wp-block-woocommerce-product-details {
    margin-top: 0;
}

.woocommerce .products,
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.woocommerce ul.alfa-product-archive-list,
.woocommerce-page ul.alfa-product-archive-list {
    gap: 28px;
    align-items: stretch;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: auto !important;
    float: none;
    margin: 0 !important;
    padding: 18px;
    border: 1px solid var(--alfa-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--alfa-shadow-soft);
}

.woocommerce ul.alfa-product-archive-list > li.product,
.woocommerce-page ul.alfa-product-archive-list > li.product {
    display: flex;
    align-items: stretch;
    padding: 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

.alfa-catalog-grid .wc-block-product-template__responsive.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1200px) {
    .alfa-catalog-grid .wc-block-product-template,
    .alfa-catalog-grid .wc-block-product-template__responsive.columns-3,
    .woocommerce .products,
    .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .alfa-catalog-hero__inner {
        padding-top: 108px;
    }

    .alfa-catalog-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 782px) {
    .alfa-catalog-grid .wc-block-product-template,
    .alfa-catalog-grid .wc-block-product-template__responsive.columns-3,
    .woocommerce .products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .alfa-catalog-metrics {
        grid-template-columns: 1fr;
    }

    .alfa-catalog-toolbar__controls,
    .alfa-catalog-chip-list {
        width: 100%;
    }

    .alfa-catalog-toolbar {
        gap: 14px;
    }

    .woocommerce .wc-block-catalog-sorting,
    .woocommerce .woocommerce-ordering {
        width: 100%;
    }

    .woocommerce .wc-block-catalog-sorting select,
    .woocommerce .woocommerce-ordering select {
        width: 100%;
    }

    .alfa-single-product-shell {
        padding-top: 34px;
    }

    .alfa-single-product__title {
        font-size: clamp(1.78rem, 5.6vw, 2.35rem);
    }

    body.translatepress-ar .alfa-single-product__title,
    body[dir="rtl"] .alfa-single-product__title,
    html[dir="rtl"] .alfa-single-product__title {
        font-size: clamp(1.68rem, 5.2vw, 2.15rem);
    }
}

@media (max-width: 640px) {
    .alfa-catalog-hero__inner {
        padding: 84px 0 30px;
    }

    .alfa-catalog-shell {
        padding-top: 34px;
    }

    .alfa-catalog-grid .wc-block-product-template,
    .alfa-catalog-grid .wc-block-product-template__responsive.columns-3,
    .woocommerce .products,
    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    .alfa-catalog-chip-list {
        flex-direction: column;
    }

    .alfa-catalog-chip {
        width: 100%;
    }

    .alfa-catalog-metric,
    .alfa-product-summary-panel {
        padding: 20px;
    }

    .alfa-product-card-shell,
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: 14px;
        border-radius: 20px;
    }

    .alfa-single-product-media {
        padding: 14px;
        border-radius: 24px;
    }

    .alfa-spec-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px 0;
    }

    .alfa-spec-label {
        font-size: 0.82rem;
    }

    .alfa-spec-value {
        font-size: 0.9rem;
    }

    .alfa-product-specs-card {
        padding: 18px;
    }

    .alfa-product-content-shell,
    .alfa-product-specs-card,
    .alfa-product-summary-panel {
        border-radius: 20px;
    }
}
