/**
 * Mall theme — e-commerce orange skin (used when channel theme = mall).
 */
.theme-mall {
    --mall-primary: #ff6a00;
    --mall-primary-hover: #e85f00;
    --mall-primary-soft: #fff4ec;
    --mall-primary-ring: rgba(255, 106, 0, 0.18);
    --mall-text: #1f2937;
    --mall-muted: #6b7280;
    --mall-border: #f0e6de;
    --mall-surface: #ffffff;
    --mall-bg: #f5f5f6;
    --mall-bottom-nav-h: 3.75rem;
    --mall-safe-bottom: env(safe-area-inset-bottom, 0px);
}

.theme-mall body,
.theme-mall {
    color: var(--mall-text);
    background: var(--mall-bg);
}

.theme-mall main#main {
    background: var(--mall-bg);
}

@media (max-width: 1023px) {
    .theme-mall main#main {
        padding-bottom: calc(var(--mall-bottom-nav-h) + var(--mall-safe-bottom) + 0.75rem);
    }

    .theme-mall .mall-footer-compact {
        padding-bottom: calc(var(--mall-bottom-nav-h) + var(--mall-safe-bottom));
    }
}

/* Force Bagisto navy accents → orange */
.theme-mall .bg-navyBlue,
.theme-mall .peer-checked\:bg-navyBlue:checked,
.theme-mall button.bg-navyBlue,
.theme-mall .bg-\[\#060C3B\],
.theme-mall [class*="bg-navyBlue"] {
    background-color: var(--mall-primary) !important;
}

.theme-mall .text-navyBlue,
.theme-mall .text-\[\#060C3B\],
.theme-mall [class*="text-navyBlue"] {
    color: var(--mall-primary) !important;
}

.theme-mall .border-navyBlue,
.theme-mall [class*="border-navyBlue"] {
    border-color: var(--mall-primary) !important;
}

.theme-mall .hover\:bg-navyBlue:hover {
    background-color: var(--mall-primary-hover) !important;
}

.theme-mall a.secondary-button,
.theme-mall .secondary-button {
    border-color: var(--mall-primary);
    color: var(--mall-primary);
}

.theme-mall a.secondary-button:hover,
.theme-mall .secondary-button:hover {
    background-color: var(--mall-primary-soft);
}

/* Desktop orange promo strip — obvious mall signal */
.theme-mall .mall-top-strip {
    background: linear-gradient(90deg, #ff6a00 0%, #ff8a2b 50%, #ff6a00 100%);
    color: #fff;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.55rem 1rem;
}

.theme-mall .mall-site-header {
    border-bottom: 2px solid var(--mall-primary);
}

.theme-mall .mall-site-header form input[type="text"],
.theme-mall .mall-site-header form input[type="search"] {
    border-color: var(--mall-border) !important;
    background: var(--mall-bg) !important;
}

.theme-mall .mall-site-header form button,
.theme-mall .mall-site-header form [type="submit"] {
    background: var(--mall-primary) !important;
    color: #fff !important;
    border-color: var(--mall-primary) !important;
}

.theme-mall .mall-bottom-nav {
    height: calc(var(--mall-bottom-nav-h) + var(--mall-safe-bottom));
    padding-bottom: var(--mall-safe-bottom);
    box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
    border-top: 1px solid var(--mall-border);
    background: var(--mall-surface);
}

.theme-mall .mall-bottom-nav__item {
    color: var(--mall-muted);
}

.theme-mall .mall-bottom-nav__item.is-active {
    color: var(--mall-primary);
}

.theme-mall .mall-bottom-nav__badge {
    background: var(--mall-primary);
}

.theme-mall .mall-mobile-header {
    background: linear-gradient(180deg, #fff 0%, #fff4ec 100%);
    border-bottom: 2px solid var(--mall-primary);
}

.theme-mall .mall-search-bar {
    background: var(--mall-bg);
    border: 1px solid var(--mall-border);
    border-radius: 9999px;
}

.theme-mall .mall-search-bar:focus-within {
    border-color: var(--mall-primary);
    box-shadow: 0 0 0 3px var(--mall-primary-ring);
}

.theme-mall .mall-home-badge {
    display: flex;
    justify-content: center;
    padding: 0.5rem 1rem 0;
}

.theme-mall .mall-home-badge span {
    display: inline-block;
    background: var(--mall-primary-soft);
    color: var(--mall-primary);
    border: 1px solid #ffd4b0;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
}

.theme-mall .mall-home-section {
    margin-top: 0.75rem;
}

.theme-mall .mall-home-section--flush {
    margin-top: 0;
}

@media (min-width: 768px) {
    .theme-mall .mall-home-section {
        margin-top: 1.25rem;
    }

    .theme-mall .mall-home-section--flush {
        margin-top: 1rem;
    }
}

.theme-mall .mall-home .final-price,
.theme-mall .mall-home .price-label,
.theme-mall .mall-home [class*="price"] .font-semibold,
.theme-mall .mall-home .font-semibold.text-navyBlue {
    color: var(--mall-primary) !important;
}

.theme-mall .swiper-pagination-bullet-active {
    background: var(--mall-primary) !important;
}

.theme-mall .mall-category-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem 0.5rem;
    padding: 0.75rem 1rem 0.85rem;
}

@media (min-width: 1024px) {
    .theme-mall .mall-category-grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
        gap: 1.25rem 1rem;
        padding: 1.25rem 0 0.75rem;
    }
}

.theme-mall .mall-category-grid__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: var(--mall-primary-soft);
    border: 1px solid #ffe0c7;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .theme-mall .mall-category-grid__icon {
        width: 4.5rem;
        height: 4.5rem;
        border-radius: 1.25rem;
    }
}

