/* Final runtime overrides for stubborn Magento base rules. */

.catalog-category-view .products-grid .product-items > .product-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    justify-self: stretch !important;
}

.catalog-category-view .products-grid .product-item .product-item-info,
.catalog-category-view .page-products .products-grid .product-item-info,
.catalog-category-view .page-products .product-item-info {
    width: 100% !important;
    max-width: none !important;
}

/* Category pagination: Storybook-like circular pills and clean chevrons. */
.catalog-category-view .pages {
    margin-top: 44px !important;
}

.catalog-category-view .pages .pages-items {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.catalog-category-view .pages .item {
    margin: 0 !important;
}

.catalog-category-view .pages .item .label,
.catalog-category-view .pages .pages-label {
    display: none !important;
}

.catalog-category-view .pages .item > a,
.catalog-category-view .pages .item.current strong {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    border: 2px solid var(--a-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: var(--a-font-body) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    color: var(--a-ink) !important;
    background: transparent !important;
}

.catalog-category-view .pages .item.current strong {
    background: var(--a-red) !important;
    border-color: var(--a-red) !important;
    color: var(--a-cream) !important;
}

.catalog-category-view .pages .item.pages-item-previous .action,
.catalog-category-view .pages .item.pages-item-next .action {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    position: relative !important;
}

.catalog-category-view .pages .item.pages-item-previous .action::before,
.catalog-category-view .pages .item.pages-item-next .action::before {
    font-family: var(--a-font-body) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    color: var(--a-ink) !important;
    position: static !important;
}

.catalog-category-view .pages .item.pages-item-previous .action::before {
    content: '‹' !important;
}

.catalog-category-view .pages .item.pages-item-next .action::before {
    content: '›' !important;
}

.catalog-category-view .pages .item.pages-item-ellipsis strong {
    font-size: 20px !important;
    letter-spacing: 1px !important;
}

/* PDP hard overrides: remove duplicated full-width description section. */
.catalog-product-view .page-main-description.product-full-width-section {
    display: none !important;
}

/* PDP review UX hard overrides for PageBuilder full-width layout. */
.catalog-product-view #reviews .review-add,
.catalog-product-view #reviews .review-form {
    max-width: 760px !important;
}

.catalog-product-view #reviews fieldset.review-fieldset,
.catalog-product-view #reviews .review-add fieldset,
.catalog-product-view #reviews .review-form fieldset {
    background: var(--a-paper) !important;
    border: 2px solid var(--a-ink) !important;
    border-radius: 20px !important;
    box-shadow: 5px 5px 0 0 var(--a-ink) !important;
    padding: 22px !important;
}

.catalog-product-view #reviews .review-legend {
    font-family: var(--a-font-display) !important;
    font-size: 40px !important;
    line-height: 1 !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 2px solid rgba(27, 42, 58, 0.14) !important;
}

.catalog-product-view #reviews .field .label {
    color: var(--a-red) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.catalog-product-view #reviews .field input,
.catalog-product-view #reviews .field textarea {
    border: 2px solid var(--a-ink) !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    background: #fff !important;
}

.catalog-product-view #reviews .field textarea {
    min-height: 120px !important;
}

/* Cart page rescue: keep global styles from blowing up cart UI. */
.checkout-cart-index h1.page-title,
.checkout-cart-index .page-title {
    font-size: 72px !important;
    line-height: 0.95 !important;
    margin-bottom: 28px !important;
}

.checkout-cart-index .cart-container {
    margin-top: 8px !important;
}

.checkout-cart-index .cart-summary {
    width: 320px !important;
    padding: 20px 18px !important;
    background: var(--a-paper) !important;
    border: 2px solid var(--a-ink) !important;
    border-radius: 20px !important;
    box-shadow: 5px 5px 0 0 var(--a-ink) !important;
}

.checkout-cart-index .cart-summary > .title strong {
    font-family: var(--a-font-display) !important;
    font-size: 64px !important;
    line-height: 0.92 !important;
    color: var(--a-ink) !important;
}

.checkout-cart-index .cart-summary .block .title strong,
.checkout-cart-index .cart-summary .block .title,
.checkout-cart-index .cart-summary .block .fieldset > .legend {
    font-family: var(--a-font-body) !important;
    font-size: 46px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    color: var(--a-ink) !important;
    margin: 0 !important;
}

.checkout-cart-index .cart-summary .totals .mark,
.checkout-cart-index .cart-summary .totals .amount,
.checkout-cart-index .cart-summary .totals strong,
.checkout-cart-index .cart-summary .totals .price {
    font-family: var(--a-font-body) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.checkout-cart-index .cart-summary .totals .amount .price {
    color: var(--a-red) !important;
    font-weight: 800 !important;
}

.checkout-cart-index .checkout.methods.items,
.checkout-cart-index .checkout-methods-items {
    margin-top: 14px !important;
}

.checkout-cart-index .checkout-methods-items .action.checkout,
.checkout-cart-index .checkout-methods-items .action.primary.checkout {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    height: auto !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
}

.checkout-cart-index .cart.table-wrapper .col.item .product-item-name,
.checkout-cart-index .cart.table-wrapper .col.item .product-item-name a {
    font-family: var(--a-font-display) !important;
    font-size: 30px !important;
    line-height: 1.02 !important;
    color: var(--a-ink) !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-photo {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.checkout-cart-index .cart.table-wrapper .item-actions td {
    padding-top: 10px !important;
}

.checkout-cart-index .cart.table-wrapper .item-actions .actions-toolbar {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
}

.checkout-cart-index .cart.table-wrapper .item-actions .action,
.checkout-cart-index .cart.table-wrapper .item-actions .action-edit,
.checkout-cart-index .cart.table-wrapper .item-actions .action-delete {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    padding: 0 14px !important;
    border: 2px solid var(--a-ink) !important;
    border-radius: 999px !important;
    background: var(--a-red) !important;
    color: var(--a-cream) !important;
    font-family: var(--a-font-body) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.checkout-cart-index .cart.main.actions .action {
    height: 48px !important;
    padding: 0 18px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.checkout-cart-index .cart.main.actions .action::before {
    font-size: 14px !important;
    line-height: 1 !important;
}

@media (max-width: 1024px) {
    .checkout-cart-index .cart-summary {
        width: 100% !important;
        float: none !important;
    }

    .checkout-cart-index .form.form-cart {
        width: 100% !important;
        float: none !important;
    }
}
