/**
 * RexisML — Consolidated Recommendations CSS
 *
 * Extraído de 6 templates PHTML para arquivo de asset único.
 * Carregado via default.xml (widgets), customer_account.xml e catalog_product_view.xml.
 *
 * Seções:
 *   §1  .rexis-recommendations-wrapper — template recommendations.phtml
 *   §2  .rexis-widget-* — template widget/recommendations.phtml
 *   §3  .b2b-rexis-* — template b2b/recommendations-widget.phtml
 *   §4  .rx-pdp-* — template product/crosssell.phtml
 *   §5  .rexis-carousel-* — template widget/recommendations_carousel.phtml
 *   §6  .rexis-simple-* — template widget/recommendations_simple.phtml
 */

.rexis-recommendations-wrapper,
.rexis-widget-recommendations,
.b2b-rexis-section,
.rexis-widget-carousel,
.rexis-widget-simple {
    --rx-ayo-primary: var(--aw-primary, #b73337);
    --rx-ayo-primary-dark: var(--aw-primary-dark, #8e2629);
    --rx-ayo-border: #eadedf;
    --rx-ayo-soft: #fbf7f7;
    --rx-ayo-text: #2b2b2b;
    --rx-ayo-muted: #6b7280;
    --rx-ayo-success: #15803d;
}

/* ============================================================
   §1 — Recommendations Grid (recommendations.phtml)
   ============================================================ */
.rexis-recommendations-wrapper {
    margin: 30px 0;
    padding: 24px;
    background: linear-gradient(180deg, #fff 0%, var(--rx-ayo-soft) 100%);
    border-radius: 12px;
    border: 1px solid var(--rx-ayo-border);
    box-shadow: 0 4px 18px rgb(183 51 55 / 6%);
}

.rexis-recommendations-header {
    text-align: center;
    margin-bottom: 24px;
}

.rexis-title {
    color: var(--rx-ayo-text);
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rexis-title svg { color: var(--rx-ayo-primary); }

.rexis-badge {
    display: inline-block;
    padding: 3px 10px;
    background: linear-gradient(135deg, var(--rx-ayo-primary) 0%, var(--rx-ayo-primary-dark) 100%);
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
}

.rexis-rfm-badge {
    display: inline-block;
    margin-top: 6px;
    padding: 3px 12px;
    background: rgb(183 51 55 / 6%);
    border: 1px solid rgb(183 51 55 / 14%);
    border-radius: 12px;
    font-size: 12px;
    color: #7f1d1d;
}

.rexis-subtitle {
    color: var(--rx-ayo-muted);
    font-size: 13px;
    margin: 4px 0 0;
}

.rexis-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.rexis-product-item {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    border: 1px solid #eee4e5;
    border-top: 3px solid #e2e8f0;
}

.rexis-product-item.rexis-churn { border-top-color: #f87171; }
.rexis-product-item.rexis-crosssell { border-top-color: #34d399; }
.rexis-product-item.rexis-irregular { border-top-color: #fbbf24; }

.rexis-product-item:hover {
    transform: translateY(-3px);
    border-color: rgb(183 51 55 / 18%);
    box-shadow: 0 8px 22px rgb(183 51 55 / 10%);
}

.rexis-classification-badge { margin-bottom: 8px; }

.rexis-classification-badge span {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
}

.rexis-ml-score {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgb(0 0 0 / 80%);
    color: #fbbf24;
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
}

.rexis-product-image {
    text-align: center;
    margin-bottom: 10px;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rexis-product-image img {
    max-width: 100%;
    max-height: 160px;
    height: auto;
    border-radius: 4px;
}

.rexis-no-image {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border-radius: 4px;
}

.rexis-product-sku {
    font-size: 11px;
    color: #94a3b8;
    margin-bottom: 4px;
}

.rexis-product-name {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 8px;
    min-height: 40px;
    line-height: 1.3;
}

.rexis-product-name a {
    color: #1e293b;
    text-decoration: none;
}

.rexis-product-name a:hover { color: var(--rx-ayo-primary); }

.rexis-product-price {
    margin: 8px 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--rx-ayo-success);
}

.rexis-special-offer {
    margin: 8px 0;
    padding: 6px 10px;
    background: #fef3c7;
    border-radius: 6px;
    text-align: center;
}

.rexis-special-offer span {
    color: #92400e;
    font-size: 11px;
    font-weight: 600;
}

.rexis-predicted-value {
    font-size: 11px;
    color: #64748b;
    margin-bottom: 8px;
}

.rexis-product-actions { margin-top: 10px; }

.rexis-add-to-cart {
    width: 100%;
    padding: 10px;
    background: linear-gradient(135deg, var(--rx-ayo-primary) 0%, var(--rx-ayo-primary-dark) 100%);
    border: none;
    border-radius: 6px;
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s, transform 0.2s;
}

.rexis-add-to-cart:hover {
    opacity: 1;
    box-shadow: 0 4px 12px rgb(183 51 55 / 22%);
    transform: translateY(-1px);
}

.rexis-add-to-cart:focus-visible {
    outline: 2px solid rgb(183 51 55 / 35%);
    outline-offset: 2px;
}

.rexis-see-more {
    text-align: center;
    margin-top: 16px;
    color: var(--rx-ayo-muted);
    font-size: 13px;
}

@media (width <= 768px) {
    .rexis-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .rexis-recommendations-wrapper { padding: 16px; }
    .rexis-title { font-size: 18px; }
}

/* ============================================================
   §2 — Widget Recommendations Grid (widget/recommendations.phtml)
   ============================================================ */
.rexis-widget-recommendations { margin: 30px 0; }

.rexis-login-prompt {
    background: linear-gradient(135deg, var(--rx-ayo-primary) 0%, var(--rx-ayo-primary-dark) 100%);
    padding: 40px;
    border-radius: 12px;
    text-align: center;
    color: #fff;
    box-shadow: 0 8px 24px rgb(183 51 55 / 14%);
}

.rexis-lock-icon {
    font-size: 48px;
    display: block;
    margin-bottom: 20px;
}

.rexis-login-content h3 {
    font-size: 24px;
    margin: 0 0 15px;
    color: #fff;
}

.rexis-login-content p {
    font-size: 16px;
    margin: 0 0 25px;
    color: rgb(255 255 255 / 90%);
}

.rexis-login-button {
    display: inline-block;
    padding: 12px 30px;
    background: #fff;
    color: var(--rx-ayo-primary);
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}

.rexis-login-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgb(255 255 255 / 28%);
}

.rexis-login-button:focus-visible {
    outline: 2px solid rgb(255 255 255 / 55%);
    outline-offset: 2px;
}

.rexis-widget-header {
    text-align: center;
    margin-bottom: 30px;
}

.rexis-widget-title {
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rexis-icon { font-size: 28px; }

/* .rexis-badge already defined in §1 — shared */

.rexis-widget-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

.rexis-widget-item {
    background: #fff;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    padding: 15px;
    position: relative;
    transition: all 0.3s;
}

.rexis-widget-item:hover {
    border-color: rgb(183 51 55 / 22%);
    box-shadow: 0 6px 18px rgb(183 51 55 / 12%);
    transform: translateY(-3px);
}

.rexis-item-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 10px;
    border-radius: 16px;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    z-index: 2;
}

.badge-churn { background: linear-gradient(135deg, #d64545 0%, var(--rx-ayo-primary) 100%); }
.badge-crosssell { background: linear-gradient(135deg, #15803d 0%, #16a34a 100%); }
.badge-irregular { background: linear-gradient(135deg, #b45309 0%, #d97706 100%); }

.rexis-item-score {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgb(0 0 0 / 75%);
    color: #fbbf24;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
    z-index: 2;
}

.rexis-item-image {
    text-align: center;
    margin-bottom: 12px;
}

.rexis-item-image img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.rexis-item-name {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 8px;
    min-height: 40px;
}

.rexis-item-name a {
    color: #1f2937;
    text-decoration: none;
}

.rexis-item-name a:hover { color: var(--rx-ayo-primary); }

.rexis-item-price {
    margin: 8px 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--rx-ayo-success);
}

.rexis-item-cart {
    width: 100%;
    padding: 10px;
    background: linear-gradient(135deg, var(--rx-ayo-primary) 0%, var(--rx-ayo-primary-dark) 100%);
    border: none;
    border-radius: 6px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s, transform 0.2s;
}

.rexis-item-cart:hover {
    opacity: 1;
    box-shadow: 0 4px 12px rgb(183 51 55 / 20%);
    transform: translateY(-1px);
}

.rexis-item-cart:focus-visible {
    outline: 2px solid rgb(183 51 55 / 30%);
    outline-offset: 2px;
}

@media (width <= 768px) {
    .rexis-widget-products {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (width <= 480px) {
    .rexis-widget-products { grid-template-columns: 1fr; }
}

/* ============================================================
   §3 — B2B Recommendations (b2b/recommendations-widget.phtml)
   ============================================================ */
.b2b-rexis-section {
    margin: 24px 0;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.b2b-rexis-header {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    padding: 20px 24px;
    color: #fff;
}

.b2b-rexis-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.b2b-section-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}

.b2b-section-title svg { flex-shrink: 0; }

.b2b-rexis-ai-badge {
    display: inline-block;
    padding: 2px 8px;
    background: linear-gradient(135deg, var(--rx-ayo-primary), var(--rx-ayo-primary-dark));
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.b2b-rexis-rfm-tag {
    font-size: 12px;
    color: #94a3b8;
    background: rgb(255 255 255 / 10%);
    padding: 4px 12px;
    border-radius: 12px;
}

.b2b-rexis-rfm-tag strong { color: #fbbf24; }

.b2b-rexis-stats {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.b2b-rexis-stat { text-align: center; }

.b2b-rexis-stat .stat-value {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
}

.b2b-rexis-stat .stat-label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stat-churn .stat-value { color: #f87171; }
.stat-crosssell .stat-value { color: #34d399; }
.stat-monetary .stat-value { color: #fbbf24; }

.b2b-rexis-subsection {
    padding: 16px 24px;
    border-bottom: 1px solid #f1f5f9;
}

.b2b-rexis-subsection:last-child { border-bottom: none; }

.b2b-rexis-subtitle {
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.subtitle-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.dot-churn { background: #f87171; }
.dot-crosssell { background: #34d399; }

.b2b-rexis-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.b2b-rexis-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, transform 0.2s;
}

.b2b-rexis-card:hover {
    border-color: rgb(183 51 55 / 16%);
    box-shadow: 0 4px 12px rgb(183 51 55 / 8%);
    transform: translateY(-2px);
}

.b2b-rexis-card-churn { border-top: 3px solid #f87171; }
.b2b-rexis-card-crosssell { border-top: 3px solid #34d399; }

.b2b-rexis-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.b2b-card-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
}

.b2b-card-score {
    font-size: 11px;
    font-weight: 700;
    color: #fbbf24;
    background: #1e293b;
    padding: 2px 6px;
    border-radius: 8px;
}

.b2b-rexis-card-img {
    text-align: center;
    margin-bottom: 8px;
}

.b2b-rexis-card-img img {
    max-width: 100%;
    height: auto;
    max-height: 100px;
    object-fit: contain;
    border-radius: 4px;
}

.b2b-card-sku {
    font-size: 10px;
    color: #94a3b8;
    display: block;
    margin-bottom: 2px;
}

.b2b-card-name {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    text-decoration: none;
    display: block;
    line-height: 1.3;
    min-height: 34px;
    margin-bottom: 4px;
}

.b2b-card-name:hover { color: var(--rx-ayo-primary); }

.b2b-card-price {
    font-size: 16px;
    font-weight: 700;
    color: #059669;
    margin-bottom: 4px;
}

.b2b-card-recencia,
.b2b-card-predicted {
    font-size: 11px;
    color: #64748b;
    margin-bottom: 8px;
}

.b2b-card-recencia { color: #f87171; }

.b2b-rexis-card-action { margin-top: auto; }

.b2b-rexis-btn {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: opacity 0.2s, box-shadow 0.2s;
    text-align: center;
}

.b2b-rexis-btn:hover { opacity: 0.85; }
.b2b-rexis-btn:focus-visible {
    outline: 2px solid rgb(183 51 55 / 28%);
    outline-offset: 2px;
}
.b2b-rexis-btn-churn { background: #ef4444; }
.b2b-rexis-btn-crosssell { background: #059669; }

@media (width <= 768px) {
    .b2b-rexis-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .b2b-rexis-header { padding: 16px; }
    .b2b-rexis-subsection { padding: 12px 16px; }
    .b2b-rexis-stats { gap: 12px; }
}

/* ============================================================
   §4 — PDP Cross-Sell (product/crosssell.phtml)
   ============================================================ */
.rx-pdp-crosssell {
    --rx-ayo-primary: var(--aw-primary, #b73337);
    --rx-ayo-primary-dark: var(--aw-primary-dark, #8e2629);
    --rx-ayo-border: #eadedf;
    --rx-ayo-soft: #fbf7f7;

    margin: 2rem 0;
    padding: 1.25rem;
    background: linear-gradient(180deg, #fff 0%, var(--rx-ayo-soft) 100%);
    border-radius: 12px;
    border: 1px solid var(--rx-ayo-border);
    box-shadow: 0 4px 18px rgb(183 51 55 / 6%);
}

.rx-pdp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    gap: 0.5rem;
    border-bottom: 1px solid var(--rx-ayo-border);
}

.rx-pdp-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: #2b2b2b;
    margin: 0;
}

.rx-pdp-title svg { color: var(--rx-ayo-primary); }

.rx-pdp-powered {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--rx-ayo-primary);
    letter-spacing: 0.05em;
    padding: 0.2rem 0.5rem;
    border: 1px solid rgb(183 51 55 / 25%);
    background: rgb(183 51 55 / 6%);
    border-radius: 4px;
}

.rx-pdp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem;
}

.rx-pdp-card {
    position: relative;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eee4e5;
    padding: 0.75rem;
    text-align: center;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
}

.rx-pdp-card:hover {
    border-color: rgb(183 51 55 / 25%);
    box-shadow: 0 8px 18px rgb(183 51 55 / 10%);
    transform: translateY(-2px);
}

.rx-pdp-badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    font-size: 0.65rem;
    font-weight: 600;
    color: #fff;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    z-index: 1;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rx-pdp-img-link {
    display: block;
    margin-bottom: 0.5rem;
}

.rx-pdp-img-link img {
    width: 100%;
    height: auto;
    max-height: 160px;
    object-fit: contain;
    border-radius: 4px;
}

.rx-pdp-info { flex: 1; }

.rx-pdp-name {
    display: -webkit-box;
    font-size: 0.85rem;
    font-weight: 500;
    color: #333;
    text-decoration: none;
    line-height: 1.3;
    margin-bottom: 0.3rem;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.rx-pdp-name:hover { color: var(--rx-ayo-primary); }

.rx-pdp-price {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rx-ayo-primary);
    margin-bottom: 0.5rem;
}

.rx-pdp-form { margin-top: auto; }

.rx-pdp-addtocart {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: 100%;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    background: var(--rx-ayo-primary);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
}

.rx-pdp-addtocart:hover {
    background: var(--rx-ayo-primary-dark);
    box-shadow: 0 4px 12px rgb(183 51 55 / 25%);
}

.rx-pdp-addtocart:focus-visible {
    outline: 2px solid rgb(183 51 55 / 35%);
    outline-offset: 2px;
}

@media (width <= 768px) {
    .rx-pdp-grid { grid-template-columns: repeat(2, 1fr); }
    .rx-pdp-title { font-size: 0.95rem; }
    .rx-pdp-header { align-items: flex-start; flex-direction: column; }
    .rx-pdp-powered { align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .rx-pdp-card,
    .rx-pdp-addtocart {
        transition: none;
    }

    .rx-pdp-card:hover {
        transform: none;
    }
}

/* ============================================================
   §5 — Widget Carousel (widget/recommendations_carousel.phtml)
   ============================================================ */
.rexis-widget-carousel { margin: 30px 0; overflow: hidden; }
.rexis-carousel-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.rexis-carousel-title { font-size: 22px; font-weight: 700; color: #1f2937; display: flex; align-items: center; gap: 10px; margin: 0; }
.rexis-carousel-nav { display: flex; gap: 8px; }
.rexis-nav-btn { width: 36px; height: 36px; border: 2px solid #d1d5db; border-radius: 50%; background: #fff; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #374151; transition: all 0.2s; }
.rexis-nav-btn:hover { border-color: var(--rx-ayo-primary); color: var(--rx-ayo-primary); }
.rexis-nav-btn:focus-visible { outline: 2px solid rgb(183 51 55 / 30%); outline-offset: 2px; }
.rexis-carousel-track-wrapper { overflow: hidden; }
.rexis-carousel-track { display: flex; transition: transform 0.4s ease; gap: 16px; }
.rexis-carousel-slide { min-width: calc(25% - 12px); flex-shrink: 0; }
.rexis-carousel-card { background: #fff; border: 2px solid #e5e7eb; border-radius: 10px; padding: 15px; position: relative; transition: all 0.3s; }
.rexis-carousel-card:hover { border-color: rgb(183 51 55 / 22%); box-shadow: 0 6px 16px rgb(183 51 55 / 12%); transform: translateY(-3px); }

/* §5 reuses .rexis-item-badge, .badge-churn/crosssell/irregular from §2 */

.rexis-card-score { position: absolute; top: 10px; right: 10px; background: rgb(0 0 0 / 75%); color: #fbbf24; padding: 3px 7px; border-radius: 10px; font-size: 10px; font-weight: 700; z-index: 2; }
.rexis-card-img { width: 100%; height: 180px; object-fit: contain; border-radius: 6px; margin-bottom: 10px; }
.rexis-card-name { font-size: 13px; font-weight: 600; margin: 0 0 8px; min-height: 36px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rexis-card-name a { color: #1f2937; text-decoration: none; }
.rexis-card-name a:hover { color: var(--rx-ayo-primary); }
.rexis-card-price { font-size: 16px; font-weight: 700; color: #059669; margin: 6px 0; }
.rexis-card-cart { width: 100%; padding: 8px; background: linear-gradient(135deg, var(--rx-ayo-primary), var(--rx-ayo-primary-dark)); border: none; border-radius: 6px; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; transition: opacity 0.2s, box-shadow 0.2s, transform 0.2s; }
.rexis-card-cart:hover { opacity: 1; box-shadow: 0 4px 12px rgb(183 51 55 / 20%); transform: translateY(-1px); }
.rexis-card-cart:focus-visible { outline: 2px solid rgb(183 51 55 / 30%); outline-offset: 2px; }

@media (width <= 992px) { .rexis-carousel-slide { min-width: calc(33.333% - 11px); } }

@media (width <= 768px) { .rexis-carousel-slide { min-width: calc(50% - 8px); } }

@media (width <= 480px) { .rexis-carousel-slide { min-width: 100%; } }

/* ============================================================
   §6 — Widget Simple List (widget/recommendations_simple.phtml)
   ============================================================ */
.rexis-widget-simple { margin: 20px 0; }
.rexis-login-prompt-simple { padding: 15px; background: linear-gradient(180deg, #fff 0%, var(--rx-ayo-soft) 100%); border: 1px solid var(--rx-ayo-border); border-radius: 8px; text-align: center; font-size: 14px; color: var(--rx-ayo-muted); }
.rexis-login-prompt-simple a { color: var(--rx-ayo-primary); font-weight: 600; }
.rexis-simple-header { margin-bottom: 15px; }
.rexis-simple-title { font-size: 18px; font-weight: 700; color: #1f2937; display: flex; align-items: center; gap: 8px; }
.rexis-simple-badge { display: inline-block; padding: 2px 8px; background: linear-gradient(135deg, var(--rx-ayo-primary), var(--rx-ayo-primary-dark)); color: #fff; border-radius: 12px; font-size: 10px; font-weight: 600; }
.rexis-simple-list { list-style: none; padding: 0; margin: 0; }
.rexis-simple-item { border-bottom: 1px solid #eee4e5; }
.rexis-simple-item:last-child { border-bottom: none; }
.rexis-simple-link { display: flex; align-items: center; padding: 12px 0; text-decoration: none; gap: 12px; transition: background 0.2s; }
.rexis-simple-link:hover { background: rgb(183 51 55 / 4%); }
.rexis-simple-link:focus-visible { outline: 2px solid rgb(183 51 55 / 20%); outline-offset: 3px; border-radius: 8px; }
.rexis-simple-img { width: 50px; height: 50px; object-fit: contain; border-radius: 6px; flex-shrink: 0; }
.rexis-simple-info { flex: 1; min-width: 0; }
.rexis-simple-name { display: block; font-size: 14px; font-weight: 600; color: #1f2937; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rexis-simple-price { font-size: 14px; font-weight: 700; color: var(--rx-ayo-success); }
.rexis-simple-score { background: rgb(0 0 0 / 75%); color: #fbbf24; padding: 3px 7px; border-radius: 10px; font-size: 10px; font-weight: 700; flex-shrink: 0; }

@media (prefers-reduced-motion: reduce) {
    .rexis-product-item,
    .rexis-add-to-cart,
    .rexis-login-button,
    .rexis-widget-item,
    .rexis-item-cart,
    .b2b-rexis-card,
    .b2b-rexis-btn,
    .rexis-nav-btn,
    .rexis-carousel-track,
    .rexis-carousel-card,
    .rexis-card-cart,
    .rexis-simple-link {
        transition: none;
    }

    .rexis-product-item:hover,
    .rexis-add-to-cart:hover,
    .rexis-widget-item:hover,
    .rexis-item-cart:hover,
    .b2b-rexis-card:hover,
    .rexis-carousel-card:hover,
    .rexis-card-cart:hover {
        transform: none;
    }
}
