/* Barlow Condensed: 영문 대형 디스플레이 전용(로컬 파일 없음 → 웹폰트 유지). Nunito/Oswald는 로컬로 대체하여 제거 */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&display=swap');

/* ============================================================
   FONTS  —  로컬 파일 + 한글(Pretendard) 매핑
   업로드 위치: /assets/font, /assets/font/static
   원리: 영문 패밀리명(Nunito, Trade Gothic LT Bold 등)은 그대로 두고
        한글 코드영역만 unicode-range 로 Pretendard 에 위임 → 각 페이지 CSS 무수정
   한글 범위: U+1100-11FF, U+3130-318F, U+A960-A97F, U+AC00-D7A3, U+D7B0-D7FF
   ============================================================ */

/* ── Nunito (영문 본문, 가변 폰트로 전 weight 커버) ── */
@font-face { font-family:"Nunito"; src:url("/assets/font/Nunito-VariableFont_wght.ttf") format("truetype-variations"); font-weight:200 1000; font-style:normal; font-display:swap; }
@font-face { font-family:"Nunito"; src:url("/assets/font/Nunito-Italic-VariableFont_wght.ttf") format("truetype-variations"); font-weight:200 1000; font-style:italic; font-display:swap; }

/* ── Nunito 별칭 패밀리(영문) ── */
@font-face { font-family:"Nunito Light";      src:url("/assets/font/static/Nunito-Light.ttf") format("truetype");     font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Nunito SemiBold";   src:url("/assets/font/static/Nunito-SemiBold.ttf") format("truetype");  font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Nunito Extra Bold"; src:url("/assets/font/static/Nunito-ExtraBold.ttf") format("truetype"); font-weight:800; font-style:normal; font-display:swap; }

/* ── Trade Gothic(영문, 제목 전용 → 굵은 파일만 보유, 제목용이므로 Bold 매핑 적정) ── */
@font-face { font-family:"Trade Gothic LT Bold"; src:url("/assets/font/TradeGothicLTCom-Bold.ttf") format("truetype"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Trade Gothic LT";      src:url("/assets/font/TradeGothic Regular.otf") format("opentype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Trade Gothic LT";      src:url("/assets/font/TradeGothicLTCom-Bold.ttf") format("truetype"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Trade Gothic";         src:url("/assets/font/TradeGothicLTCom-BdCn20.ttf") format("truetype"); font-weight:400 700; font-style:normal; font-display:swap; }

/* ── Pretendard (한글 본체, 직접 지정용 독립 패밀리) ── */
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-Thin.otf") format("opentype");       font-weight:100; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-ExtraLight.otf") format("opentype"); font-weight:200; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-Light.otf") format("opentype");      font-weight:300; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-Regular.otf") format("opentype");    font-weight:400; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-Medium.otf") format("opentype");     font-weight:500; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-SemiBold.otf") format("opentype");   font-weight:600; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-Bold.otf") format("opentype");       font-weight:700; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-ExtraBold.otf") format("opentype");  font-weight:800; font-display:swap; }
@font-face { font-family:"Pretendard"; src:url("/assets/font/static/Pretendard-Black.otf") format("opentype");      font-weight:900; font-display:swap; }

/* ── 한글 영역만 Pretendard 로 위임 (영문 패밀리명에 덧씌움) ── */
/* Nunito → Pretendard (weight 매칭) */
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-Light.otf") format("opentype");     font-weight:300; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-Regular.otf") format("opentype");   font-weight:400; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-Medium.otf") format("opentype");    font-weight:500; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-SemiBold.otf") format("opentype");  font-weight:600; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-Bold.otf") format("opentype");      font-weight:700; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-ExtraBold.otf") format("opentype"); font-weight:800; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito"; src:url("/assets/font/static/Pretendard-Black.otf") format("opentype");     font-weight:900; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }

/* Nunito 별칭 → Pretendard */
@font-face { font-family:"Nunito Light";      src:url("/assets/font/static/Pretendard-Light.otf") format("opentype");     font-weight:300; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito SemiBold";   src:url("/assets/font/static/Pretendard-SemiBold.otf") format("opentype");  font-weight:600; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Nunito Extra Bold"; src:url("/assets/font/static/Pretendard-ExtraBold.otf") format("opentype"); font-weight:800; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }

/* Trade Gothic 계열 → Pretendard (제목: 굵게) */
@font-face { font-family:"Trade Gothic LT Bold"; src:url("/assets/font/static/Pretendard-Bold.otf") format("opentype");     font-weight:700; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Trade Gothic LT";      src:url("/assets/font/static/Pretendard-Bold.otf") format("opentype");     font-weight:400 700; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Trade Gothic";         src:url("/assets/font/static/Pretendard-Bold.otf") format("opentype");     font-weight:400 700; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }

/* Barlow Condensed(영문 디스플레이) → 한글은 Pretendard 로 (Barlow 엔 한글 없음) */
@font-face { font-family:"Barlow Condensed"; src:url("/assets/font/static/Pretendard-Bold.otf") format("opentype");      font-weight:700; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Barlow Condensed"; src:url("/assets/font/static/Pretendard-ExtraBold.otf") format("opentype"); font-weight:800; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }
@font-face { font-family:"Barlow Condensed"; src:url("/assets/font/static/Pretendard-Black.otf") format("opentype");     font-weight:900; font-display:swap; unicode-range:U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF; }

body {
    overflow-x: hidden;
	margin: 0; padding: 0;
}

:root {
    --cp-brown: #451400;
    --cp-font-bold: "Trade Gothic LT Bold", sans-serif;
}


/* ==========================================================================
   Header — 모바일 기본 (~767px)
   ========================================================================== */
.side-floating{display:none;}
#container>.sub_top {display:none;}
.ck-xf.ck-xf-header {
    width: 100%;
    background-color: #ffffff;
    border-bottom: 1px solid #e5e5e5;
    position: sticky;
    top: 0;
    z-index: 1000;
}

#ck-header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 69px;
    width: 100%;
    padding: 0 14px;
    box-sizing: border-box;
}

#ck-header-left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}

#ck-header-left .image img {
    width: 49px;
    height: 49px;
    display: block;
}

#ck-header-hamburger {
    display: flex;
    align-items: center;
}

#ck-header-hamburger .ck-util-link {
    padding: 4px;
}

#ck-header-center {
    display: none;
}

#ck-header-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* ==========================================================================
   국가 선택 바 — 헤더 최상단
   ========================================================================== */
#ck-country-bar {
    width: 100%;
    background-color: #f2f2f2;
    border-bottom: 1px solid #e5e5e5;
    box-sizing: border-box;
}

.ck-country-bar__inner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px;
}

