/* Theme model: pattern / transition / corner (settings-driven body classes) */

/* ----- Corner: apply radius tokens to real menu UI ----- */
body.theme-corner-sharp .category-card,
body.theme-corner-soft .category-card,
body.theme-corner-round .category-card,
body.theme-corner-sharp .popular-card,
body.theme-corner-soft .popular-card,
body.theme-corner-round .popular-card,
body.theme-corner-sharp .popular-card-image,
body.theme-corner-soft .popular-card-image,
body.theme-corner-round .popular-card-image,
body.theme-corner-sharp .popular-card-image img,
body.theme-corner-soft .popular-card-image img,
body.theme-corner-round .popular-card-image img,
body.theme-corner-sharp .daily-menu-card,
body.theme-corner-soft .daily-menu-card,
body.theme-corner-round .daily-menu-card,
body.theme-corner-sharp .daily-menu-image,
body.theme-corner-soft .daily-menu-image,
body.theme-corner-round .daily-menu-image,
body.theme-corner-sharp .daily-menu-image img,
body.theme-corner-soft .daily-menu-image img,
body.theme-corner-round .daily-menu-image img,
body.theme-corner-sharp .product-list-image,
body.theme-corner-soft .product-list-image,
body.theme-corner-round .product-list-image,
body.theme-corner-sharp .product-list-img,
body.theme-corner-soft .product-list-img,
body.theme-corner-round .product-list-img,
body.theme-corner-sharp .product-list-placeholder,
body.theme-corner-soft .product-list-placeholder,
body.theme-corner-round .product-list-placeholder,
body.theme-corner-sharp .favorites-header-btn,
body.theme-corner-soft .favorites-header-btn,
body.theme-corner-round .favorites-header-btn,
body.theme-corner-sharp .lang-btn,
body.theme-corner-soft .lang-btn,
body.theme-corner-round .lang-btn,
body.theme-corner-sharp .dark-mode-header-btn,
body.theme-corner-soft .dark-mode-header-btn,
body.theme-corner-round .dark-mode-header-btn,
body.theme-corner-sharp .category-hero-back,
body.theme-corner-soft .category-hero-back,
body.theme-corner-round .category-hero-back,
body.theme-corner-sharp .modal-content,
body.theme-corner-soft .modal-content,
body.theme-corner-round .modal-content,
body.theme-corner-sharp .product-modal-content-v2,
body.theme-corner-soft .product-modal-content-v2,
body.theme-corner-round .product-modal-content-v2,
body.theme-corner-sharp .favorites-modal .modal-content,
body.theme-corner-soft .favorites-modal .modal-content,
body.theme-corner-round .favorites-modal .modal-content,
body.theme-corner-sharp .search-box,
body.theme-corner-soft .search-box,
body.theme-corner-round .search-box,
body.theme-corner-sharp .search-input,
body.theme-corner-soft .search-input,
body.theme-corner-round .search-input,
body.theme-corner-sharp .mobile-menu,
body.theme-corner-soft .mobile-menu,
body.theme-corner-round .mobile-menu {
    border-radius: var(--radius-md) !important;
}

body.theme-corner-sharp .category-sheet .container,
body.theme-corner-soft .category-sheet .container,
body.theme-corner-round .category-sheet .container {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

body.theme-corner-sharp .category-hero-count,
body.theme-corner-soft .category-hero-count,
body.theme-corner-round .category-hero-count,
body.theme-corner-sharp .product-list-badges span,
body.theme-corner-soft .product-list-badges span,
body.theme-corner-round .product-list-badges span,
body.theme-corner-sharp .popular-discount-badge,
body.theme-corner-soft .popular-discount-badge,
body.theme-corner-round .popular-discount-badge {
    border-radius: var(--radius-sm) !important;
}

/* ----- Background patterns ----- */
body.theme-pattern-dots {
    background-image:
        radial-gradient(circle, rgba(0, 0, 0, 0.055) 1.2px, transparent 1.3px) !important;
    background-size: 18px 18px !important;
    background-attachment: fixed;
}

body.theme-pattern-lines {
    background-image:
        repeating-linear-gradient(
            -18deg,
            transparent,
            transparent 10px,
            rgba(0, 0, 0, 0.035) 10px,
            rgba(0, 0, 0, 0.035) 11px
        ) !important;
    background-attachment: fixed;
}

body.theme-pattern-grid {
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.035) 1px, transparent 1px) !important;
    background-size: 22px 22px !important;
    background-attachment: fixed;
}

body.dark-mode.theme-pattern-dots {
    background-image:
        radial-gradient(circle, rgba(255, 255, 255, 0.07) 1.2px, transparent 1.3px) !important;
}

body.dark-mode.theme-pattern-lines {
    background-image:
        repeating-linear-gradient(
            -18deg,
            transparent,
            transparent 10px,
            rgba(255, 255, 255, 0.05) 10px,
            rgba(255, 255, 255, 0.05) 11px
        ) !important;
}

body.dark-mode.theme-pattern-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px) !important;
}

/* ----- Section transitions (category hero → sheet) ----- */
body.theme-transition-flat .products-list-section.category-sheet {
    margin-top: 0 !important;
}

body.theme-transition-flat .category-sheet .container {
    border-radius: 0 !important;
}

body.theme-transition-soft .products-list-section.category-sheet {
    margin-top: -22px;
}

body.theme-transition-sharp .products-list-section.category-sheet {
    margin-top: -10px;
}

body.theme-transition-sharp .category-sheet .container {
    border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
}

body.theme-transition-wave .category-hero {
    padding-bottom: 64px;
}

body.theme-transition-wave .category-hero::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 36px;
    background-color: var(--theme-surface, #ffffff);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0 24c120 24 240-24 360-16s240 40 360 24 240-40 360-24 240 40 360 16V48H0z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0 24c120 24 240-24 360-16s240 40 360 24 240-40 360-24 240 40 360 16V48H0z'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    pointer-events: none;
}

body.theme-transition-wave .products-list-section.category-sheet {
    margin-top: -28px;
}
