/*
 * CouponsHaven - Shared Offer Card Styles
 * Applies to Featured Offers, Latest Coupons, Latest Deals and other
 * pages that use the .latest-visual-card markup.
 *
 * Include this file after the site's main stylesheet.
 */

.featured-offers-section .coupons-grid.latest-compact-grid,
.latest-offers-section .coupons-grid.latest-compact-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px;
    align-items: stretch;
}

.latest-visual-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 360px;
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dfe4eb;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
    box-sizing: border-box;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.latest-visual-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .09);
    transform: translateY(-2px);
}

.latest-card-visual {
    position: relative;
    display: flex;
    flex: 0 0 145px;
    align-items: center;
    justify-content: center;
    height: 145px;
    min-height: 145px;
    margin: 0;
    padding: 27px 14px 12px;
    border-bottom: 1px solid #edf0f4;
    background: #fff;
    box-sizing: border-box;
}

.latest-card-type {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 7px 16px 7px 12px;
    border-radius: 0 0 15px 0;
    background: #08234b;
    color: #fff;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .25px;
}

.latest-card-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-width: 0;
}

.latest-card-logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 82%;
    max-height: 82px;
    object-fit: contain;
}

.latest-card-logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #08234b;
    font-size: 30px;
    font-weight: 800;
}

.latest-card-discount {
    position: absolute;
    top: 9px;
    right: 9px;
    z-index: 2;
    max-width: calc(100% - 35px);
    padding: 6px 11px;
    border: 1px solid #ff6b1a;
    border-radius: 18px;
    background: #fff;
    color: #e94f0b;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;
}

.latest-card-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    gap: 7px;
    padding: 12px 13px 13px;
    box-sizing: border-box;
}

.latest-card-store-name {
    display: block;
    margin: 0;
    color: #596273;
    font-size: 10px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .35px;
    text-transform: uppercase;
    text-decoration: none;
}

.latest-visual-card .coupon-title {
    display: block;
    min-height: 0;
    margin: 0;
    overflow: visible;
    color: #182235;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.latest-visual-card .coupon-title a {
    color: inherit;
    text-decoration: none;
}

.latest-visual-card .coupon-title a:hover {
    color: #ea580c;
}

.latest-visual-card .coupon-meta {
    margin: 0;
    color: #778194;
    font-size: 10px;
    line-height: 1.35;
}

.latest-visual-card .coupon-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 43px;
    margin-top: auto;
    padding: 0 10px;
    overflow: hidden;
    border: 1px solid #ff641b;
    border-radius: 8px;
    background: #fff;
    color: #f05a18;
    font: inherit;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: background .2s ease, color .2s ease;
}

.latest-visual-card .coupon-button:hover {
    background: #fff7f1;
    color: #e94c0b;
}

/* Coupon action: simple full-width button; code is shown in the existing popup. */
.latest-visual-card .coupon-code-action {
    justify-content: center;
    padding: 0 10px;
    background: #f45a13;
    color: #fff;
    border-color: #f45a13;
}

.latest-visual-card .coupon-code-action:hover {
    background: #e94c0b;
    color: #fff;
}

.latest-visual-card .coupon-button-label {
    position: relative;
    z-index: 1;
    flex: 0 1 auto;
    text-align: center;
    white-space: nowrap;
}

.latest-visual-card .coupon-expiry-icon {
    display: inline-block;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    margin-right: 5px;
    vertical-align: -2px;
    fill: none;
    stroke: #f97316;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.latest-visual-card .coupon-meta {
    display: flex;
    align-items: center;
    gap: 4px;
}

.latest-visual-card .deal-action-button {
    justify-content: center;
    background: #fff;
    color: #f05a18;
}

.latest-visual-card .coupon-button-arrow {
    margin-left: 7px;
    font-size: 15px;
    line-height: 1;
}

/* Tablet */
@media (max-width: 1100px) {
    .featured-offers-section .coupons-grid.latest-compact-grid,
    .latest-offers-section .coupons-grid.latest-compact-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 760px) {
    .featured-offers-section .coupons-grid.latest-compact-grid,
    .latest-offers-section .coupons-grid.latest-compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }

    .latest-visual-card {
        min-height: 330px;
    }

    .latest-card-visual {
        flex-basis: 120px;
        height: 120px;
        min-height: 120px;
    }

    .latest-card-logo img {
        max-height: 70px;
    }

    .latest-card-content {
        padding: 10px;
        gap: 6px;
    }

    .latest-visual-card .coupon-title {
        min-height: 0;
        font-size: 12px;
    }

    .latest-visual-card .coupon-button {
        min-height: 40px;
        font-size: 10px;
    }
}