.ck-country-bar__flag {
    width: 22px;
    height: 15px;
    flex-shrink: 0;
    background-image: url("https://flagcdn.com/w40/kr.png");
    background-size: cover;
    background-position: center;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

.ck-country-bar__name {
    font-family: "Nunito", sans-serif;
    font-size: 10px;
    font-weight: 700;
    font-style: normal;
    line-height: 16px;       /* 160% */
    letter-spacing: 1px;
    color: #451400;
    white-space: nowrap;
}

@media (min-width: 768px)  { .ck-country-bar__inner { padding: 14px 24px; } }
@media (min-width: 1200px) { .ck-country-bar__inner { padding: 14px 40px; } }

.ck-actions-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ck-util-iconwrap {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ck-util-link {
    text-decoration: none;
    color: #451400;
    display: flex;
    align-items: center;
    transition: color 0.2s ease-in-out;
}

.ck-util-link svg {
    fill: currentColor;
    transition: fill 0.2s ease-in-out;
}

.ck-util-link:hover { color: #a76721; }
.ck-util-link:hover svg { fill: #a76721; }

/* 모바일: SIGN IN 숨김 */
.ck-user { display: none; }

/* 모바일: 텍스트 라벨 기본 숨김 */
.ck-util-text { display: none; }

/* 모바일: FIND A CHIPOTLE 아이콘 + 텍스트 표시 */
.ck-store-link .ck-pin {
    display: flex;
}

.ck-store-link .ck-pin svg {
    width: 22px;
    height: 22px;
}

.ck-store-link .ck-util-text {
    display: inline;
    font-family: "Nunito", sans-serif;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.15px;
    color: #451400;
}

.ck-bag-wrap {
    display: flex;
    align-items: center;
    margin-left: 0;
}

.ck-bag {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}

.ck-bag svg {
    width: 48px;
    height: 48px;
    fill: var(--cp-brown);
    transition: fill 0.2s ease-in-out;
}

.ck-util-link:hover .ck-bag svg { fill: #a76721; }


/* Header — 태블릿 (768px~1199px) */
@media (min-width: 768px) {
    .ck-xf.ck-xf-header {
        box-shadow: 0 10px 11px -5px rgba(0,0,0,0.1);
    }

    #ck-header-container {
        height: 100px;
        padding: 0 24px;
    }

    #ck-header-left .image img {
        width: 64px;
        height: 64px;
    }

    .ck-user { display: flex; }

    .ck-util-text {
        display: inline;
        font-family: "Trade Gothic LT Bold", sans-serif;
        font-size: 14px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-left: 8px;
    }

    .ck-store-link .ck-pin svg {
        width: 24px;
        height: 24px;
    }

    .ck-store-link .ck-util-text {
        font-size: 14px;
    }

    .ck-bag-wrap { margin-left: 16px; }
}


/* Header — 데스크탑 (1200px+) */
@media (min-width: 1200px) {
    #ck-header-container {
        display: grid;
        grid-template-columns: 64px auto 1fr;
        align-items: center;
        height: 100px;
        width: 100%;
        padding: 0 40px;
        box-sizing: border-box;
    }

    #ck-header-left {
        gap: 0;
    }

    /* 데스크탑: 햄버거 숨김 */
    #ck-header-hamburger { display: none; }

    #ck-header-center {
        display: block;
        margin-left: 20px;
    }

    #ck-header-nav .ck-text {
        display: flex;
        align-items: center;
    }

    #ck-header-nav .ck-text h2 { margin: 0 18px; 
		font-family: Trade Gothic LT Bold, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
		font-size: 1.5rem;
		font-weight: 500;
		}

    #ck-header-nav .ck-text h2 a {
        text-decoration: none;
        color: #451400;
        
        font-weight: 900;
        letter-spacing: 1px;
        position: relative;
        padding-bottom: 12px;
        transition: color 0.2s ease-in-out;
        display: inline-block;
    }

    #ck-header-nav .ck-text h2 a:hover { color: #ad2118; }

    #ck-header-nav .ck-text h2 a::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 4px;
        background-color: #ad2118;
        transition: width 0.2s ease-in-out;
    }

    #ck-header-nav .ck-text h2 a:hover::after { width: 24px; }

    #ck-header-right {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        height: 100%;
    }

    .ck-actions-right {
        display: flex;
        align-items: center;
        gap: 24px;
    }

    .ck-bag-wrap { margin-left: 24px; }
	/* 국기/국가 선택 영역을 푸터 최하단 전체 폭으로 */
	#ck-footer-container > .container.responsivegrid:has(#ck-trademark) {
		grid-column: 1 / -1;   /* 3개 열 전체 차지 */
		grid-row: 99;          /* 마지막 행으로 강제 (빈 행은 높이 0으로 접힘) */
	}
}


/* ==========================================================================
   모바일 전체화면 메뉴 (햄버거)
   ========================================================================== */

.ck-mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    /* 화면 중심에서 확장되며 열림 */
    transform: scale(0.6);
    transform-origin: center center;
    opacity: 0;
    visibility: hidden;
    transition: transform 0.25s ease, opacity 0.25s ease, visibility 0s linear 0.25s;
}

.ck-mobile-menu.is-open {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
    transition: transform 0.25s ease, opacity 0.25s ease, visibility 0s;
}

.ck-mobile-menu__bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 69px;
    padding: 0 14px;
    flex: 0 0 auto;
    border-bottom: 1px solid #d4cbc7;
}

.ck-mobile-menu__close {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    color: #451400;
}

.ck-mobile-menu__nav {
    display: flex;
    flex-direction: column;
    padding: 8px 24px 24px;
    background-color: #f2f2f2;
    border-bottom: 1px solid #d4cbc7;
}

.ck-mobile-menu__link {
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #451400;
    text-decoration: none;
    padding: 12px 0;
    transition: color 0.15s ease-in-out;
}

.ck-mobile-menu__link:hover { color: #ad2118; }

@media (min-width: 768px) {
    .ck-mobile-menu__bar { height: 100px; padding: 0 24px; }
}

/* 데스크탑(1200px+): 햄버거가 숨겨지므로 메뉴도 강제 숨김 */
@media (min-width: 1200px) {
    .ck-mobile-menu,
    .ck-mobile-menu.is-open { display: none !important; }
}


/* ==========================================================================
   Footer — 모바일 기본 (~767px)
   ========================================================================== */

.ck-xf.ck-xf-footer {
    width: 100%;
    background-color: #ffffff;
    margin-top: 50px;
    padding: 0;
}

#ck-xf-footer { width: 100%; }

#ck-footer-container {
    overflow-x: hidden;
    padding: 24px 20px 0;
    background-color: #ffffff;
    color: #451400;
    font-family: "Nunito", sans-serif;
    display: grid;
    grid-template-columns: 1fr;
    box-sizing: border-box;
    width: 100%;
}

#ck-footer-container h3 {
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    color: #451400;
    margin-bottom: 20px;
    margin-top: 0;
}

#ck-footer-primary-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 14px;
}

#ck-footer-primary-container .text p { margin-bottom: 16px; }

