/* Warm grocery storefront palette. Existing layout and commerce behavior stay intact. */
:root {
    --food-cream: #faf7f0;
    --food-green: #355e3b;
    --food-green-dark: #294a30;
    --food-ink: #263b2c;
    --food-muted: #6c7465;
    --food-border: #dedfd1;
    --food-tomato: #d95b3f;
    --food-tomato-text: #b94b32;
    --food-tomato-button: #bc4c33;
    --cs-blue: var(--food-green);
    --cs-ink: var(--food-ink);
    --cs-muted: var(--food-muted);
    --cs-line: var(--food-border);
    --cs-bg: #f2f0e4;
}
body { background: var(--food-cream); color: var(--food-ink); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
    outline-color: var(--food-green);
}
.cs-announcement { background: var(--food-green); color: #fff; }
.cs-header { background: #fffdf8; border-color: var(--food-border); box-shadow: 0 4px 14px rgb(53 94 59 / 6%); }
.cs-header .cs-search { background: #f7f4ec; border-color: #d5ddcb; }
.cs-search input { color: var(--food-ink); }
.cs-search input::placeholder { color: #777e6f; }
.cs-search button { color: var(--food-green); }
.cs-user-links, .cs-menu-button, .cs-nav-scroll { color: var(--food-ink); }
.cs-nav-scroll a:hover, .cs-help:hover { color: var(--food-green); }
.cs-nav-scroll .cs-nav-sale { color: var(--food-tomato-text); }
.cs-user-links .cs-admin-link { background: #edf1e6; border-color: #cbd8bf; color: var(--food-green); }
.cs-user-links .cs-admin-link:focus-visible { outline-color: var(--food-green); }
.cs-help { color: var(--food-muted); }
.cs-menu { background: #fffdf8; border-color: var(--food-border); box-shadow: 0 20px 30px rgb(53 94 59 / 8%); }
.cs-menu-grid a { background: #f1f2e7; }
.cs-menu-grid a:hover { background: #e6eddc; color: var(--food-green); }
.cl-kicker, .cs-eyebrow { color: var(--food-green); }
.cs-home .cl-hero, .cs-home .cl-hero > .cl-hero-controls { background: var(--food-cream); }
.cl-hero .cl-hero-food { background: #f0f1e3; }
.cl-hero .cl-hero-home { background: #f5eddf; }
.cl-hero-copy h1, .cl-hero-copy h2, .cs-section-title h2 { color: var(--food-ink); }
.cl-hero-copy em { color: var(--food-green); }
.cl-hero-copy p { color: #586751; }
.cl-cta, .cs-primary { background: var(--food-green); color: #fff; }
.cl-cta:hover, .cs-primary:hover { background: var(--food-green-dark); color: #fff; }
.cl-hero-caption { color: #6b7c61; }
.cl-hero-caption > span { background: #99ae87; }
.cl-hero-seal { background: #fffdf5; color: var(--food-green); box-shadow: 0 4px 18px rgb(53 94 59 / 8%); }
.cs-home .cl-hero > .cl-hero-controls button { background: #fffdf8; border-color: #d4dcc9; color: var(--food-green); }
.cs-home .cl-hero > .cl-hero-controls button:hover { background: #e9eddc; }
.cs-home .cl-hero > .cl-hero-controls [data-hero-count] { color: var(--food-ink); }
.cs-home .cl-hero > .cl-hero-controls [data-hero-count] i { color: var(--food-muted); }
.cs-home > .cs-categories > a { color: var(--food-ink); }
.cs-home > .cs-categories > a > span { background: #f0eadf; box-shadow: 0 4px 14px rgb(53 94 59 / 7%); }
.cs-categories.cs-wrap > a:focus-visible { outline-color: var(--food-green); }
.cs-categories a:hover b, .cs-section-title > a:hover { color: var(--food-green); }
.cs-discover { background: #f2efe5; }
.cs-feature-blue { background: #e8eddc; }
.cs-feature-yellow { background: #f3e7d3; }
.cs-feature span { color: #68775e; }
.cs-tag { background: #edf1e5; color: var(--food-green); }
.cs-sample { background: #f0eee4; color: var(--food-muted); }
.cs-feature h2, .cs-feature p, .cs-service h2 { color: var(--food-ink); }
.cs-service > a { background: #fffdf8; border-color: var(--food-border); }
.cs-service > a:hover { background: #edf1e5; color: var(--food-green); }
.cs-footer { background: #eee9de; border-color: #ded9cd; }
.cs-footer-top, .cl-footer-bottom { border-color: #d9d8c9; }
.cs-footer-top p, .cs-footer-bottom p, .cs-footer-bottom small,
.cl-footer-business dl > div, .cl-footer-email, .cl-footer-bank small,
.cl-footer-bottom, .cl-footer-bottom small { color: var(--food-muted); }
.cl-footer-grid h2, .cl-footer-bank p { color: var(--food-ink); }
.cl-footer-business dt { color: #777f6f; }
.cl-footer-phone { color: var(--food-green) !important; }
.cl-footer-email { color: var(--food-muted) !important; }
.cl-footer-inquiry { background: #fffdf8; border-color: #d2dac7; color: var(--food-green) !important; }
.cl-footer-test { background: #e5eada; color: #586d4d; }
.cl-footer-test strong { color: var(--food-green); }
.cs-mobile-nav { background: #fffdf8f5; border-color: #dde1d3; box-shadow: 0 -3px 15px rgb(53 94 59 / 8%); }
.cs-mobile-nav a, .cs-mobile-nav button { color: #5d7057; }
.cs-mobile-nav a:hover, .cs-mobile-nav button:hover { color: var(--food-green); }
.cs-catalog-heading h1, .cs-page-title { color: var(--food-ink); }
.cs-breadcrumb { color: #7b8373; }
.cs-catalog-toolbar { border-color: var(--food-border); }
.cs-catalog-toolbar strong { color: var(--food-green); }
.cs-catalog-toolbar select { background: #fffdf8; color: #5f7059; }
.cs-subcategories a { background: #fffdf8; border-color: #d9dfce; color: #566b4e; }
.cs-subcategories a:hover { border-color: var(--food-green); background: #eef2e6; color: var(--food-green); }

/* Category colour overrides for the shared food-palette.css.
   Keep all grid, Swiper, motion, loading and photo rules in their current files. */

.cs-discover .cs-category-swiper [data-category-id],
.cs-subpage-categories > a[data-category-id] {
    --category-bg: #EEF2E7;
    --category-color: var(--food-green, #355E3B);
    color: var(--food-ink, #263B2C);
}

/* Gentle sage, grain and ivory variation replaces the blue/purple accents. */
.cs-discover .cs-category-swiper [data-category-id="20"],
.cs-discover .cs-category-swiper [data-category-id="b0"],
.cs-subpage-categories [data-category-id="20"],
.cs-subpage-categories [data-category-id="b0"] {
    --category-bg: #ECF0E2;
}

.cs-discover .cs-category-swiper [data-category-id="30"],
.cs-discover .cs-category-swiper [data-category-id="90"],
.cs-subpage-categories [data-category-id="30"],
.cs-subpage-categories [data-category-id="90"] {
    --category-bg: #E9EEE2;
}

.cs-discover .cs-category-swiper [data-category-id="50"],
.cs-discover .cs-category-swiper [data-category-id="60"],
.cs-subpage-categories [data-category-id="50"],
.cs-subpage-categories [data-category-id="60"] {
    --category-bg: #F3ECD9;
}

.cs-discover .cs-category-swiper [data-category-id="70"],
.cs-discover .cs-category-swiper [data-category-id="a0"],
.cs-subpage-categories [data-category-id="70"],
.cs-subpage-categories [data-category-id="a0"] {
    --category-bg: #EDF0E7;
}

.cs-discover .cs-category-swiper [data-category-id="80"],
.cs-subpage-categories [data-category-id="80"] {
    --category-bg: #F5E8DA;
}

.cs-discover .cs-category-swiper .is-active,
.cs-subpage-categories > .is-active {
    color: var(--food-green, #355E3B);
}

.cs-discover .cs-category-swiper .is-active .cs-category-icon,
.cs-subpage-categories .is-active .cs-category-icon {
    background: var(--food-green, #355E3B);
    color: #fff;
    box-shadow: 0 0 0 3px #DDE6D4, 0 5px 13px #355E3B14;
}

.cs-discover .cs-category-swiper a:focus-visible,
.cs-discover .cs-category-arrow:focus-visible,
.cs-subpage-categories > a:focus-visible {
    outline-color: var(--food-green, #355E3B);
}

.cs-discover .cs-category-arrow {
    background: #fff;
    border-color: var(--food-border, #DEDFD1);
    color: var(--food-green, #355E3B);
}

.cs-discover .cs-discover-empty {
    color: var(--food-muted, #6C7465);
}

/* A darker tomato shade keeps the small error message readable on ivory. */
.cs-discover .cs-discover-status.is-error {
    color: var(--food-tomato-text, #B94B32);
}

@media (hover: hover) {
    .cs-discover .cs-category-swiper a:hover .cs-category-icon,
    .cs-subpage-categories > a:hover .cs-category-icon {
        box-shadow: 0 5px 13px #355E3B12;
    }

    .cs-discover .cs-category-swiper a.is-active:hover .cs-category-icon,
    .cs-subpage-categories > a.is-active:hover .cs-category-icon {
        box-shadow: 0 0 0 3px #DDE6D4, 0 5px 13px #355E3B14;
    }

    .cs-discover .cs-category-arrow:not(:disabled):hover {
        background: #ECF0E2;
        border-color: #A8B99C;
    }
}

/* 공통 팔레트 뒤에 병합할 상품·구매·고객 계정 색상 제안.
   폼의 크기, 표시 여부, 입력값, 검증 및 결제 동작은 변경하지 않는다. */

/* 상품 카드: 사진은 흰 바탕, 할인만 토마토색으로 구분 */
.cs-card .cs-photo {
    background: #fff;
    border-color: var(--food-border, #dedfd1);
}
.cs-card h3,
.cs-card .cs-prices strong,
.cs-card .cs-prices small {
    color: var(--food-ink, #263b2c);
}
.cs-card-desc,
.cs-card .cs-prices del {
    color: var(--food-muted, #6c7465);
}
.cs-card .cs-discount,
.cs-nav-scroll .cs-nav-sale {
    color: var(--food-tomato-text, #b94b32);
}
.cs-card .cs-card-bag {
    background: #fffdf8;
    color: var(--food-green, #355e3b);
    box-shadow: 0 2px 8px rgb(53 94 59 / 13%);
}
.cs-card .cs-card-bag:hover {
    background: var(--food-tomato-button, #bc4c33);
    color: #fff;
}
.cs-card .cs-card-bag:focus-visible {
    outline-color: var(--food-green, #355e3b);
}

/* 상품 상세의 구매 버튼과 총액 */
#sit_ov .sit_ov_tbl th {
    color: var(--food-muted, #6c7465);
}
#sit_ov .sit_ov_tbl td,
#sit_ov .sit_ov_tbl .tr_price strong,
#sit_tot_price strong {
    color: var(--food-ink, #263b2c);
}
#sit_ov .sit_ov_tbl .tr_price td,
#sit_ov .sit_ov_tbl .tr_price th {
    border-bottom-color: var(--food-border, #dedfd1) !important;
}
#sit_ov_btn .sit_btn_buy,
#sod_bsk_act .btn_submit,
#display_pay_button .btn_submit {
    background: var(--food-tomato-button, #bc4c33) !important;
    border-color: var(--food-tomato-button, #bc4c33) !important;
    color: #fff !important;
}
#sit_ov_btn .sit_btn_buy:hover,
#sod_bsk_act .btn_submit:hover,
#display_pay_button .btn_submit:hover {
    background: #a6402b !important;
    border-color: #a6402b !important;
    color: #fff !important;
}
#sit_ov_btn .sit_btn_cart,
#sod_bsk_act .btn01,
#display_pay_button .btn01 {
    background: #fffdf8;
    border-color: var(--food-green, #355e3b);
    color: var(--food-green, #355e3b);
}
#sit_ov_btn .sit_btn_cart:hover,
#sod_bsk_act .btn01:hover,
#display_pay_button .btn01:hover {
    background: #edf1e8;
    color: var(--food-green, #355e3b);
}
#sit_ov_btn .sit_btn_wish,
.btn_cart_del button {
    background: #fffdf8;
    border-color: var(--food-border, #dedfd1);
    color: var(--food-green, #355e3b);
}
#sit_use_wbtn a,
#sit_qa_wbtn a {
    background: #fffdf8;
    border-color: var(--food-border, #dedfd1);
    color: var(--food-green, #355e3b);
}
#sit_use_wbtn a.btn02,
#sit_qa_wbtn a.btn02 {
    background: var(--food-green, #355e3b);
    border-color: var(--food-green, #355e3b);
    color: #fff;
}
#sit_tab .tab_tit li button.selected {
    border-bottom-color: var(--food-green, #355e3b);
    color: var(--food-green, #355e3b);
}
.cs-feedback-heading h3 span {
    color: var(--food-green, #355e3b);
}
.cs-feedback-icon {
    background: #edf1e8;
    color: var(--food-green, #355e3b);
}

/* 장바구니·주문: 구매 액션은 토마토, 입력과 보조 액션은 올리브 */
#sod_bsk_tot {
    background: var(--food-cream, #faf7f0);
    border-color: var(--food-border, #dedfd1);
}
#sod_bsk_tot ul li {
    color: var(--food-muted, #6c7465);
}
#sod_bsk_tot .sod_bsk_cnt,
#sod_bsk_tot .sod_bsk_cnt strong {
    color: var(--food-ink, #263b2c);
}
#sod_frm #sod_frm_orderer,
#sod_frm #sod_frm_taker,
#sod_frm .sod_right {
    border-color: var(--food-border, #dedfd1) !important;
    background: #fffdf8 !important;
}
#sod_frm #sod_frm_orderer h2,
#sod_frm #sod_frm_taker h2,
#sod_frm #sod_frm_pay h2,
#sod_frm .cs-summary-title {
    color: var(--food-ink, #263b2c) !important;
}
#sod_frm .cs-field-label,
#sod_frm .cs-field-control,
#sod_frm .cs-step-heading p,
#sod_frm .pay_tbl th,
#sod_frm .cs-shipping-note,
#sod_frm .cs-checkout-note {
    color: var(--food-muted, #6c7465);
}
#sod_frm .cs-required-field > .cs-field-label::after {
    color: var(--food-green, #355e3b);
}
#sod_frm .cs-step-heading > span {
    background: #edf1e8;
    color: var(--food-green, #355e3b);
}
#sod_frm input.frm_input,
#sod_frm select,
#sod_frm input[type="text"],
#sod_frm input[type="password"],
#sod_frm #od_memo {
    border-color: var(--food-border, #dedfd1) !important;
    color: var(--food-ink, #263b2c) !important;
    background-color: #fff !important;
}
#sod_frm input:focus,
#sod_frm textarea:focus,
#sod_frm select:focus {
    border-color: var(--food-green, #355e3b) !important;
    outline-color: #dce5d6 !important;
}
#sod_frm input::placeholder,
#sod_frm textarea::placeholder {
    color: #8c9284 !important;
}
#sod_frm .btn_address,
#sod_frm .btn_frmline,
#sod_frm #order_address {
    background: #edf1e8 !important;
    border-color: #ccd6c4 !important;
    color: var(--food-green, #355e3b) !important;
}
#sod_frm .order_choice_place > label {
    border-color: var(--food-border, #dedfd1);
    color: var(--food-muted, #6c7465);
}
#sod_frm .order_choice_place > input:checked + label {
    background: #edf1e8;
    border-color: var(--food-green, #355e3b);
    color: var(--food-green, #355e3b);
}
#sod_frm .order_choice_place > input:checked + label::before {
    border-color: var(--food-green, #355e3b);
}
#sod_frm .order_choice_place > input:focus-visible + label {
    outline-color: #dce5d6;
}
#sod_frm #ad_default,
#sod_frm_paysel input[type="radio"],
#sod_frm_paysel input[type="checkbox"] {
    accent-color: var(--food-green, #355e3b);
}
#sod_frm #sod_frm_paysel .lb_icon,
#sod_frm #settle_bank {
    background: var(--food-cream, #faf7f0) !important;
    border-color: var(--food-border, #dedfd1) !important;
    color: var(--food-ink, #263b2c);
}
#sod_frm #od_pay_sl,
#sod_frm #od_tot_price {
    border-top-color: var(--food-border, #dedfd1) !important;
}
#sod_frm #sod_bsk_tot li,
#sod_frm #sod_bsk_tot li span {
    color: var(--food-muted, #6c7465) !important;
}
#sod_frm #sod_bsk_tot li strong {
    color: var(--food-ink, #263b2c) !important;
}
#sod_frm #od_tot_price strong {
    color: var(--food-tomato-text, #b94b32) !important;
}

/* 회원·로그인과 주문 조회는 탐색 계열의 올리브 버튼 */
.cl-auth-page {
    background: var(--food-cream, #faf7f0);
    color: var(--food-ink, #263b2c);
}
.cl-auth-page #mb_login.cl-login-card {
    background: #fffdf8 !important;
    border-color: var(--food-border, #dedfd1) !important;
    box-shadow: 0 16px 42px rgb(53 94 59 / 4%);
}
.cl-login-symbol {
    background: #edf1e8;
    border-color: #d5dfcd;
}
.cl-auth-page .cl-login-heading h1,
.cl-auth-field > label {
    color: var(--food-ink, #263b2c);
}
.cl-back-shop,
.cl-login-heading > p:last-child,
.cl-login-options > label,
.cl-login-options > a,
.cl-join-prompt p,
.cl-auth-footer {
    color: var(--food-muted, #6c7465);
}
.cl-auth-page #login_fs input[type="text"],
.cl-auth-page #login_fs input[type="password"],
.cl-auth-page #mb_login_od .frm_input {
    border-color: var(--food-border, #dedfd1);
    color: var(--food-ink, #263b2c);
}
.cl-auth-page #login_fs input:focus,
.register input:focus,
.mbskin input:focus {
    border-color: var(--food-green, #355e3b) !important;
    outline-color: #dce5d6 !important;
}
.cl-password-toggle {
    background: #edf1e8;
    color: var(--food-green, #355e3b);
}
.cl-login-options input,
.cl-auth-page #mb_login_notmb .chk_box input,
.register .fregister_agree input[type="checkbox"] {
    accent-color: var(--food-green, #355e3b);
}
.cl-login-submit,
.cl-auth-page #mb_login_notmb .btn_submit,
.cl-auth-page #mb_login_od .btn_submit,
.cs-auth-layout .btn_submit,
.register .btn_submit,
.mbskin:not(#mb_login) .btn_submit {
    background: var(--food-green, #355e3b) !important;
    border-color: var(--food-green, #355e3b) !important;
    color: #fff !important;
}
.cl-login-submit:hover {
    background: #294b2e !important;
}
.cl-join-prompt,
.cl-auth-page #mb_login_notmb,
.cl-auth-page #mb_login_od_wr {
    border-color: var(--food-border, #dedfd1);
}
.cl-join-prompt a,
.cs-order-status {
    color: var(--food-green, #355e3b);
}
.cl-auth-page .cl-back-shop {
    color: var(--food-muted, #6c7465) !important;
}
.cl-auth-page #guest_privacy,
.register textarea,
.register #fregister_private th,
.register #fregister_chkall,
.register #fregister > p {
    background: var(--food-cream, #faf7f0) !important;
    border-color: var(--food-border, #dedfd1) !important;
    color: var(--food-muted, #6c7465) !important;
}
.register section,
.register .register_form_inner,
.mbskin:not(#mb_login) {
    border-color: var(--food-border, #dedfd1) !important;
}
.register .register_form_inner .frm_input,
.register select {
    border-color: var(--food-border, #dedfd1) !important;
    color: var(--food-ink, #263b2c) !important;
}
.register .register_form_inner label,
.register .fregister_agree label {
    color: var(--food-muted, #6c7465) !important;
}
.register .btn_frmline {
    background: #edf1e8 !important;
    border-color: #ccd6c4 !important;
    color: var(--food-green, #355e3b) !important;
}
.cs-my-nav a.active {
    background: #edf1e8;
    border-color: #ccd6c4;
    color: var(--food-green, #355e3b);
}
#sod_fin .btn01,
#sod_fin .btn02 {
    background: var(--food-green, #355e3b);
    border-color: var(--food-green, #355e3b);
    color: #fff;
}

/* 회사소개와 FAQ의 별도 스킨에 남아 있는 하늘색·청록색 */
.cl-about,
.cl-about-hero h2 em,
.cl-about .cl-about-eyebrow,
.cl-about-number,
.cl-about-category-link {
    color: var(--food-green, #355e3b);
}
.cl-about-hero {
    background: #edf1e8;
    border-color: var(--food-border, #dedfd1);
}
.cl-about .cl-about-lead,
.cl-about-intro > p:last-child,
.cl-about-category p {
    color: var(--food-muted, #6c7465);
}
.cl-about-button,
.cl-about-contact {
    background: var(--food-green, #355e3b);
    color: #fff;
}
.cl-about-button:hover {
    background: var(--food-green-dark, #294a30);
}
.cl-about-category {
    background: #fffdf8;
    border-color: var(--food-border, #dedfd1);
    color: var(--food-ink, #263b2c) !important;
}
.cl-about-category:hover {
    background: #edf1e8;
    border-color: #adbea0;
}
.cl-about-contact .cl-about-eyebrow {
    color: #d9e4d0;
}
.cl-about-contact > div > p:last-of-type,
.cl-about-contact .cl-about-contact-label {
    color: #d0ddc8;
}
.cl-about-button-light {
    background: #fffdf8;
    color: var(--food-green, #355e3b) !important;
}
.cl-about-button-light:hover {
    background: #edf1e8;
}
#bo_cate a {
    border-color: var(--food-border, #dedfd1);
    color: var(--food-green, #355e3b);
}
#bo_cate a:focus,
#bo_cate a:hover,
#bo_cate a:active,
#bo_cate #bo_cate_on {
    background: var(--food-green, #355e3b);
    border-color: var(--food-green, #355e3b);
    color: #fff;
}
#bo_cate #bo_cate_on {
    box-shadow: inset 0 2px 5px rgb(38 59 44 / 13%);
}
#faq_wrap li,
#faq_wrap li:first-child {
    border-color: var(--food-border, #dedfd1);
    background: #fffdf8;
}
#faq_wrap li h3 .tit_btn {
    background: #fffdf8;
    color: var(--food-muted, #6c7465);
}
#faq_wrap li h3 .tit_bg {
    color: var(--food-ink, #263b2c);
}
#faq_wrap li h3.faq_li_open a,
#faq_con .con_inner .closer_btn {
    color: var(--food-green, #355e3b);
}
#faq_con .con_inner .closer_btn {
    background: #fffdf8;
}
#faq_sch {
    background: var(--food-cream, #faf7f0);
}
#faq_sch .frm_input {
    border-color: var(--food-border, #dedfd1);
}
#faq_sch .btn_submit {
    background: var(--food-green, #355e3b);
    border-color: var(--food-green, #355e3b);
    color: #fff;
}
