/**
 * Perfect Store — Visual moderno profissional
 * Jornada completa: Home → Produto → Carrinho → Checkout → Confirmação
 */
:root {
    --ps-modern-bg: #f8f9fb;
    --ps-modern-surface: #ffffff;
    --ps-modern-border: #e8eaef;
    --ps-modern-muted: #6b7280;
    --ps-modern-text: #111827;
    --ps-modern-radius: 12px;
    --ps-modern-radius-sm: 8px;
    --ps-modern-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
    --ps-modern-shadow-lg: 0 12px 40px rgba(15, 23, 42, 0.08);
    --ps-modern-transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Base página ── */
body.is-enterprise-retail .wrapper > section:not(.subscribe-wrap) {
    background: var(--ps-modern-bg);
}

body.is-enterprise-retail.is-kenner-home .wrapper > section:not(.subscribe-wrap) {
    background: #fff;
}

body.is-enterprise-retail.is-checkout-journey .wrapper > section {
    background: var(--ps-modern-bg);
}

/* ── Cabeçalhos de seção (home + loja) ── */
body.is-enterprise-retail .ps-section-head,
body.is-enterprise-retail .tab-products-header,
body.is-enterprise-retail .featured-categories-header {
    margin-bottom: 16px;
}

body.is-enterprise-retail .tab-products-header hr,
body.is-enterprise-retail .featured-categories-header::after {
    border-color: var(--ps-modern-border);
}

body.is-enterprise-retail .tab-products-header .tab-item {
    border-radius: var(--ps-modern-radius-sm);
    transition: background var(--ps-modern-transition), color var(--ps-modern-transition);
}

body.is-enterprise-retail .tab-products-header .tab-item.active {
    background: var(--color-primary-alpha-12, rgba(0, 0, 0, 0.06));
    color: var(--color-primary);
}

/* Cards produto — acabamento premium */
body.is-enterprise-retail .product-card {
    background: var(--ps-modern-surface);
    border: 1px solid var(--ps-modern-border);
    border-radius: var(--ps-modern-radius-sm);
    transition:
        transform var(--ps-modern-transition),
        box-shadow var(--ps-modern-transition),
        border-color var(--ps-modern-transition);
}

body.is-enterprise-retail .product-card:hover {
    transform: translateY(-2px);
    border-color: #d1d5db;
    box-shadow: var(--ps-modern-shadow);
}

body.is-enterprise-retail .product-card .product-image {
    border-radius: 6px 6px 0 0;
    overflow: hidden;
    background: #fafafa;
}

body.is-enterprise-retail .product-card .product-image img {
    transition: transform 0.35s ease;
}

body.is-enterprise-retail .product-card:hover .product-image img {
    transform: scale(1.03);
}

body.is-enterprise-retail .product-card .btn-buy {
    border-radius: var(--ps-modern-radius-sm);
    transition: opacity var(--ps-modern-transition), transform var(--ps-modern-transition);
}

body.is-enterprise-retail .product-card .btn-buy:active {
    transform: scale(0.98);
}

/* ── Header / chrome ── */
body.is-enterprise-retail .header-wrap,
body.is-enterprise-retail .navbar-wrap {
    background: var(--ps-modern-surface);
    border-color: var(--ps-modern-border);
}

body.is-enterprise-retail .breadcrumb-wrap {
    background: var(--ps-modern-bg);
    border-bottom: 1px solid var(--ps-modern-border);
}

body.is-enterprise-retail .breadcrumb {
    margin-bottom: 0;
}

/* ── Footer moderno ── */
body.is-enterprise-retail .footer-wrap {
    background: var(--ps-modern-surface) !important;
    border-top: 1px solid var(--ps-modern-border);
}

body.is-enterprise-retail .subscribe-wrap {
    background: linear-gradient(180deg, var(--ps-modern-bg) 0%, var(--ps-modern-surface) 100%);
    border-top: 1px solid var(--ps-modern-border);
}

/* ── Steps checkout journey ── */
body.is-checkout-journey .ps-checkout-flow-steps {
    padding: 16px 0 8px;
}

body.is-checkout-journey .ps-checkout-flow-steps__dot {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: transform var(--ps-modern-transition), box-shadow var(--ps-modern-transition);
}

body.is-checkout-journey .ps-checkout-flow-steps__item.is-active .ps-checkout-flow-steps__dot {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
    transform: scale(1.05);
}

body.is-checkout-journey .ps-wizard-steps {
    background: var(--ps-modern-surface);
    border: 1px solid var(--ps-modern-border);
    box-shadow: var(--ps-modern-shadow);
}

/* ── Carrinho página ── */
body.is-checkout-journey .cart-wrap .cart-inner,
body.is-enterprise-retail .cart-wrap .order-summary {
    background: var(--ps-modern-surface);
    border-color: var(--ps-modern-border);
    box-shadow: var(--ps-modern-shadow);
}

/* ── Checkout ── */
body.is-checkout-journey .checkout-wrap .checkout-left,
body.is-checkout-journey .checkout-wrap .order-summary {
    background: var(--ps-modern-surface);
    border: 1px solid var(--ps-modern-border);
    border-radius: var(--ps-modern-radius);
    box-shadow: var(--ps-modern-shadow);
}

body.is-checkout-journey .checkout-wrap .form-control:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-alpha-12, rgba(0, 0, 0, 0.06));
}