#ck-footer-primary .ck-text p a {
    font-family: "Trade Gothic LT Bold", "Barlow Condensed", sans-serif;
    font-size: 28px;
    font-weight: 900;
    color: #451400;
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
    transition: color 0.12s;
}

#ck-footer-primary .ck-text p a:hover { color: #9c1f16; }

#ck-footer-primary .ck-text p a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 4px;
    background-color: #9c1f16;
    transition: width 0.18s;
}

#ck-footer-primary .ck-text p a:hover::after { width: 24px; }

#ck-footer-secondary .ck-text {
    font-family: "Nunito", sans-serif;
    color: #451400;
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    margin-bottom: 40px;
}

#ck-footer-secondary .ck-text p {
    margin: 0 0 10px;
    width: 50%;
}

#ck-footer-secondary .ck-text p a {
    font-size: 16px;
    font-weight: 700;
    color: #451400;
    text-decoration: none;
    line-height: 2;
    transition: color 0.12s;
}

#ck-footer-secondary .ck-text p a:hover {
    text-decoration: underline;
    color: #786259;
}

#ck-footer-app { margin-bottom: 46px; }

#ck-footer-app .image a {
    display: inline-block;
    margin-right: 8px;
}

#ck-footer-app .image img {
    height: 36px;
    width: auto;
    display: inline-block;
}

#ck-footer-social { margin-bottom: 32px; }

#ck-footer-social .image a {
    display: inline-block;
    margin-right: 8px;
}

#ck-footer-social .image a:last-child { margin-right: 0; }

#ck-footer-social .image img {
    width: 32px !important;
    height: 32px !important;
    display: inline-block;
    vertical-align: middle;
    transition: opacity 0.2s;
}

#ck-footer-social .image img:hover { opacity: 0.5; }

#ck-trademark {
    display: flex;
    justify-content: center;
    margin: 0 -20px;
    padding: 20px 0;
    border-top: 1px solid #d7d7d7;
    box-sizing: border-box;
}

#ck-trademark .flag {
    margin-right: 8px;
    border: 1px solid #eee;
}

#ck-trademark .country {
    font-family: "Nunito SemiBold", sans-serif;
    color: #451400;
    white-space: nowrap;
}

#ck-trademark .text {
    display: flex;
    align-items: center;
    font-family: "Nunito SemiBold", sans-serif;
    font-size: 13px;
    color: #451400;
    font-weight: 400;
    line-height: 24px;
    padding-left: 34px;
}

#ck-trademark .text p { margin: 0; }

#ck-trademark .ck-text p {
    margin: 0;
    font-family: "Nunito", sans-serif;
    font-size: 13px;
    color: #451400;
}

#ck-footer-tertiary .ck-text {
    background-color: #f2f2f2;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin: 0 -20px;
    padding: 20px;
}

#ck-footer-tertiary .ck-text p {
    color: #786259;
    font-family: "Nunito SemiBold", "Nunito", sans-serif;
    font-size: 13px;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 13px;
}

#ck-footer-tertiary .ck-text p a {
    color: #786259;
    text-decoration: none;
    transition: color 0.12s;
    text-underline-offset: 3px;
}

#ck-footer-tertiary .ck-text p a:hover {
    color: #451400;
    text-decoration: underline;
    text-decoration-color: #786259;
}

.ck-cookie-prefs img {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px;
    position: relative;
    top: -1px;
}

.business-info {
    font-weight: 400;
    color: #786259 !important;
}

.mt-5 { margin-top: 1.25rem !important; }

#ck-footer-rewards {
    border-radius: 8px;
    padding: 40px;
    text-align: center;
}

#ck-footer-rewards .image img,
.ck-image__image[src*="rewardslogo"] {
    width: 96px !important;
    height: 96px !important;
    max-width: none !important;
    object-fit: contain;
    margin: 0 auto 40px !important;
    display: block;
}

#ck-footer-rewards .text p { margin: 0 !important; }
#ck-footer-rewards .text span { display: block; }
#ck-footer-rewards .font-size-48 { font-size: 48px !important; line-height: 1.2 !important; }
#ck-footer-rewards .font-size-20 { font-size: 20px !important; line-height: 24px !important; }
#ck-footer-rewards .font-size-16 { font-size: 16px !important; line-height: 1.25 !important; }
#ck-footer-rewards .color-red { color: #9c1f16 !important; }
#ck-footer-rewards .color-brown-light { color: #451400 !important; }

#ck-footer-rewards-btns {
    margin-top: 1.25rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 9px !important;
}

#ck-footer-rewards .ck-button {
    transition: all .12s;
    box-sizing: border-box;
    display: inline-block;
    font-family: "Trade Gothic LT", "Nunito", sans-serif;
    line-height: 2rem;
    text-align: center;
    text-decoration: none;
}

#ck-footer-rewards .ck-button:hover,
#ck-footer-rewards .ck-button:active { cursor: pointer; opacity: .7; }

#ck-footer-rewards .button.ck-btn-secondary .ck-button,
#ck-footer-rewards-guest .ck-btn-secondary .ck-button {
    border-radius: 4px !important;
    font-family: inherit !important;
    font-size: 24px !important;
    line-height: 29px !important;
    text-decoration: none !important;
    padding: 5px 20px !important;
    border: 1px solid #786259 !important;
    overflow: hidden !important;
    background: linear-gradient(to right, #6b321b 50%, #451400 50%) !important;
    background-position: 100% !important;
    background-size: 200% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    transition: background-position .3s ease !important;
    min-width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    cursor: pointer;
}

#ck-footer-rewards .button.ck-btn-secondary .ck-button:hover,
#ck-footer-rewards-guest .ck-btn-secondary .ck-button:hover {
    border-color: #6b321b !important;
    background-position: 0 100% !important;
    opacity: 1 !important;
}

#ck-footer-rewards .button.ck-btn-tertiary .ck-button,
#ck-footer-rewards .button.ck-btn-tertiary a.ck-button,
#ck-footer-rewards-guest .ck-btn-tertiary .ck-button,
#ck-footer-rewards-guest .ck-btn-tertiary a.ck-button {
    background-color: transparent !important;
    border: none !important;
    -webkit-text-fill-color: #a76721 !important;
    color: #a76721 !important;
    font-family: "Nunito", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
    border-bottom: none !important;
    padding: 0 12px !important;
    height: 36px !important;
    line-height: 36px !important;
    transition: all 0.12s !important;
    opacity: 1 !important;
    cursor: pointer;
}

#ck-footer-rewards .button.ck-btn-tertiary .ck-button:hover,
#ck-footer-rewards-guest .ck-btn-tertiary .ck-button:hover {
    -webkit-text-fill-color: #976500 !important;
    color: #976500 !important;
    opacity: 1 !important;
}