.theme-mall .mall-product-section-title {
    font-family: inherit;
    font-weight: 800;
    font-size: 1.125rem;
    color: var(--mall-text);
    position: relative;
    padding-left: 0.65rem;
}

.theme-mall .mall-product-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    bottom: 0.15em;
    width: 3px;
    border-radius: 2px;
    background: var(--mall-primary);
}

@media (min-width: 768px) {
    .theme-mall .mall-product-section-title {
        font-size: 1.35rem;
    }
}

.theme-mall .mall-carousel-wrap {
    border-radius: 0 0 1rem 1rem;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .theme-mall .mall-carousel-wrap {
        border-radius: 1rem;
        box-shadow: 0 8px 24px rgba(255, 106, 0, 0.08);
    }
}

.theme-mall .mall-home-section.rounded-2xl,
.theme-mall .mall-home-section.lg\:rounded-xl {
    border: 1px solid var(--mall-border);
}

.theme-mall .mall-footer-compact footer {
    margin-top: 1rem !important;
    background: #fff !important;
    border-top: 1px solid var(--mall-border);
}

.theme-mall .mall-footer-compact .p-\[60px\] {
    padding: 1.25rem 1rem !important;
}

.theme-mall .mall-footer-compact .font-dmserif {
    font-family: inherit !important;
    color: var(--mall-primary);
}

.theme-mall .mall-icon-home {
    display: inline-block;
    width: 1.35rem;
    height: 1.35rem;
    background: currentColor;
    clip-path: polygon(50% 8%, 100% 48%, 82% 48%, 82% 92%, 58% 92%, 58% 62%, 42% 62%, 42% 92%, 18% 92%, 18% 48%, 0 48%);
}

.theme-mall .mall-promo-strip {
    border-radius: 1rem;
    background: linear-gradient(90deg, var(--mall-primary) 0%, #ff9a3c 100%);
    color: #fff;
    text-align: center;
    padding: 0.85rem 1rem;
    font-weight: 600;
    font-size: 0.95rem;
}