@media (max-width: 380px) {
    .latest-compact-grid {
        gap: 9px;
    }

    .latest-card-discount {
        top: 7px;
        right: 7px;
        padding: 5px 7px;
        font-size: 9px;
    }
}


/* Coupon code ticket detail: subtle peel edge, keeping the code readable. */
.latest-visual-card .coupon-code-action {
    justify-content: flex-start;
    padding: 0 0 0 10px;
    background: #f45a13;
    border-color: #f45a13;
    color: #fff;
}

.latest-visual-card .coupon-code-action:hover {
    background: #e94c0b;
    border-color: #e94c0b;
    color: #fff;
}

.latest-visual-card .coupon-code-action .coupon-button-label {
    flex: 1 1 auto;
    text-align: center;
    white-space: nowrap;
}

.latest-visual-card .coupon-peel-code {
    position: relative;
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-width: 0;
    max-width: 43%;
    margin-left: 7px;
    padding: 0 8px 0 11px;
    border-left: 1px dashed #f45a13;
    background: #fff7f1;
    color: #9a3412;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Small folded corner rather than the large paper-tear effect. */
.latest-visual-card .coupon-peel-code::before {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 9px;
    height: 100%;
    background: linear-gradient(135deg, #f45a13 0 48%, #f8d9c9 50% 66%, #fff7f1 68% 100%);
    opacity: .85;
}

.latest-visual-card .coupon-meta {
    display: flex;
    align-items: center;
    gap: 5px;
}

.latest-visual-card .coupon-expiry-icon {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    fill: none;
    stroke: #f97316;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 380px) {
    .latest-visual-card .coupon-peel-code {
        max-width: 38%;
        padding-right: 5px;
        font-size: 9px;
    }
}


/* Final coupon-code reveal: restrained folded corner with a clear value area. */
.latest-visual-card .coupon-code-action {
    justify-content: flex-start !important;
    padding: 0 !important;
    overflow: hidden;
    background: #f45a13 !important;
    border-color: #f45a13 !important;
    color: #fff !important;
}

.latest-visual-card .coupon-code-action .coupon-button-label {
    flex: 1 1 auto;
    padding: 0 8px;
    text-align: center;
    white-space: nowrap;
}

.latest-visual-card .coupon-peel-code {
    position: relative;
    flex: 0 0 auto;
    max-width: 42%;
    min-width: 54px;
    height: 100%;
    margin: 0;
    padding: 0 8px 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-left: 1px dashed rgba(244, 90, 19, .7);
    border-radius: 0;
    background: #fff7f1;
    color: #9a3412;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

/* Small folded tab at the top of the code area; no full-height tear. */
.latest-visual-card .coupon-peel-code::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 9px solid #f45a13;
    border-right: 9px solid transparent;
    opacity: .9;
}

/* Make the expiry date easy to notice without competing with the offer title. */
.latest-visual-card .coupon-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 1px 0 0;
    color: #d9480f !important;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
}

.latest-visual-card .coupon-expiry-icon {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    margin: 0;
    fill: none;
    stroke: #f97316;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Best Offers page uses the same shared four-column offer-card grid. */
.best-offers-page .best-offers-visual-grid.latest-compact-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px;
    align-items: stretch;
}

@media (max-width: 1100px) {
    .best-offers-page .best-offers-visual-grid.latest-compact-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .best-offers-page .best-offers-visual-grid.latest-compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }
}


/* Best Offers only: allow longer coupon labels to fit in the value tab.
   Homepage sizing remains unchanged. */
.best-offers-page .latest-visual-card .coupon-peel-code {
    max-width: 50%;
    min-width: 68px;
    padding-left: 10px;
    padding-right: 7px;
    font-size: 9px;
    letter-spacing: -0.1px;
}