body.is-checkout-journey .checkout-wrap .form-radio {
    padding: 12px 14px;
    margin-bottom: 8px;
    border: 1px solid var(--ps-modern-border);
    border-radius: var(--ps-modern-radius-sm);
    transition: border-color var(--ps-modern-transition), background var(--ps-modern-transition);
}

body.is-checkout-journey .checkout-wrap .form-radio:has(input:checked) {
    border-color: var(--color-primary);
    background: var(--color-primary-alpha-10, rgba(0, 0, 0, 0.03));
}

body.is-checkout-journey .mp-transparent-checkout {
    border-color: var(--ps-modern-border);
    border-radius: var(--ps-modern-radius);
    box-shadow: none;
    background: var(--ps-modern-surface);
}

body.is-checkout-journey .ps-wizard-nav .btn-primary {
    box-shadow: 0 4px 14px var(--color-primary-alpha-30, rgba(0, 0, 0, 0.12));
}

/* ── Página pedido confirmado ── */
.ps-order-success {
    max-width: 520px;
    margin: 0 auto 40px;
    padding: 32px 24px 28px;
    text-align: center;
    background: var(--ps-modern-surface);
    border: 1px solid var(--ps-modern-border);
    border-radius: var(--ps-modern-radius);
    box-shadow: var(--ps-modern-shadow-lg);
    animation: psSuccessIn 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes psSuccessIn {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.ps-order-success__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    color: #059669;
}

.ps-order-success__icon svg {
    width: 36px;
    height: 36px;
}

.ps-order-success__icon svg circle,
.ps-order-success__icon svg path {
    stroke: #059669;
}

.ps-order-success h2 {
    margin: 0 0 8px;
    font-size: 16px !important;
    font-weight: 700;
    color: var(--ps-modern-text);
}

.ps-order-success__message {
    margin: 0 0 16px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--ps-modern-muted);
}

.ps-order-success__order-id {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 16px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--ps-modern-bg);
    border: 1px solid var(--ps-modern-border);
    font-size: 11px;
    font-weight: 600;
    color: var(--ps-modern-text);
}

.ps-order-success__order-id strong {
    color: var(--color-primary);
    font-weight: 700;
}

.ps-order-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 20px;
    padding: 10px 14px;
    border-radius: var(--ps-modern-radius-sm);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}

.ps-order-status--pending {
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.ps-order-status--pending::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f59e0b;
    animation: psPulse 1.2s ease infinite;
}

.ps-order-status--confirmed {
    color: #065f46;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
}

.ps-order-status--confirmed::before {
    content: "✓";
    font-size: 12px;
    font-weight: 800;
}

@keyframes psPulse {
    0%,
    100% {
        opacity: 0.4;
        transform: scale(0.9);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
    }
}

.ps-order-success__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ps-order-success__actions .btn {
    width: 100%;
    min-height: 42px;
}

.ps-order-success__trust {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--ps-modern-border);
    font-size: 10px;
    color: var(--ps-modern-muted);
    line-height: 1.5;
}

.ps-order-success__trust span {
    display: block;
    margin-top: 4px;
}

.order-complete-wrap {
    padding: 8px 0 48px;
}

.order-complete-wrap .ps-checkout-flow-steps {
    margin-bottom: 24px;
}

/* ── Auth moderno ── */
body.is-enterprise-retail .login-page .auth-form {
    border-radius: var(--ps-modern-radius);
    box-shadow: var(--ps-modern-shadow-lg);
}

/* ── Cookie bar ── */
body.is-enterprise-retail .cookie-bar-wrap {
    border-top: 1px solid var(--ps-modern-border);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06);
}

/* ── Kenner cart panel ── */
.kenner-cart-wrap {
    background: var(--ps-modern-surface) !important;
}

.kenner-cart-footer {
    background: var(--ps-modern-bg) !important;
}

/* ── Home trust strip ── */
body.is-kenner-home .ps-home-trust__item {
    border-radius: var(--ps-modern-radius-sm);
    transition: border-color var(--ps-modern-transition);
}

body.is-kenner-home .ps-home-trust__item:hover {
    border-color: #d1d5db;
}

/* ── PLP / busca ── */
body.is-kenner-shop .product-search-wrap,
body.is-kenner-shop .products-view {
    background: var(--ps-modern-bg);
}

body.is-kenner-shop .product-card {
    background: var(--ps-modern-surface);
}

/* ── PDP ── */
body.is-enterprise-retail .product-details-wrap {
    background: var(--ps-modern-bg);
}

body.is-enterprise-retail .product-details-top,
body.is-enterprise-retail .product-details-bottom {
    background: var(--ps-modern-surface);
    border: 1px solid var(--ps-modern-border);
    border-radius: var(--ps-modern-radius);
    box-shadow: var(--ps-modern-shadow);
}

@media (min-width: 992px) {
    body.is-enterprise-retail .product-details-top {
        padding: 24px;
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .ps-order-success {
        margin-left: 0;
        margin-right: 0;
        border-radius: var(--ps-modern-radius-sm);
        padding: 24px 16px 20px;
    }
}