/* Footer — 태블릿 (768px+) */
@media (min-width: 768px) {
    #ck-footer-container {
        padding: 65px 32px 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    #ck-footer-container #ck-footer-primary-container { margin-bottom: 32px; }

    #ck-footer-container #ck-footer-secondary .ck-text {
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
    }

    #ck-footer-container .container:nth-child(6) { grid-column: 1 / 3; }
    #ck-footer-container .text:nth-child(7)      { grid-column: 1 / 3; }

    #ck-footer-container #ck-trademark,
    #ck-footer-container #ck-footer-tertiary .ck-text { margin: 0 -32px; }

    #ck-footer-container #ck-trademark { justify-content: center; }

    #ck-footer-container #ck-footer-tertiary .ck-text {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 34px 32px 21px;
    }

    #ck-footer-container .footerrewards,
    #ck-footer-container .ck-xf:nth-child(3) {
        grid-row: 3;
        grid-column: 1 / 3;
        margin: 0 -32px;
        padding: 0 32px;
        border-top: 1px solid #d7d7d7;
    }
}


/* Footer — 데스크탑 (1200px+) */
@media (min-width: 1200px) {
    #ck-footer-container {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 40px;
        padding: 64px 116px 0 !important;
        max-width: none !important;
        width: 100%;
        box-sizing: border-box;
    }

    #ck-footer-container > .container.responsivegrid {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    #ck-footer-primary-container {
        grid-column: 1;
        min-width: 250px;
        text-align: left !important;
    }

    #ck-footer-secondary {
        grid-column: 2;
        min-width: 250px;
    }

    .ck-xf:has(#ck-footer-rewards),
    #ck-footer-container > .ck-xf:nth-child(3) {
        grid-column: 3;
        grid-row: 1 / 3;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #ck-footer-app,
    #ck-footer-social {
        margin-top: 48px;
        grid-column: 1 / 3;
        padding: 0;
    }

    #ck-footer-container .container:nth-child(6) { grid-column: 1 / 4; }
    #ck-footer-container .text:nth-child(7)      { grid-column: 1 / 4; }

    #ck-footer-container #ck-trademark,
    #ck-footer-container #ck-footer-tertiary { margin: 0 -120px; }

    #ck-trademark {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        padding: 30px 116px !important;
        margin-top: 40px;
        border-top: none;
    }

    #ck-trademark .ck-country-flag { padding-top: 4px; }

    #ck-trademark .text {
        padding-left: 34px;
        text-align: left !important;
    }

    #ck-footer-tertiary .ck-text {
        display: block !important;
        padding: 24px 0 11px !important;
        text-align: center;
        background-color: #f2f2f2;
        margin: 0;
    }

    #ck-footer-tertiary .ck-text p {
        display: inline-block;
        margin: 0 18px 13px !important;
        white-space: nowrap;
    }

    #ck-footer-container > .text:last-child {
        grid-column: 1 / 4;
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        background-color: #f2f2f2;
        margin-top: 40px;
    }
}


/* ==========================================================================
   히어로 비디오 배너
   ========================================================================== */

.ck-hero { background-color: #1a0800; }
.ck-hero.ck-hero-center { text-align: center; }
.minh-450px { min-height: 450px; }
.maxh-650px { max-height: 650px; }

.ck-hero__background {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    font-size: 0;
    background-color: #1a0800;
}

.ck-bg-video { object-fit: cover; }

.ck-hero__background video.ck-bg-video {
    width: 100%; height: 100%;
    object-fit: cover;
}

.ck-hero__foreground {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 450px;
    max-height: 650px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.ck-hero__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    padding: 80px 12px 60px !important;
    width: 100%;
}

.ck-order-btn {
    background-color: #ac2117 !important;
    background: linear-gradient(to right, #b3473f 50%, #ac2117 50%) !important;
    background-position: 100% 0 !important;
    background-size: 200% 100% !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    width: auto;
    padding: 0 25px;
    height: 44px;
    line-height: 44px;
    border-radius: 4px;        /* 추가 */
    transition: background-position 0.3s ease;
    display: inline-block;
    text-decoration: none !important;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}

.ck-order-btn:hover,
.ck-order-btn:active {
    background-position: 0 0 !important;
    color: #ffffff !important;
    opacity: 1;
}

@media screen and (min-width: 576px) {
    .ck-order-btn { width: auto; padding: 0 25px; }
}

.ck-hero-desktop       { display: none; }
.ck-hero-mobile        { display: block; }
.ck-hero-video-desktop { display: none; }
.ck-hero-video-mobile  { display: block; }

@media (min-width: 768px) {
    .ck-hero-desktop       { display: block; }
    .ck-hero-mobile        { display: none; }
    .ck-hero-video-desktop { display: block; }
    .ck-hero-video-mobile  { display: none; }
}
/* ==========================================================================
   히어로 이미지 배너 — 메인 페이지 (텍스트 오버레이 제거 후)
   삽입 위치: "히어로 비디오 배너" 섹션의
   .ck-hero-video-desktop / .ck-hero-video-mobile 전환 규칙 바로 아래
   ========================================================================== */
#ck-main-hero .ck-hero-video-desktop,
#ck-main-hero .ck-hero-video-mobile {
    width: 100%;
    height: auto;
}
/* 모바일: 70vw 높이 확보, 중앙 텍스트 영역 유지한 채 좌우 크롭
   - 배너 비율 약 3:1, 중앙 텍스트 패널 폭 약 41% 기준
   - 노출 폭 비율 = 100vw ÷ (높이 × 3) → 70vw일 때 약 47.6% 노출
   - 75vw 초과 시 텍스트 패널 좌우가 잘리기 시작하므로 그 이상 금지 */
@media (max-width: 767px) {
    #ck-main-hero .ck-hero-video-mobile {
        height: 90vw;
        max-height: 520px;
        object-fit: cover;
        object-position: center;
    }
}

.ck-hero-cta {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 62%;      /* 84% → 72% (위로 이동) */
    height: 6%;
    width: 10%;    /* 14% → 10% (버튼이 생각보다 좁음) */
    z-index: 5;
    /* background: rgba(255,0,0,.35);  ← 아래 설명 참고 */
}

/* 모바일: 좌우 크롭으로 이미지가 확대되므로 버튼 폭도 그만큼 넓게 */
@media (max-width: 767px) {
    .ck-hero-cta { width: 36%; }   /* top/height 는 그대로, 폭만 확대 */
}

/* ==========================================================================
   반응형 유틸리티
   ========================================================================== */

.d-none    { display: none !important; }
.d-block   { display: block !important; }
.d-flex    { display: flex !important; }
.d-inline  { display: inline !important; }

@media (min-width: 768px) {
    .md\:d-none   { display: none !important; }
    .md\:d-block  { display: block !important; }
    .md\:d-inline { display: inline !important; }
    .md\:d-flex   { display: flex !important; }
}

@media (min-width: 576px) {
    .sm\:d-none  { display: none !important; }
    .sm\:d-block { display: block !important; }
}