.best-offers-page .latest-visual-card .coupon-code-action .coupon-button-label {
    padding-left: 6px;
    padding-right: 6px;
    font-size: 11px;
}

@media (max-width: 380px) {
    .best-offers-page .latest-visual-card .coupon-peel-code {
        max-width: 48%;
        min-width: 58px;
        padding-left: 7px;
        padding-right: 5px;
        font-size: 8px;
    }
}

/* =========================================================
   Unified card layout for Best Offers, Brand, Category and
   Store pages. Loaded last by includes/header.php.
   Homepage rules above remain unchanged.
   ========================================================= */

/* Shared 4 / 3 / 2 responsive grids */
.best-offers-page .best-offers-visual-grid,
.brand-page-main .brand-offers-list,
.store-page-main .store-offers-list,
.category-offers-section .deals-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100%;
}

/* Keep every variant at a consistent card footprint. */
.store-page-main .store-offer-card,
.brand-page-main .brand-offer-card,
.category-offers-section .category-offer-card,
.best-offers-page .best-offer-visual-card {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 360px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe4eb !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .045) !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.store-page-main .store-offer-card:hover,
.brand-page-main .brand-offer-card:hover,
.category-offers-section .category-offer-card:hover,
.best-offers-page .best-offer-visual-card:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .09) !important;
    transform: translateY(-2px);
}

/* Store cards: convert the old horizontal row into a compact card. */
.store-page-main .store-offer-card {
    gap: 0 !important;
}

.store-page-main .store-offer-card > .store-offer-discount {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 3 !important;
    width: auto !important;
    max-width: calc(100% - 20px) !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border: 1px solid #ff6b1a !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #e94f0b !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.store-page-main .store-offer-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    gap: 9px !important;
    padding: 18px 14px 8px !important;
    box-sizing: border-box !important;
}

.store-page-main .store-offer-labels {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
    padding-right: 0 !important;
}

.store-page-main .store-offer-content h3 {
    display: -webkit-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.store-page-main .store-offer-meta {
    margin-top: auto !important;
    padding-top: 5px !important;
    color: #d9480f !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.store-page-main .store-offer-action {
    display: flex !important;
    width: 100% !important;
    margin-top: auto !important;
    padding: 10px 13px 13px !important;
    box-sizing: border-box !important;
}

.store-page-main .store-show-code-button,
.brand-page-main .store-show-code-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #f45a13 !important;
    border-radius: 8px !important;
    background: #f45a13 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    cursor: pointer;
}

/* Brand cards: retain the store logo/link and "view all" link. */
.brand-page-main .brand-offer-card {
    gap: 0 !important;
}

.brand-page-main .brand-offer-card-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 11px 11px 0 !important;
    box-sizing: border-box !important;
}

.brand-page-main .brand-offer-card-top .store-offer-labels {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    min-width: 0 !important;
}

.brand-page-main .brand-offer-card-top .store-offer-discount {
    flex: 0 0 auto !important;
    max-width: 48% !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    border: 1px solid #ff6b1a !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.brand-page-main .brand-offer-store {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 112px !important;
    margin: 0 12px !important;
    padding: 8px !important;
    border-bottom: 1px solid #edf0f4 !important;
    color: inherit !important;
    text-align: center !important;
    text-decoration: none !important;
}

.brand-page-main .brand-offer-store-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 66px !important;
    min-height: 66px !important;
}

.brand-page-main .brand-offer-store-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 62px !important;
    object-fit: contain !important;
}

.brand-page-main .brand-offer-store-name {
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .3px !important;
    text-transform: uppercase !important;
}

.brand-page-main .brand-offer-card-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding: 11px 13px 7px !important;
}

