@layer utilities {
    /* 原有基础样式 */
    .content-auto {
        content-visibility: auto;
    }
    .text-shadow {
        text-shadow: 2px 2px 6px rgba(0,0,0,0.4);
    }
    .text-shadow-sm {
        text-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    }
    .bg-sakura {
        background-color: #fff5f7; 
    }
    .text-sakura {
        color: #d63384; 
    }
    .border-sakura {
        border-color: #e9c46a; 
    }
    .bg-washi {
        background-image: linear-gradient(0deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.95) 100%), 
                          url("../assets/images/textures/washi-paper.jpg"); 
        background-size: cover;
        background-attachment: fixed;
        background-position: center;
    }
    .divider-sakura {
        height: 2px;
        width: 80px;
        background: #d63384;
        margin: 1rem auto;
    }
    .card-hover {
        transition: all 0.3s ease;
    }
    .card-hover:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    }
    .smooth-scroll {
        scroll-behavior: smooth;
    }

    /* 全局字体放大 + 价格突出样式 */
    .price-section {
        font-size: 1.1rem; /* 基础字体放大 */
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* 儿童价格行样式优化 */
    .child-price-row {
        font-size: 0.95rem;
        margin-top: 0.25rem;
        @media (max-width: 768px) {
            font-size: 0.9rem;
            gap: 0.75rem !important; /* 覆盖HTML的gap，移动端更紧凑 */
        }
    }
    .child-age {
        display: inline-flex;
        align-items: center;
        padding: 0.25rem 0.5rem;
        border-radius: 4px;
        @media (max-width: 768px) {
            flex: 0 0 100% !important; /* 占满整行 */
            min-width: auto !important;
            margin-bottom: 0.5rem;
        }
        @media (min-width: 769px) {
            flex: 0 0 calc(33.333% - 0.5rem); /* 桌面端3列 */
        }
    }
    .child-price {
        font-weight: 700;
        color: #a31c5c; /* 加深以满足 WCAG 对比度 */
        margin-left: 0.25rem;
        @media (max-width: 768px) {
            font-weight: 800;
            font-size: 1.05rem;
        }
    }

    /* 强制文字不换行 */
    .whitespace-nowrap {
        white-space: nowrap;
    }
    
    /* Buffet To Go 网格优化 */
    .buffet-to-go-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); /* 最小宽度180px，自适应列数 */
    }

    /* 移动端适配通用样式 */
    @media (max-width: 768px) {
        .price-section {
            font-size: 1rem; 
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }
        .price-section .text-3xl {
            font-size: 2.2rem !important; 
        }
        .price-section .text-4xl {
            font-size: 1.6rem !important; /* Buffet To Go 移动端价格进一步缩小 */
        }
        .saturday-lunch-row {
            flex-direction: column;
            align-items: flex-start !important;
            gap: 0.5rem;
        }
        .saturday-lunch-price {
            margin-left: 0 !important;
        }
        /* Buffet To Go 移动端适配 */
        .buffet-to-go-price {
            font-size: 1.5rem !important;
        }
        .whitespace-nowrap {
            white-space: nowrap;
            font-size: 1.1rem !important;
        }
    }

    /* 价格高亮样式（加深以满足 WCAG 对比度） */
    .price-highlight {
        color: #a31c5c;
        font-weight: 800;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    }

    /* Buffet To Go 价格字体（桌面端） */
    .buffet-to-go-price {
        font-size: 1.8rem !important;
        font-weight: bold;
        color: #a31c5c;
    }

    /* 价格区内小号主色文字使用深色，满足 WCAG AA 对比度（白底） */
    .price-section .text-primary.text-sm {
        color: #a31c5c !important;
    }
}




.price-section {
    font-size: 1.1rem;
    /* 增加左右内边距，直接拉开与粉色背景边缘的距离 */
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    /* 移动端适配 */
    @media (max-width: 768px) {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
}
@media (max-width: 768px) {
            .price-container {
                flex-direction: column; /* 改为纵向排列 */
                align-items: flex-start; /* 左对齐（可选，也可center） */
                gap: 4px; /* 移动端间距缩小 */
            }
        }