/* lg 브레이크포인트 (1200px) */
.lg\:d-none   { display: block; }
.lg\:d-block  { display: none; }
.lg\:flex-row { flex-direction: column; }

@media (min-width: 1200px) {
    .lg\:d-none   { display: none !important; }
    .lg\:d-block  { display: block !important; }
    .lg\:flex-row { flex-direction: row !important; }
}

.squared-full          { border-radius: 4px; }
.py-5px                { padding-top: 5px !important; padding-bottom: 5px !important; }
.letter-spacing-4      { letter-spacing: .4em; }
.letter-spacing-5      { letter-spacing: .5em; }
.mb-5                  { margin-bottom: 1.25rem !important; }
.mb-4                  { margin-bottom: 16px !important; }
.px-4                  { padding-left: 1rem !important; padding-right: 1rem !important; }
.py-12                 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.px-3                  { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.pl-4                  { padding-left: 1rem !important; }
.pa-5                  { padding: 20px !important; }
.ma-4                  { margin: 16px !important; }
.mx-auto               { margin-left: auto !important; margin-right: auto !important; }
.contained             { padding: 0 15px; margin-right: auto; margin-left: auto; }
.justify-center        { justify-content: center; }
.justify-space-between { justify-content: space-between; }
.align-center          { align-items: center; }
.flex-col              { flex-direction: column; }
.flex-row              { flex-direction: row; }
.flex-wrap             { flex-wrap: wrap; }
.relative              { position: relative; }
.absolute              { position: absolute; }
.top-0                 { top: 0; }
.left-0                { left: 0; }
.w-100                 { width: 100%; }
.h-100                 { height: 100%; }
.overflow-hidden       { overflow: hidden; }
.box-border            { box-sizing: border-box; }
.text-nowrap           { white-space: nowrap; }
.text-no-decoration    { text-decoration: none !important; }
.text-align-center     { text-align: center; }
.font-size-0           { font-size: 0; }
.box-shadow            { box-shadow: 0 2px 12px rgba(0,0,0,0.10); }
.border                { border: 1px solid; }
.border-color-grey-pinkish { border-color: #e0d5d0; }

.font-trade-gothic-bold {
    font-family: "Trade Gothic LT Bold", "Nunito", sans-serif;
    font-weight: 900;
}
.font-nunito   { font-family: "Nunito", sans-serif; }
.font-size-14  { font-size: 14px !important; }
.font-size-16  { font-size: 16px !important; }
.font-size-18  { font-size: 18px !important; }
.font-size-20  { font-size: 20px !important; }
.font-size-32  { font-size: 32px !important; line-height: 1.1 !important; }
.font-size-2em { font-size: 2em; }

.color-white  { color: #ffffff !important; }
.color-brown  { color: #451400 !important; }
.bg-brown     { background-color: #451400; }


/* ==========================================================================
   로얄티 배너 — 모바일 기본
   ========================================================================== */

#ck-loyalty-banner {
    width: 100%;
    background-color: #ffffff;
    box-sizing: border-box;
    border-top: none;
    border-bottom: 1px solid #d4cbc7;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

#ck-loyalty-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    width: 100%;
    text-align: center;
    gap: 8px;
}

/* 모바일: 메달리온 이미지 숨김 */
#ck-loyalty-inner > .image {
    display: none;
}

/* 텍스트 100% 너비 */
#ck-loyalty-inner > .text:not(.font-nunito) {
    flex: 0 0 100%;
    width: 100%;
}

#ck-loyalty-inner .text .ck-text p {
    font-family: "Trade Gothic LT Bold", "Barlow Condensed", sans-serif;
    font-size: 18px;
    font-weight: 900;
    color: #451400;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    text-align: center;
    line-height: 1.3;
}

/* CREATE AN ACCOUNT + OR + SIGN IN 가로 한 줄 */
#ck-loyalty-inner > .button.ck-btn-primary,
#ck-loyalty-inner > .text.font-nunito,
#ck-loyalty-inner > .button.ck-btn-tertiary {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
}

#ck-loyalty-inner .ck-btn-primary .ck-button {
    display: inline-block;
    background: linear-gradient(to right, #6b321b 50%, #451400 50%);
    background-position: right bottom;
    background-size: 200% 100%;
    color: #ffffff !important;
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none !important;
    letter-spacing: 1px;
    padding: 0 20px;
    height: 44px;
    line-height: 44px;
    white-space: nowrap;
    border-radius: 4px;
    transition: background-position 0.12s ease;
}

#ck-loyalty-inner .ck-btn-primary .ck-button:hover {
    background-position: left bottom;
    opacity: 1;
}

/* OR 텍스트 */
#ck-loyalty-inner .font-nunito .ck-text p {
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #451400;
    margin: 0;
    padding: 0 4px;
}

#ck-loyalty-inner .ck-btn-tertiary .ck-button {
    display: inline-block;
    background: none !important;
    border: none !important;
    color: #a76721 !important;
    -webkit-text-fill-color: #a76721 !important;
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline !important;        /* 언더라인 추가 */
    text-decoration-color: #a76721 !important;    /* 언더라인 색상 */
    text-underline-offset: 3px;                   /* 언더라인 간격 */
    letter-spacing: 1px;
    padding: 0 10px;
    height: 44px;
    line-height: 44px;
    white-space: nowrap;
    cursor: pointer;
    transition: opacity 0.2s;
}

#ck-loyalty-inner .ck-btn-tertiary .ck-button:hover { opacity: 0.7; }


/* 로얄티 배너 — 데스크탑 (1200px+) */
@media (min-width: 1200px) {
    #ck-loyalty-banner {
        height: 80px;
        padding: 0;
        border-top: 1px solid #d4cbc7;
        border-bottom: 1px solid #d4cbc7;
    }

    #ck-loyalty-inner {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 16px;
        padding: 0 40px;
        text-align: left;
        align-items: center;
        justify-content: center;
    }

    /* 데스크탑: 메달리온 이미지 표시 */
    #ck-loyalty-inner > .image {
        display: block;
        flex-shrink: 0;
    }

    #ck-loyalty-inner .ck-image__image {
        width: 64px !important;
        height: 64px !important;
        display: block;
        margin: 0;
    }

    #ck-loyalty-inner > .text:not(.font-nunito) {
        flex: 0 0 auto;
        width: auto;
    }

    #ck-loyalty-inner .text .ck-text p {
        font-size: 16px;
        text-align: left;
        white-space: nowrap;
    }
}


/* ==========================================================================
   메뉴 섹션 (ck-menus)
   ========================================================================== */

.ck-menus-wrap {
    width: 100%;
    background-color: #ffffff;
    padding: 30px 0 60px;
}

.ck-menus {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px;
}

.ck-menu {
    box-sizing: border-box;
    padding: 10px 20px;
}