.brand-page-main .brand-offer-card-content h3 {
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.brand-page-main .brand-offer-card-content .store-offer-meta {
    margin-top: auto !important;
    color: #d9480f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.brand-page-main .brand-offer-card-action {
    margin-top: auto !important;
    padding: 8px 13px 9px !important;
}

.brand-page-main .brand-offer-store-link {
    display: block !important;
    margin: 0 12px 11px !important;
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.brand-page-main .brand-offer-store-link:hover {
    color: #ea580c !important;
}

/* Category cards: use the same logo / title / expiry / action rhythm. */
.category-offers-section .category-offer-card {
    gap: 0 !important;
}

.category-offers-section .category-offer-card .deal-card-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 11px 11px 0 !important;
    box-sizing: border-box !important;
}

.category-offers-section .category-offer-card .deal-card-header > div:first-child {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
}

.category-offers-section .category-offer-card .deal-type {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 5px !important;
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.category-offers-section .category-offer-card .deal-discount {
    flex: 0 0 auto !important;
    max-width: 48% !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    border: 1px solid #ff6b1a !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.category-offers-section .category-offer-card .deal-store {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 112px !important;
    margin: 0 12px !important;
    padding: 8px !important;
    border-bottom: 1px solid #edf0f4 !important;
}

.category-offers-section .category-offer-card .deal-store-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 66px !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.category-offers-section .category-offer-card .deal-store-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 62px !important;
    object-fit: contain !important;
}

.category-offers-section .category-offer-card .deal-store-name {
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .3px !important;
    text-transform: uppercase !important;
}

.category-offers-section .category-offer-card .deal-title {
    display: -webkit-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 11px 13px 0 !important;
    overflow: hidden !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.category-offers-section .category-offer-card .deal-description {
    display: none !important;
}

.category-offers-section .category-offer-card .deal-meta {
    min-height: 28px !important;
    margin: auto 0 0 !important;
    padding: 8px 13px 0 !important;
    color: #d9480f !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.category-offers-section .category-offer-card .deal-card-action {
    margin-top: auto !important;
    padding: 8px 13px 13px !important;
}

.category-offers-section .category-offer-card .deal-get-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #f45a13 !important;
    border-radius: 8px !important;
    background: #f45a13 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

/* Best Offers cards already use the Homepage visual structure. */
.best-offers-page .best-offer-visual-card {
    min-height: 360px !important;
}

/* Tablet: three cards per row. */
@media (max-width: 1100px) {
    .best-offers-page .best-offers-visual-grid,
    .brand-page-main .brand-offers-list,
    .store-page-main .store-offers-list,
    .category-offers-section .deals-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile: two cards per row, including narrow phones. */
@media (max-width: 760px) {
    .best-offers-page .best-offers-visual-grid,
    .brand-page-main .brand-offers-list,
    .store-page-main .store-offers-list,
    .category-offers-section .deals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .store-page-main .store-offer-card,
    .brand-page-main .brand-offer-card,
    .category-offers-section .category-offer-card,
    .best-offers-page .best-offer-visual-card {
        min-height: 330px !important;
    }

    .store-page-main .store-offer-content {
        gap: 7px !important;
        padding: 16px 10px 7px !important;
    }

    .store-page-main .store-offer-content h3,
    .brand-page-main .brand-offer-card-content h3,
    .category-offers-section .category-offer-card .deal-title {
        font-size: 12px !important;
    }

    .brand-page-main .brand-offer-card-top,
    .category-offers-section .category-offer-card .deal-card-header {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .brand-page-main .brand-offer-store,
    .category-offers-section .category-offer-card .deal-store {
        min-height: 100px !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    .brand-page-main .brand-offer-card-content {
        padding: 9px 10px 6px !important;
    }

    .brand-page-main .brand-offer-card-action,
    .store-page-main .store-offer-action,
    .category-offers-section .category-offer-card .deal-card-action {
        padding-left: 9px !important;
        padding-right: 9px !important;
    }

    .store-page-main .store-show-code-button,
    .brand-page-main .store-show-code-button,
    .category-offers-section .category-offer-card .deal-get-button {
        min-height: 40px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 380px) {
    .best-offers-page .best-offers-visual-grid,
    .brand-page-main .brand-offers-list,
    .store-page-main .store-offers-list,
    .category-offers-section .deals-grid {
        gap: 9px !important;
    }

    .brand-page-main .brand-offer-card-top .store-offer-labels,
    .category-offers-section .category-offer-card .deal-card-header > div:first-child {
        gap: 3px !important;
    }

    .store-page-main .store-offer-discount,
    .brand-page-main .brand-offer-card-top .store-offer-discount,
    .category-offers-section .category-offer-card .deal-discount {
        font-size: 9px !important;
        padding: 4px 6px !important;
    }
}


/* =========================================================
   Best Offers: match the compact Homepage card height.
   The Homepage card design is the visual reference.
   Keep the shared logo, content and action styling unchanged.
   ========================================================= */
.best-offers-page .best-offer-visual-card {
    min-height: 278px !important;
}


/* =========================================================
   Category cards: match the Homepage visual card structure.
   Preserve category-specific COUPON / DEAL, FEATURED and expiry
   labels while using the same compact card proportions.
   ========================================================= */

.category-offers-section .category-offer-card {
    min-height: 278px !important;
    height: 100% !important;
    gap: 0 !important;
}

/* Keep the category card's type/featured and discount badges
   positioned like the Homepage badges. */
.category-offers-section .category-offer-card .deal-card-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    pointer-events: none;
}

.category-offers-section .category-offer-card .deal-card-header > div:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
    max-width: calc(100% - 85px) !important;
}

.category-offers-section .category-offer-card .deal-type {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 25px !important;
    margin: 0 !important;
    padding: 6px 11px !important;
    border: 0 !important;
    border-radius: 0 0 13px 0 !important;
    background: #08234b !important;
    color: #fff !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.category-offers-section .category-offer-card .deal-card-header > div:first-child .deal-type + .deal-type {
    border-radius: 0 0 8px 8px !important;
    background: #fff7ed !important;
    color: #ea580c !important;
}

.category-offers-section .category-offer-card .deal-discount {
    position: absolute !important;
    top: 9px !important;
    right: 9px !important;
    width: auto !important;
    max-width: calc(100% - 100px) !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border: 1px solid #ff6b1a !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

/* The logo panel is 145px tall, matching the Homepage. Separate
   the store name from the logo panel without changing the PHP. */
.category-offers-section .category-offer-card .deal-store {
    display: contents !important;
}

.category-offers-section .category-offer-card .deal-store-logo {
    position: relative !important;
    display: flex !important;
    flex: 0 0 145px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    margin: 0 !important;
    padding: 27px 14px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.category-offers-section .category-offer-card .deal-store-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.category-offers-section .category-offer-card .deal-store-name {
    display: block !important;
    position: static !important;
    min-height: 0 !important;
    margin: 12px 13px 0 !important;
    padding: 0 !important;
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.category-offers-section .category-offer-card .deal-title {
    display: -webkit-box !important;
    min-height: 0 !important;
    margin: 6px 13px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}

.category-offers-section .category-offer-card .deal-description {
    display: none !important;
}

.category-offers-section .category-offer-card .deal-meta {
    min-height: 0 !important;
    margin: 5px 13px 0 !important;
    padding: 0 !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.category-offers-section .category-offer-card .deal-card-action {
    margin-top: auto !important;
    padding: 9px 13px 13px !important;
}

.category-offers-section .category-offer-card .deal-get-button {
    min-height: 43px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #ff641b !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #f05a18 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.category-offers-section .category-offer-card .deal-get-button:hover {
    background: #fff4ed !important;
    color: #ea580c !important;
}

@media (max-width: 760px) {
    .category-offers-section .category-offer-card {
        min-height: 278px !important;
    }

    .category-offers-section .category-offer-card .deal-store-logo {
        flex-basis: 125px !important;
        height: 125px !important;
        min-height: 125px !important;
    }

    .category-offers-section .category-offer-card .deal-store-name {
        margin: 10px 10px 0 !important;
        font-size: 9px !important;
    }

    .category-offers-section .category-offer-card .deal-title {
        margin: 6px 10px 0 !important;
        font-size: 12px !important;
    }

    .category-offers-section .category-offer-card .deal-meta {
        margin-right: 10px !important;
        margin-left: 10px !important;
        font-size: 9px !important;
    }

    .category-offers-section .category-offer-card .deal-card-action {
        padding: 8px 10px 10px !important;
    }

    .category-offers-section .category-offer-card .deal-get-button {
        min-height: 40px !important;
        font-size: 10px !important;
    }
}

/* =========================================================
   Category page final override
   The legacy category.css uses more-specific selectors such as
   .category-offers-section .deal-card.offer-card. These explicit
   overrides intentionally win over those older dimensions.
   ========================================================= */
.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 278px !important;
    height: 278px !important;
    max-height: 278px !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-card-header {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    z-index: 5 !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-store {
    display: contents !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-store-logo {
    position: relative !important;
    display: flex !important;
    flex: 0 0 145px !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 27px 14px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-store-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-store-name {
    position: static !important;
    display: block !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 12px 13px 0 !important;
    padding: 0 !important;
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-title {
    display: -webkit-box !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 6px 13px 0 !important;
    padding: 0 !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-description {
    display: none !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-meta {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    margin: 5px 13px 0 !important;
    padding: 0 !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-card-action {
    display: block !important;
    flex: 0 0 auto !important;
    margin: auto 0 0 !important;
    padding: 9px 13px 13px !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-get-button {
    display: flex !important;
    width: 100% !important;
    min-height: 43px !important;
    height: 43px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid #ff641b !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #f05a18 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
}

@media (max-width: 760px) {
    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card {
        min-height: 278px !important;
        height: 278px !important;
        max-height: 278px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-store-logo {
        flex-basis: 125px !important;
        height: 125px !important;
        min-height: 125px !important;
        max-height: 125px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-store-name {
        margin: 10px 10px 0 !important;
        font-size: 9px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-title {
        margin: 6px 10px 0 !important;
        font-size: 12px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-meta {
        margin-right: 10px !important;
        margin-left: 10px !important;
        font-size: 9px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-card-action {
        padding: 8px 10px 10px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .deal-get-button {
        min-height: 40px !important;
        height: 40px !important;
        font-size: 10px !important;
    }
}



/* =========================================================
   Category cards — shared Homepage markup (final correction)
   Keep the same visual design, but allow cards to grow when a
   longer title and expiry row need extra room. Never clip actions.
   ========================================================= */
.category-offers-section .deals-grid {
    align-items: stretch !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 278px !important;
    height: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .latest-card-visual {
    position: relative !important;
    display: flex !important;
    flex: 0 0 145px !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 27px 14px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .latest-card-visual .latest-card-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .latest-card-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 12px 13px 13px !important;
    gap: 7px !important;
    box-sizing: border-box !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .latest-card-store-name {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .coupon-title {
    display: -webkit-box !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .coupon-meta {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .coupon-button {
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 43px !important;
    height: 43px !important;
    margin: auto 0 0 !important;
    padding: 0 10px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

@media (max-width: 760px) {
    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card {
        min-height: 278px !important;
        height: 100% !important;
        max-height: none !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .latest-card-visual {
        flex-basis: 120px !important;
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .latest-card-content {
        padding: 10px !important;
        gap: 6px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .coupon-title {
        font-size: 12px !important;
    }

    .category-offers-section .deals-grid > .deal-card.offer-card.category-offer-card.latest-visual-card .coupon-button {
        min-height: 40px !important;
        height: 40px !important;
        font-size: 10px !important;
    }
}


/* =========================================================
   Brand page cards — Homepage visual system + store-offers link
   ========================================================= */
.brand-page-main .brand-offers-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card.latest-visual-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 305px !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe5ed !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(20, 35, 55, .07) !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .latest-card-visual {
    position: relative !important;
    display: flex !important;
    flex: 0 0 145px !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 27px 14px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .latest-card-visual .latest-card-logo {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .latest-card-visual .latest-card-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .latest-card-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    padding: 12px 13px 12px !important;
    gap: 7px !important;
    box-sizing: border-box !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .latest-card-store-name {
    display: block !important;
    margin: 0 !important;
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .coupon-title {
    display: -webkit-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}

.brand-page-main .brand-offers-list > .brand-offer-card .coupon-meta {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .coupon-button {
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 43px !important;
    height: 43px !important;
    margin: auto 0 0 !important;
    padding: 0 10px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .brand-offer-store-link {
    display: block !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    color: #f15a24 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
}

.brand-page-main .brand-offers-list > .brand-offer-card .brand-offer-store-link:hover {
    color: #c94312 !important;
    text-decoration: underline !important;
}

@media (max-width: 1000px) {
    .brand-page-main .brand-offers-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 650px) {
    .brand-page-main .brand-offers-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .brand-page-main .brand-offers-list > .brand-offer-card .latest-card-visual {
        flex-basis: 120px !important;
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
    }

    .brand-page-main .brand-offers-list > .brand-offer-card .latest-card-content {
        padding: 10px !important;
        gap: 6px !important;
    }

    .brand-page-main .brand-offers-list > .brand-offer-card .coupon-title {
        font-size: 12px !important;
    }

    .brand-page-main .brand-offers-list > .brand-offer-card .coupon-button {
        min-height: 40px !important;
        height: 40px !important;
        font-size: 10px !important;
    }

    .brand-page-main .brand-offers-list > .brand-offer-card .brand-offer-store-link {
        font-size: 9px !important;
    }
}


/* =========================================================
   Holiday page offer cards
   Scoped exclusively to Holiday pages so shared Homepage,
   Best Offers, Brand, Store and Category cards are untouched.
   ========================================================= */
.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 278px !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .latest-card-visual {
    display: flex !important;
    flex: 0 0 145px !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 27px 14px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .latest-card-visual .latest-card-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .latest-card-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 12px 13px 13px !important;
    gap: 7px !important;
    box-sizing: border-box !important;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .latest-card-store-name {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .coupon-title {
    display: -webkit-box !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .coupon-meta {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .coupon-button {
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 43px !important;
    height: 43px !important;
    margin: auto 0 0 !important;
    padding: 0 10px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

@media (max-width: 760px) {
    .holiday-page .holiday-offers-grid > .holiday-offer-card.latest-visual-card .latest-card-visual {
        flex-basis: 120px !important;
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
    }
}

/* =========================================================
   Search page offer cards
   Homepage visual structure, scoped only to Search results.
   ========================================================= */
.search-page .search-coupons-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 18px !important;
    width: 100%;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 278px !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .latest-card-visual {
    display: flex !important;
    flex: 0 0 145px !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 27px 14px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .latest-card-visual .latest-card-logo img {
    width: auto !important;
    height: auto !important;
    max-width: 82% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .latest-card-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px 13px 13px !important;
    gap: 7px !important;
    box-sizing: border-box !important;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .latest-card-store-name {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #596273 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .coupon-title {
    display: -webkit-box !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #182235 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .coupon-meta {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #e94f0b !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.search-page .search-coupons-grid > .search-offer-card.latest-visual-card .coupon-button {
    position: relative !important;
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 43px !important;
    height: 43px !important;
    margin: auto 0 0 !important;
    padding: 0 10px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

@media (max-width: 1100px) {
    .search-page .search-coupons-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .search-page .search-coupons-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .search-page .search-coupons-grid > .search-offer-card.latest-visual-card .latest-card-visual {
        flex-basis: 120px !important;
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
    }

    .search-page .search-coupons-grid > .search-offer-card.latest-visual-card .latest-card-content {
        padding: 10px !important;
        gap: 6px !important;
    }

    .search-page .search-coupons-grid > .search-offer-card.latest-visual-card .coupon-title {
        font-size: 12px !important;
    }

    .search-page .search-coupons-grid > .search-offer-card.latest-visual-card .coupon-button {
        min-height: 40px !important;
        height: 40px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 380px) {
    .search-page .search-coupons-grid {
        gap: 9px !important;
    }
}

/* =========================================================
   Store page — restore original horizontal offer list
   This override is intentionally limited to Store pages.
   Other pages continue using their existing grid layouts.
   ========================================================= */

.store-page-main .store-offers-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
}

.store-page-main .store-offers-list > .store-offer-card {
    display: grid !important;
    grid-template-columns: 115px minmax(0, 1fr) 145px !important;
    flex-direction: initial !important;
    align-items: center !important;
    justify-content: initial !important;
    gap: 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 18px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.store-page-main .store-offers-list > .store-offer-card:hover {
    border-color: #f7c9a8 !important;
    box-shadow: 0 13px 30px rgba(15, 23, 42, .075) !important;
    transform: translateY(-2px);
}

/* Restore the discount panel to the first column. */
.store-page-main .store-offers-list > .store-offer-card > .store-offer-discount {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    flex: initial !important;
    align-items: center !important;
    justify-content: center !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: none !important;
    min-height: 82px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 5px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 9px !important;
    background: #fff7ed !important;
    color: #ea580c !important;
    font-size: 20px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Restore the middle content column and its original spacing. */
.store-page-main .store-offers-list > .store-offer-card > .store-offer-content {
    display: flex !important;
    flex: initial !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    box-sizing: border-box !important;
}

.store-page-main .store-offers-list > .store-offer-card .store-offer-labels {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
}

.store-page-main .store-offers-list > .store-offer-card .store-offer-content h3 {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #202b3b !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: -.25px !important;
    overflow-wrap: anywhere !important;
}

.store-page-main .store-offers-list > .store-offer-card .store-offer-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px 15px !important;
    min-height: 0 !important;
    margin: auto 0 0 !important;
    padding: 8px 0 0 !important;
    color: #8a94a3 !important;
    font-size: 11px !important;
    line-height: normal !important;
}

/* Restore the action as the third column. */
.store-page-main .store-offers-list > .store-offer-card > .store-offer-action {
    display: flex !important;
    flex: initial !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin: 15px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.store-page-main .store-offers-list > .store-offer-card .store-show-code-button.offer-action-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 10px 9px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

/* Tablet: retain the compact horizontal list. */
@media (max-width: 1100px) {
    .store-page-main .store-offers-list > .store-offer-card {
        grid-template-columns: 100px minmax(0, 1fr) 130px !important;
        gap: 14px !important;
    }

    .store-page-main .store-offers-list > .store-offer-card > .store-offer-discount {
        width: 100px !important;
        min-width: 100px !important;
    }
}

/* Mobile: discount and content on the first row, action below. */
@media (max-width: 760px) {
    .store-page-main .store-offers-list > .store-offer-card {
        grid-template-columns: 84px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 14px !important;
    }

    .store-page-main .store-offers-list > .store-offer-card > .store-offer-discount {
        width: 84px !important;
        min-width: 84px !important;
        min-height: 72px !important;
        font-size: 17px !important;
    }

    .store-page-main .store-offers-list > .store-offer-card > .store-offer-content {
        min-width: 0 !important;
    }

    .store-page-main .store-offers-list > .store-offer-card .store-offer-content h3 {
        font-size: 15px !important;
    }

    .store-page-main .store-offers-list > .store-offer-card > .store-offer-action {
        grid-column: 1 / -1 !important;
        justify-content: stretch !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .store-page-main .store-offers-list > .store-offer-card .store-show-code-button.offer-action-button {
        width: 100% !important;
    }
}

/* Very narrow phones: stack discount, content and action. */
@media (max-width: 420px) {
    .store-page-main .store-offers-list > .store-offer-card {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .store-page-main .store-offers-list > .store-offer-card > .store-offer-discount {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
    }
}


/* =========================================================
   Store page actions — preserve coupon peel and deal contrast.
   These Store-only rules intentionally override shared defaults.
   ========================================================= */
.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action {
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #f97316 !important;
    background: #f97316 !important;
    color: #fff !important;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action:hover {
    border-color: #ea580c !important;
    background: #ea580c !important;
    color: #fff !important;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action .offer-action-text {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0 8px;
    color: inherit;
    text-align: center;
    white-space: nowrap;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action .coupon-peel-code {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    max-width: 43%;
    min-width: 48px;
    margin: 0;
    padding: 0 8px 0 12px;
    overflow: hidden;
    border: 0;
    border-left: 1px dashed rgba(249, 115, 22, .65);
    background: #fff7ed;
    color: #9a3412;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action .coupon-peel-code::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 8px solid #f97316;
    border-right: 8px solid transparent;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.deal-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 10px 9px !important;
    border: 1px solid #2563eb !important;
    background: #2563eb !important;
    color: #fff !important;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.deal-action:hover {
    border-color: #1d4ed8 !important;
    background: #1d4ed8 !important;
    color: #fff !important;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.deal-action .offer-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: inherit;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
}

@media (max-width: 760px) {
    .store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action .coupon-peel-code {
        min-width: 54px;
        font-size: 9px;
    }
}


/* Store coupon peel: give the value tab an explicit full button height.
   This prevents percentage/auto sizing from collapsing it to a top strip. */
.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action {
    height: 43px !important;
    min-height: 43px !important;
    align-items: stretch !important;
}

.store-page-main .store-offers-list .store-show-code-button.offer-action-button.coupon-action .coupon-peel-code {
    display: flex !important;
    align-self: stretch !important;
    height: 43px !important;
    min-height: 43px !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
