/* Solace Theme: Layout 041 (Asymmetric Bento Grid & Bauhaus Plural Style) */
body { background: #ede6d6; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; color: #2a2b32; margin: 0; padding: 0; min-height: 100vh; }
.solace-layout { display: flex; flex-direction: column; min-height: 100vh; position: relative; }
.solace-head-wrap { background: #ffffff; border-bottom: 2px solid #2a2b32; padding: 18px 30px; box-sizing: border-box; }
.solace-brand-nav { display: flex; justify-content: space-between; align-items: center; max-width: 1140px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.solace-logo img { max-height: 38px; display: block; filter: grayscale(1) contrast(1.2) brightness(0.9); }
.solace-menu { display: flex; list-style: none; padding: 0; margin: 0; gap: 10px; }
.solace-menu a { color: #5a5b62; text-decoration: none; font-size: 13.5px; font-weight: 600; padding: 8px 18px; transition: all 0.25s; }
.solace-menu a:hover, .solace-menu .active { background: #cf5c42; color: #ffffff; }
.solace-container { max-width: 1140px; margin: 40px auto 60px auto; padding: 0 20px; box-sizing: border-box; width: 100%; flex-grow: 1; }
/* Bento Notice: 1x2 大格通告 */
.solace-bento-notice { background: #ffffff; border: 1px solid #2a2b32; box-shadow: 2px 2px 0px #2a2b32; padding: 25px; margin-bottom: 35px; line-height: 1.6; font-size: 13.5px; }
.solace-bento-notice i { margin-right: 8px; color: #cf5c42; }
.solace-section-title { font-size: 16px; font-weight: bold; color: #2a2b32; margin: 35px 0 15px 0; border-bottom: 2px solid #2a2b32; padding-bottom: 12px; display: flex; align-items: center; letter-spacing: 0.5px; }
.solace-section-title i { margin-right: 8px; color: #cf5c42; }
/* 2x2 特色不规则拼接与下方4列便当格子 */
.solace-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.solace-bento-box { background: #ffffff; border: 1px solid #2a2b32; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; min-height: 170px; box-shadow: 2px 2px 0px #2a2b32; transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.solace-bento-box:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0px #cf5c42; border-color: #cf5c42; }
/* 2x2 特色巨无霸格子 */
.solace-bento-giant { grid-column: span 2; grid-row: span 2; min-height: 355px; background: #faf9f6; border-color: #cf5c42; }
.solace-card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.solace-card-title { font-size: 14px; font-weight: bold; color: #2a2b32; line-height: 1.5; }
.solace-badge-auto { background: #faf9f6; color: #cf5c42; border: 1px solid #cf5c42; border-radius: 0; padding: 2px 8px; font-size: 10.5px; font-weight: bold; }
.solace-badge-manual { background: #fafafa; color: #777772; border: 1px solid #e2e2dc; border-radius: 0; padding: 2px 8px; font-size: 10.5px; }
.solace-card-footer { display: flex; align-items: flex-end; justify-content: space-between; margin-top: 15px; border-top: 1px solid #2a2b32; padding-top: 15px; }
.solace-price-box { display: flex; flex-direction: column; }
.solace-qty-info { font-size: 11px; color: #5a5b62; margin-bottom: 3px; }
.solace-price { font-size: 19px; font-weight: bold; color: #cf5c42; }
.solace-btn-action { background: #2a2b32; color: #ffffff !important; border: 1px solid #2a2b32; padding: 8px 22px; border-radius: 0; font-size: 12px; font-weight: bold; cursor: pointer; transition: all 0.25s; text-decoration: none !important; display: inline-block; }
.solace-btn-action:hover { background: #cf5c42; border-color: #cf5c42; }
.solace-pod-panel { background: #ffffff; border: 1px solid #2a2b32; padding: 35px; box-sizing: border-box; box-shadow: 2px 2px 0px #2a2b32; }
.layui-form-label { background: #ede6d6 !important; border: 1px solid #2a2b32 !important; border-right: none !important; color: #2a2b32 !important; border-radius: 0 !important; font-weight: bold !important; }
.layui-input { border-radius: 0 !important; border: 1px solid #2a2b32 !important; background: #ffffff !important; }
.layui-input:focus { border-color: #cf5c42 !important; box-shadow: 2px 2px 0px rgba(207,92,66,0.1) !important; }

/* Mobile Adaptations */
@media (max-width: 992px) {
    .solace-grid { grid-template-columns: repeat(2, 1fr); }
    .solace-bento-giant { grid-column: auto; grid-row: auto; min-height: 170px; }
}
@media (max-width: 768px) {
    .solace-head-wrap { flex-direction: column; gap: 15px; padding: 15px; margin: 15px auto; }
    .solace-menu { flex-wrap: wrap; justify-content: center; gap: 10px; }
    .solace-menu a { padding: 8px 15px; font-size: 12.5px; }
    .solace-container { padding: 0 15px; }
    .solace-grid { grid-template-columns: 1fr; gap: 15px; }
}