.ck-menu .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    text-align: center;
}

.ck-menu .content:hover .thumbnail img { transform: scale(1.05); }

.ck-menu .thumbnail {
    width: 100%;
    height: 200px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.ck-menu .thumbnail img {
    max-width: 100%;
    max-height: 200px;
    width: auto;
    height: auto;
    display: block;
    transition: transform 0.2s ease;
    object-fit: contain;
}

.ck-menu .text {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 8px;
    width: 100%;
    height: 84px;
}

.ck-menu .text:has(.ck-menu-tagline) { height: 106px; }

.ck-menu .ck-menu-promo {
    font-family: "Nunito", sans-serif;
    font-size: 9px;
    font-weight: 800;
    color: #ffffff;
    background-color: #1b0800;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 0 14px;             /* 상하 1px → 0 */
    border-radius: 999px;
    line-height: 18px;           /* 높이를 line-height로 제어 */
    display: inline-block;
    height: 18px;                /* 22px → 18px */
    box-sizing: border-box;
}

.ck-menu .ck-menu-promo[style*="visibility:hidden"] {
    background: transparent !important;
    color: transparent !important;
    border: none !important;
}

.ck-menu .ck-menu-name {
    font-family: "Trade Gothic LT Bold", "Barlow Condensed", sans-serif;
    font-size: 36px;
    font-weight: 600;
    color: #451400;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.5px;
    line-height: 38px;
    height: 38px;
    display: block;
    white-space: nowrap;
    font-stretch: condensed;
}

.ck-menu .ck-menu-name:hover { color: #451400; }

.ck-menu .ck-menu-tagline {
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    color: #786259;
    line-height: 22px;
    display: block;
}

.ck-menu .ck-menu-order {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #a76721;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0;
    transition: opacity 0.2s ease;
    height: 24px;
    line-height: 24px;
}

.ck-menu .content:hover .ck-menu-order { opacity: 1; }

.ck-menu .ck-menu-arrow {
    width: 16px;
    height: 16px;
    background-image: url("https://www.chipotle.com/content/dam/chipotle/icons-and-animations/buttons/arrow-gold.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

@media (max-width: 767px) {
    .ck-menus {
        grid-template-columns: repeat(1, 1fr);
        padding: 0 20px;
    }

    /* 좌(이미지) / 우(메뉴명) 가로 배치 */
    .ck-menu {
        padding: 10px 0;
    }
    .ck-menu .content {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        gap: 16px;
    }
    /* 숨김 프로모 태그는 모바일에서 공간 차지 안 함 → 메뉴명이 이미지 세로중앙에 정렬 */
    .ck-menu .ck-menu-promo[style*="visibility:hidden"] { display: none; }
    .ck-menu .thumbnail {
        width: 130px;
        height: 110px;
        align-items: center;
        flex-shrink: 0;
    }
    .ck-menu .thumbnail img {
        max-height: 110px;
    }
    .ck-menu .text {
        align-items: flex-start;
        justify-content: center;
        margin-top: 0;
        height: auto;
        flex: 1;
        min-width: 0;
    }
    .ck-menu .text:has(.ck-menu-tagline) { height: auto; }
    .ck-menu .ck-menu-name {
        text-align: left;
        white-space: normal;
        height: auto;
        line-height: 1.1;
        font-size: 24px;
    }
    .ck-menu .ck-menu-order { justify-content: flex-start; }
}


/* ==========================================================================
   버튼 공통 시스템
   ========================================================================== */

.btn-color-brown       { --button-color: #451400; --button-hover-color: #6b321b; }
.btn-color-brown-dark  { --button-color: #1b0800; --button-hover-color: #6b321b; }
.btn-color-brown-light { --button-color: #786259; --button-hover-color: #451400; }
.btn-color-gold        { --button-color: #b68207; --button-hover-color: #976500; }
.btn-color-red         { --button-color: #ad2118; --button-hover-color: #88120a; }
.btn-color-white       { --button-color: #ffffff; --button-hover-color: #f2f2f2; }

.btn-short  { --button-height: 36px; }
.btn-avg    { --button-height: 48px; }
.btn-tall   { --button-height: 60px; }
.btn-h-44px { --button-height: 44px; }

.ck-card__button.ck-button {
    display: block;
    background: linear-gradient(to right, var(--button-hover-color, #6b321b) 50%, var(--button-color, #451400) 50%);
    background-position: right bottom;
    background-size: 200% 100%;
    color: #ffffff !important;
    font-family: "Trade Gothic LT Bold", "Nunito", sans-serif;
    font-size: 20px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 0 16px;
    height: var(--button-height, 36px);
    line-height: var(--button-height, 36px);
    border-radius: 4px;
    border-width: 0;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 16px;
    transition: background-position 0.12s ease;
    cursor: pointer;
}

.ck-card__button.ck-button:hover,
.ck-card__button.ck-button:active {
    background-position: left bottom;
    color: #ffffff !important;
    opacity: 1;
}


/* ==========================================================================
   Dual Promo Banner (BYOC + Honey Chicken)
   ========================================================================== */

#ck-xf-tout {
    padding: 0 0 60px;
    margin-top: 0;
}

.verticalspacing,
.ck-vertical-spacing { display: none; }

.ck-dual-promo {
    display: flex;
    flex-direction: column;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 576px)  { .ck-dual-promo { max-width: 540px; } }
@media (min-width: 768px)  {
    .ck-dual-promo {
        max-width: 680px;
        flex-direction: row;
        align-items: stretch;
        gap: 32px;
    }
    .ck-dual-promo > .card {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }
}
@media (min-width: 992px)  { .ck-dual-promo { max-width: 900px; } }
@media (min-width: 1200px) { .ck-dual-promo { max-width: 1100px; } }

/* ma-4 완전 무력화 — gap으로 간격 처리 */
.ck-dual-promo .ck-card {
    flex: 1;
    min-height: unset !important;
    height: auto;
    margin: 0 !important;
}

@media (min-width: 1200px) {
    .ck-dual-promo .ck-card {
        height: var(--size-height);
        min-height: unset !important;
    }
    .ck-dual-promo .ck-card__button { max-width: 370px; }
    .ck-dual-promo .ck-card.ck-card-image-right > .ck-card__copy {
        flex: 0 0 48%;
        min-width: 0;
    }
    .ck-dual-promo .ck-card.ck-card-image-right > .ck-card__background {
        flex: 0 0 52%;
        min-width: 0;
    }
}

/* Trade Gothic LT Bold 미제공 환경 — 제목 폰트 대체 */
.ck-dual-promo .font-trade-gothic-bold,
.ck-dual-promo .font-size-32 {
    font-family: "Barlow Condensed", sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
}

/* 본문 텍스트 — Nunito 가변 폰트 적용 */
.ck-dual-promo .font-nunito,
.ck-dual-promo .font-nunito p,
.ck-dual-promo .ck-card__paragraph.font-nunito,
.ck-dual-promo .ck-card__paragraph.font-nunito p {
    font-family: "Nunito", sans-serif !important;
    font-weight: 400;
    font-size: 16px !important;
    line-height: 1.5;
}

.ck-dual-promo .font-size-18 { font-size: 16px !important; }


/* ==========================================================================
   ck-card 공통
   ========================================================================== */

.ck-card {
    background-color: #ffffff;
    border: 1px solid #e0d5d0;
    box-sizing: border-box;
    display: flex;
    width: 100%;
}

.ck-card__background {
    position: relative;
    overflow: hidden;
    min-height: 200px;
    flex: 1;
    min-width: 0;
}

.ck-card__background img,
.ck-card__background video {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

.ck-card__copy {
    flex: 1;
    min-width: 0;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ck-card__copy-bottom { margin-top: auto; }

.ck-card__title {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 20px;
    letter-spacing: 2px;
    background: linear-gradient(to top, rgba(20,5,0,0.55) 0%, rgba(20,5,0,0) 60%);
}

.ck-card__title p { margin: 0; text-align: center; }
.ck-card__paragraph p { margin: 0 0 8px; line-height: 1.5; }
.ck-card__paragraph ul { padding-left: 20px; margin: 0; }
.ck-card__paragraph ul li {
    font-family: "Nunito", sans-serif;
    font-size: 16px;
    color: #786259;
    line-height: 1.8;
}

/* ck-card-image-right */
.ck-card.ck-card-image-right {
    flex-direction: column;
    min-height: unset;
}

@media (min-width: 1200px) {
    .ck-card.ck-card-image-right {
        flex-direction: row;
        height: var(--size-height, 500px);
    }
    .ck-card.ck-card-image-right > .ck-card__copy {
        flex: 0 0 45%;
        min-width: 0;
    }
    .ck-card.ck-card-image-right > .ck-card__background {
        flex: 0 0 55%;
        min-width: 0;
        min-height: unset;
    }
}

/* ck-card-image-top */
.ck-card.ck-card-image-top { flex-direction: column; }

.ck-card.ck-card-image-top .ck-card__background {
    flex: none;
    height: 330px;
}

@media (min-width: 768px) {
    .ck-card.ck-card-image-top .ck-card__background { height: 400px; }
}


/* ==========================================================================
   Featured Meals
   ========================================================================== */

#ck-featured-meals {
    width: 100%;
    background-color: #f9f4f0;
    background-image: url("https://www.chipotle.com/content/dam/chipotle/homepage/preconfigured-entrees/pattern-ingredients.svg");
    background-repeat: repeat;
    background-size: 600px;    /* 300px → 600px */
    padding: 48px 0;
}

.ck-featured-inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

.ck-featured-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
    gap: 12px;
    padding: 0 20px;
}

.ck-featured-title {
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #451400;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
    text-align: center;
}

.ck-featured-fac-btn {
    display: inline-block;
    background-color: #451400;
    border: none;
    color: #ffffff !important;
    font-family: "Nunito", sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    padding: 0 20px;
    height: 40px;
    line-height: 40px;
    border-radius: 4px;
    white-space: nowrap;
    transition: background-color 0.12s ease;
    box-sizing: border-box;
}

.ck-featured-fac-btn:hover {
    background-color: #6b321b;
    color: #ffffff !important;
}

/* 원본 universal-cards: flex 0 1 1280px, center, padding 20px */
.ck-featured-cards {
    flex: 0 1 1280px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0 auto;
    max-width: 1280px;        /* 최대 너비 1280px 제한 */
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* 원본 meal-card: flex 0 1 570px, height 344px, margin 12px
   background: linear-gradient(흰색 274px까지, 투명) */
.ck-featured-card {
    flex: 0 1 400px;           /* 570px → 400px */
    height: 344px;
    margin-left: 12px;
    margin-right: 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none !important;
    cursor: pointer;
    background: linear-gradient(180deg, #ffffff 274px, #ffffff 274px);
    padding: 0;
    box-sizing: border-box;
}

.ck-featured-name {
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 20px;           /* 18px → 20px */
    font-weight: 700;
    color: #451400;
    text-transform: uppercase;
    text-align: left;
    margin-top: 12px;
    line-height: 1.2;
    letter-spacing: 0.5px;
    padding: 0 8px;
    width: 100%;
    box-sizing: border-box;
    background: transparent;
}

.ck-featured-img {
    width: 100%;
    height: 274px;
    object-fit: cover;
    border-radius: 0;
    display: block;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.ck-featured-name {
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 18px;           /* 22px → 18px */
    font-weight: 700;
    color: #451400;
    text-transform: uppercase;
    text-align: left;
    margin-top: 12px;
    line-height: 1.2;
    letter-spacing: 0.5px;
    padding: 0 8px;
    width: 100%;
    box-sizing: border-box;
    background: transparent;
}

@media (max-width: 767px) {
    .ck-featured-header { padding: 0 16px; }
    .ck-featured-title { font-size: 32px; }
    .ck-featured-cards {
        flex-direction: column;
        align-items: center;
        padding: 0 16px;
    }
    .ck-featured-card {
        width: 100%;
        flex: none;
        height: auto;
        margin: 0 0 16px 0;
        background: linear-gradient(180deg, #ffffff 200px, transparent 0);
    }
    .ck-featured-img { height: 200px; }
}



/* ==========================================================================
   Crowd Pleasers (Catering + Group Order)
   ========================================================================== */

#ck-xf-crowd-pleasers {
    padding-bottom: 60px;
    background-color: #ffffff;
}

.ck-crowd-title {
    padding: 48px 0 16px;
    text-align: center;
}

.ck-crowd-title .ck-title__text {
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #451400;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

.ck-crowd-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media (min-width: 576px)  { .ck-crowd-wrap { max-width: 540px; } }
@media (min-width: 768px)  {
    .ck-crowd-wrap {
        max-width: 720px;
        flex-direction: row;
        align-items: stretch;
        gap: 32px;
    }
    .ck-crowd-wrap > .card {
        flex: 1 1 0;
        min-width: 0;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }
}
@media (min-width: 992px)  { .ck-crowd-wrap { max-width: 960px; } }
@media (min-width: 1200px) {
    .ck-crowd-wrap {
        max-width: 1140px;     /* 이전 상태로 복원 */
        flex-wrap: nowrap;
    }
}

.ck-crowd-wrap .ck-card {
    flex: 1;
    height: auto;
    margin: 0 !important;
    box-shadow: 0 0 8px rgba(0,0,0,0.12);
    border: none;
}

.ck-crowd-wrap .ck-card__background {
    min-height: unset !important;
}

.ck-crowd-wrap .ck-card.ck-card-image-top .ck-card__background {
    flex: none;
    height: 179px !important;
    min-height: unset !important;
    position: relative;
    overflow: hidden;
}

.ck-crowd-wrap .ck-card__title {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.05);
    z-index: 2;
}

.ck-crowd-wrap .ck-card__title p { margin: 0; text-align: center; }

.ck-crowd-wrap .ck-card__title span {
    font-family: "Barlow Condensed", "Trade Gothic LT Bold", sans-serif;
    font-size: 42px;
    font-weight: 900;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
}

/* 텍스트 영역 패딩 줄임 */
.ck-crowd-wrap .ck-card__copy {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.ck-crowd-wrap .ck-card__paragraph ul {
    list-style: none;
    padding: 0;
    margin: 0 0 12px 0;     /* 20px → 12px */
}

.ck-crowd-wrap .ck-card__paragraph ul li {
    display: inline;
    font-family: "Nunito", sans-serif;
    font-size: 16px;           /* 15px → 16px */
    color: #451400;
    line-height: 1.5;
}

.ck-crowd-wrap .ck-card__paragraph ul li::before {
    content: " \2022 ";
    color: #b68207;
    font-size: 18px;
    vertical-align: middle;
    padding: 0 4px;
}

/* btn-color-gold + btn-tall */
.ck-crowd-wrap .ck-card__button.ck-button {
    display: block;
    height: var(--button-height, 60px);
    line-height: var(--button-height, 60px);
    font-size: 20px;
    padding: 0 16px;
    margin: 0 auto 16px;
    width: 80%;
    box-sizing: border-box;
    background: linear-gradient(to right, var(--button-hover-color, #976500) 50%, var(--button-color, #b68207) 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    border-radius: 4px;
    text-align: center;
    text-transform: uppercase;
    font-family: "Trade Gothic LT Bold", "Nunito", sans-serif;
    font-weight: 900;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: background-position 0.12s ease;
    cursor: pointer;
    border: none;
}

.ck-crowd-wrap .ck-card__button.ck-button:hover {
    background-position: left bottom;
    opacity: 1;
}

@media (max-width: 767px) {
    .ck-crowd-title .ck-title__text { font-size: 36px; }
    .ck-crowd-wrap { gap: 16px; }
}

@media (min-width: 768px) and (max-width: 1199.5px) {
    #ck-footer-container > .container.responsivegrid:has(#ck-trademark) {
        grid-column: 1 / 3;
        grid-row: 99;
    }
}

/* ==========================================================================
   Footer — 모바일 레이아웃 안정화 + 국가 선택 영역 줄바꿈 (추가)
   ========================================================================== */
/* 1) 모바일에서 푸터가 화면 폭을 넘어 뒤틀리는 현상 방지 */
@media (max-width: 767px) {
    #ck-footer-container {
        grid-template-columns: minmax(0, 1fr);  /* 콘텐츠가 컬럼을 넓히지 못하게 */
        overflow-x: hidden;
    }
    /* 직계 영역들을 화면 폭 안으로 강제 */
    #ck-footer-container > .container.responsivegrid,
    #ck-footer-container > .text,
    #ck-footer-container > .ck-xf {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }
}

/* 2) 국기/국가 선택 영역 — 국기부터 좌측 정렬로 쭉 나열, 긴 문구만 자연 줄바꿈 */
#ck-trademark .country-area {
    flex-wrap: nowrap;             /* 가운데 정렬·줄바꿈 해제 → 왼쪽부터 나열 */
    justify-content: flex-start;
    align-items: center;
    column-gap: 8px;
    width: 100%;
    max-width: 100%;
}

/* 국기 + 국가명은 폭 고정 (줄어들지 않음) */
#ck-trademark .country-area > .flag,
#ck-trademark .country-area > .country {
    flex-shrink: 0;
}
#ck-trademark .country-area > .country { white-space: nowrap; }

/* 저작권 문구는 남은 폭을 채우며 자연 줄바꿈 */
#ck-trademark .country-area > div:last-child {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: keep-all;
    line-height: 1.5;
}

/* 모바일: 풀블리드(-20px) 해제 + 좌우 여백 확보 */
@media (max-width: 767px) {
    #ck-footer-container #ck-trademark {
        justify-content: flex-start;
        margin: 0;
        padding: 20px;
        box-sizing: border-box;
    }
}


/* ==========================================================================
   Footer — 하단 독립 행 (그리드 컨테이너 바깥)
   순서: #ck-footer-policy-row (정책/센터 메뉴) → #ck-footer-business-row (사업자 정보)
   톤: 원본 trademark 텍스트(#786259, Nunito SemiBold)와 통일
   ※ 기존 인라인 <style> 에서 이전. 사업자 행 셀렉터는 HTML 구조에 맞게 수정함.
   ========================================================================== */

/* ── 정책/센터 메뉴 행 (위) ── */
#ck-footer-policy-row {
	width: 100%;
	border-top: 1px solid #d7d7d7;	/* 원본 trademark 구분선과 동일 색상 */
}
#ck-footer-policy {
	text-align: center;
	padding: 24px 20px 22px;
}
#ck-footer-policy p {
	margin: 0;
	font-family: "Nunito SemiBold", "Nunito", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 2.2;
}
#ck-footer-policy .ck-policy-item {
	display: inline-block;
	color: #786259;
	text-decoration: none;
	white-space: nowrap;
}
#ck-footer-policy .ck-policy-item:hover {
	text-decoration: underline;
}
#ck-footer-policy .ck-policy-sep {
	display: inline-block;
	margin: 0 8px;
	color: #d4cbc7;
}

/* ── 사업자 정보 행 (아래) ── */
#ck-footer-business-row {
	width: 100%;
}
#ck-footer-business {
	text-align: center;
	padding: 0 20px 28px;	/* 위 정책 메뉴 행과 붙는 느낌을 주기 위해 상단 여백 제거 */
}
/* HTML 에 .ck-text 래퍼가 없으므로 p 를 직접 지정
   (기존 '#ck-footer-business .ck-text p' 셀렉터는 실제 DOM 과 불일치하여 미적용 상태였음) */
#ck-footer-business p {
	margin: 0;
	font-family: "Nunito SemiBold", "Nunito", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #786259;
	line-height: 2.1;
}
#ck-footer-business .ck-biz-item {
	display: inline-block;
	white-space: nowrap;
}
#ck-footer-business .ck-biz-sep {
	display: inline-block;
	margin: 0 8px;
	color: #d4cbc7;
}

/* ── 모바일 (~767px) ── */
@media (max-width: 767px) {
	/* 사업자 정보: 항목 단위로 줄바꿈, 구분선 숨김 */
	#ck-footer-business .ck-biz-item {
		display: block;
		white-space: normal;
	}
	#ck-footer-business .ck-biz-sep {
		display: none;
	}
	/* 정책 메뉴: 인라인 유지하여 자연스럽게 줄바꿈, 구분선 유지 */
	#ck-footer-policy .ck-policy-item {
		white-space: normal;
	}
}