@charset "utf-8";

/* 색 설정 */
:root {
    --main-color: #CF2E41;
    --black-color : #222;
    --white-color : #fff
}

/* size */
@media screen and (max-width: 1250px) { } /* tablet */
@media screen and (max-width: 650px) { } /* mobile */

/* 스크롤 커스텀 */
html::-webkit-scrollbar {width: 8px;}
html::-webkit-scrollbar-thumb {background-color: var(--main-color); border-radius: 10px;}

/* 드래그 블록 커스텀 */
::selection { background-color:var(--main-color); color:#fff; }


/* default */
*{
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color : inherit;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: inherit;
}

body{ font-family: 'Pretendard', sans-serif; font-weight:400; font-size: 16px; letter-spacing: -0.04em; }
section{ display:block; }
a{ color:inherit; }
a:hover{ text-decoration: none; color: inherit;  }

.inner{ width:1200px; margin:0 auto;  }

.paging_box{ margin-top: 20px; padding:10px 0; display:flex; align-items: center; justify-content: center; }
.paging_box .pg_page{ background-color:#FFF; border:1px solid #e6e6e6; }
.paging_box .pg_current{ background-color: #0F1C2E; color:#fff; border:1px solid #0F1C2E; }

select{
    -webkit-appearance: none; -moz-appearance: none;  appearance: none;
    background: url('../img_pub/common/select-icon.png') no-repeat 98% 50% #fff; 
}
select::-ms-expand{ display:none; }
p{ word-break: keep-all; }

@media screen and (max-width: 1250px) { 
    .inner{ width:100%; padding:0 10px; }
} /* tablet */
@media screen and (max-width: 650px) { 
    .paging_box{ font-size: 13px; }
} /* mobile */




/* ================================================
   농협 한우프라자 - [01]메인페이지
================================================ */
:root{
    /* 사이트 메인 컬러 (스크롤바·드래그 블록에 공통 적용) */
    --main-color: #c9974e;

    --gold: #c9974e;
    --gold-light: #e1b364;
    --gold-pale: #f5dca3;
    --gold-deep: #634a26;
    --gold-txt: #a07b3f;
    --brown: #36281c;
    --brown-line: #917962;
    --hero-bg: #040302;
    --news-bg: #15110e;
    --beige: #fdf9f4;

    /* 타이포 계층 (브레이크포인트에서 변수만 재정의) */
    --fs-hero: 72px;      /* 히어로 메인 타이틀 */
    --fs-hero-sub: 54px;  /* 히어로 서브 타이틀 */
    --fs-h2: 32px;        /* 섹션 타이틀 */
    --fs-h3: 22px;        /* 히어로 본문·버튼 */
    --fs-lg: 20px;        /* 소제목 */
    --fs-md: 18px;        /* 카드 타이틀 */
    --fs-base: 16px;      /* 기본 */
    --fs-sub: 17px;       /* 섹션 서브 카피 */
    --fs-sm: 14px;        /* 캡션 */
    --fs-xs: 13px;        /* 라벨 */
    --fs-xxs: 12px;       /* 최소 문구 */

    /* 섹션 공통 간격 (브레이크포인트에서 변수만 재정의) */
    --sec-pd: 130px;        /* 섹션 상하 여백 */
    --sec-tit-gap: 16px;    /* 섹션 타이틀 → 서브 텍스트 */
    --sec-head-gap: 56px;   /* 섹션 헤드 → 본문 */
    --sec-btn-gap: 48px;    /* 본문 → 하단 버튼 */

    /* 메인비주얼 (브레이크포인트에서 재정의) */
    --mv-pt: 160px;         /* 히어로 상단 여백 (헤더 80 + 80) */
    --mv-pb: 80px;          /* 히어로 하단 여백 */
    --mv-min-h: 800px;      /* 화면이 낮아도 이 아래로는 안 줄어듦 */
    --mv-max-h: 1080px;     /* 화면이 높아도 이 위로는 안 커짐 */

    /* 매장찾기 폼 (브레이크포인트에서 확대) */
    --store-field-h: 52px;  /* 셀렉트·검색창·검색버튼 높이 */
    --store-thumb: 90px;    /* 검색결과 카드 썸네일 */

    /* 여백 스케일 (브레이크포인트에서 축소) */
    --sp-scale: 1;
    /* 이미지 스케일 (브레이크포인트에서 축소) */
    --img-scale: 1;
}

.main_visual, .main_brand, .main_store,
.about_visual, .about_brand, .about_story,
.main_event, .main_news, .main_sns{ position:relative; overflow:hidden; }

/* 섹션 높이가 소수점(예: 979.59px)이라 ScrollSmoother의 소수점 이동 중
   반올림 차이로 경계에 1px 틈이 생기고 body 흰 배경이 비침
   → 다음 섹션을 1px 겹쳐 올려 틈이 생길 수 없게 함 */
.main_brand, .main_store, .main_event, .main_news, .main_sns,
.about_brand, .about_story,
footer{ position:relative; margin-top:-1px; }

/* 공통 - 모바일(650) 전용 줄바꿈 */
br.br_mo{ display:none; }

/* 공통 - 명조 타이틀 */
.font_batang{ font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif; }

/* 공통 - 스크롤 등장 (아래 → 위). .up_ready 는 script.js가 <html>에 부여 */
.up_ready .up_ani{
    opacity:0; transform:translateY(40px);
    transition:opacity .9s cubic-bezier(.33, 1, .68, 1), transform .9s cubic-bezier(.33, 1, .68, 1);
    transition-delay:var(--up-delay, 0s);
}
.up_ready .up_ani.on{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
    .up_ready .up_ani{ opacity:1; transform:none; transition:none; }
}

/* 공통 - 섹션 헤드 */
.sec_head{ text-align:center; }
.sec_tit{
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--fs-h2); font-weight:500; line-height:1.4; color:var(--black-color);
    letter-spacing:-0.02em; display:flex; align-items:center; justify-content:center; gap:8px;
}
.sec_ico{
    flex:none; width:47px; height:47px; border-radius:8px; background-color:var(--gold);
    display:flex; align-items:center; justify-content:center;
}
.sec_ico img{ width:47px; height:47px; }
.sec_ico.img{ background-color:transparent; border-radius:0; }
.sec_ico.img img{ width:47px; height:47px; object-fit:contain; }
.sec_sub{ margin-top:var(--sec-tit-gap); font-size:var(--fs-sub); font-weight:400; line-height:1.4; color:#777; letter-spacing:-0.03em; }

/* 공통 - 라운드 버튼 */
.sec_btn_box{ display:flex; justify-content:center; }
.btn_round{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:160px; padding:9px 24px; border-radius:100px;
    background-color:rgba(201,151,78,.8); color:var(--white-color);
    font-size:var(--fs-base); font-weight:400; line-height:1.4; letter-spacing:-0.04em;
    transition:background-color .25s;
}
.btn_round.wide{ min-width:171px; }
.btn_round.on{ background-color:var(--gold); }
.btn_round:hover{ background-color:var(--gold-deep); color:var(--white-color); }


/* ------------------------------------------------
   헤더
------------------------------------------------ */
header{
    position:fixed; top:0; left:0; z-index:100; width:100%; height:80px;
    background-color:rgba(0,0,0,.2); border-bottom:1px solid rgba(255,255,255,.4);
    transition:background-color .3s, border-color .3s;
}
header.on{ background-color:rgba(4,3,2,.95); border-bottom-color:rgba(255,255,255,.12); }
.header_inner{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.logo{ flex:none; line-height:0; }
.logo img{ width:223px; }

.gnb ul{ display:flex; align-items:center; }
.gnb li{ display:flex; align-items:center; }
.gnb li + li:before{
    content:''; flex:none; width:4px; height:4px; margin:0 30px;
    border-radius:50%; background-color:var(--brown-line);
}
.gnb a{
    display:block; font-size:var(--fs-base); font-weight:600; color:var(--white-color);
    letter-spacing:-0.04em; white-space:nowrap; transition:color .2s;
}
.gnb a:hover{ color:var(--gold-pale); }

.header_util{ flex:none; display:flex; align-items:center; gap:14px; }
.login_btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:121px; height:40px; border-radius:4px; border:1px solid #4c4c4c;
    background-image:linear-gradient(109deg, #c9974e 8%, #634a26 97%);
    box-shadow:0 4px 4px rgba(0,0,0,.1);
    font-size:var(--fs-base); font-weight:600; color:var(--white-color); letter-spacing:-0.04em;
}
.login_btn:hover{ color:var(--white-color); opacity:.9; }
.ham_btn{
    display:none; width:34px; height:30px; padding:5px 3px; background:none; border:0;
    flex-direction:column; justify-content:space-between;
}
.ham_btn span{ display:block; width:100%; height:2px; background-color:var(--white-color); border-radius:2px; }


/* ------------------------------------------------
   모바일 전체메뉴
------------------------------------------------ */
.mobile_menu_dim{
    display:none; position:fixed; inset:0; z-index:110; background-color:rgba(0,0,0,.5);
}
.mobile_menu{
    position:fixed; top:0; right:0; z-index:120; width:280px; max-width:80%; height:100%;
    padding:80px 24px 30px; background-color:#1b1613; transform:translateX(100%);
    transition:transform .35s ease; overflow-y:auto;
}
body.mm_open .mobile_menu{ transform:translateX(0); }
body.mm_open .mobile_menu_dim{ display:block; }
body.mm_open{ overflow:hidden; }
.mm_close{
    position:absolute; top:22px; right:20px; width:34px; height:34px; background:none; border:0;
}
.mm_close:before, .mm_close:after{
    content:''; position:absolute; left:5px; top:16px; width:24px; height:2px;
    background-color:var(--white-color);
}
.mm_close:before{ transform:rotate(45deg); }
.mm_close:after{ transform:rotate(-45deg); }
.mm_list li + li{ margin-top:4px; }
.mm_list a{
    display:block; padding:14px 6px; font-size:var(--fs-md); font-weight:600;
    color:var(--white-color); border-bottom:1px solid rgba(255,255,255,.1);
}
.mm_login{
    display:flex; align-items:center; justify-content:center; margin-top:24px; height:46px;
    border-radius:4px; background-image:linear-gradient(109deg, #c9974e 8%, #634a26 97%);
    color:var(--white-color); font-size:var(--fs-base); font-weight:600;
}
.mm_sns{ display:flex; flex-direction:column; gap:14px; margin-top:28px; }
.mm_sns a{ display:flex; align-items:center; gap:10px; font-size:var(--fs-sm); color:rgba(255,255,255,.7); }
.mm_sns img{ width:22px; height:22px; object-fit:contain; }


/* ------------------------------------------------
   퀵메뉴
------------------------------------------------ */
.quick_menu{
    position:fixed; right:30px; bottom:30px; z-index:90; width:93px;
}
.quick_top{
    display:flex; align-items:center; justify-content:center; width:100%; height:26px;
    background-color:var(--gold-light); border:0; border-radius:16px 16px 0 0;
}
.quick_top img{ width:19px; }
.quick_list{
    display:flex; flex-direction:column; align-items:center; gap:13px;
    padding:13px 0 11px; background-color:rgba(0,0,0,.6); border-radius:0 0 16px 16px;
}
.quick_list a{ display:flex; flex-direction:column; align-items:center; }
.q_ico{
    display:flex; align-items:center; justify-content:center; width:53px; height:53px;
    border-radius:50%; background-color:#be8f4a; transition:background-color .25s;
}
.q_ico img{ width:27px; height:26px; object-fit:contain; }
.q_ico.dark img{ width:25px; height:25px; }
.quick_list a:hover .q_ico{ background-color:var(--gold-light); }
.q_txt{ margin-top:5px; font-size:var(--fs-xxs); font-weight:400; color:var(--white-color); letter-spacing:-0.05em; }


/* ------------------------------------------------
   메인비주얼
------------------------------------------------ */
.main_visual{
    display:flex; flex-direction:column;
    height:100vh;
    height:100svh;   /* 모바일 주소창 높이 변동 대응 (미지원 시 위 100vh 사용) */
    min-height:var(--mv-min-h);
    max-height:var(--mv-max-h);
    padding:var(--mv-pt) 0 var(--mv-pb);
    background-color:var(--hero-bg);
}
/* 장식용 글로우 */
.mv_glow{
    position:absolute; z-index:0; width:599px; height:599px; border-radius:50%; pointer-events:none;
    background-image:linear-gradient(180deg, rgba(225,179,100,.1) 0%, rgba(225,179,100,.046) 100%);
    filter:blur(87px);
}
.mv_glow.glow1{ top:-4px; right:-45px; }
.mv_glow.glow2{ top:329px; left:-71px; }

.mv_slider{ position:relative; z-index:1; flex:1 1 auto; width:100%; min-height:0; overflow:hidden; }
.mv_slider .swiper-wrapper{ height:100%; }
.mv_slider .swiper-slide{ width:85%; max-width:1632px; }
.mv_item{
    position:relative; display:flex; align-items:center; justify-content:center;
    height:100%; padding:40px; background-color:#191410;
    background-size: cover; background-position: center center; background-repeat:no-repeat;
}
.mv_item:before{
    content:''; position:absolute; inset:0;
    background-image:linear-gradient(117deg, rgba(0,0,0,.32) 7%, rgba(0,0,0,.8) 52%, rgba(0,0,0,.32) 97%);
}
/* 장식용 골드 프레임 */
.mv_frame{
    position:absolute; top:22px; right:36px; bottom:22px; left:36px;
    border:3px solid #3a2e23; overflow:hidden; pointer-events:none;
}
.mv_frame .fl{
    position:absolute; width:227px; height:3px; transform:rotate(-45deg);
    background-image:linear-gradient(270deg, #222 0%, rgba(34,34,34,0) 50%, #222 102%),
                     linear-gradient(90deg, var(--brown-line) 0%, var(--brown-line) 100%);
}
.mv_frame .fl1{ top:80px; left:-32px; }
.mv_frame .fl2{ right:-32px; bottom:71px; }

.mv_text{
    position:relative; z-index:2; display:flex; flex-direction:column; align-items:center;
    text-align:center; color:var(--white-color);
}
.mv_eng{
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--fs-base); font-weight:500; line-height:1.4; letter-spacing:-0.04em;
}
.mv_sub_tit{
    margin-top:30px;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--fs-hero-sub); font-weight:500; line-height:1.15; letter-spacing:-0.04em;
}
.mv_tit{
    margin-top:10px;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--fs-hero); font-weight:500; line-height:1.15; letter-spacing:-0.04em;
}
.mv_tit .point{
    font-weight:700;
    background-image:linear-gradient(90deg, #f5dca3 0%, #8f805f 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.mv_desc{ margin-top:26px; font-size:var(--fs-h3); font-weight:600; line-height:1.4; letter-spacing:-0.04em; }
.mv_brand{ display:flex; align-items:center; gap:9px; margin-top:58px; }
.mv_brand_txt{ font-size:var(--fs-sm); font-weight:600; line-height:1.4; letter-spacing:-0.04em; text-align:left; }
.mv_brand img{ width:200px; }
.mv_btn{
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    width:306px; padding:24px 37px; margin-top:19px; border-radius:90px;
    background-image:linear-gradient(90deg, var(--gold) 0%, var(--gold-deep) 100%);
    font-size:var(--fs-h3); font-weight:600; line-height:1.2; letter-spacing:-0.04em;
    color:var(--white-color); transition:filter .25s;
}
.mv_btn img{ width:9px; }
.mv_btn:hover{ filter:brightness(1.12); color:var(--white-color); }

/* 화살표 - 슬라이드 사이 여백(spaceBetween 46px) 중앙에 위치 */
.mv_arrow{
    position:absolute; top:calc(50% + (var(--mv-pt) - var(--mv-pb)) / 2); z-index:3;
    width:50px; height:50px; padding:0; background:none; border:0;
    display:flex; align-items:center; justify-content:center; transition:opacity .2s;
}
.mv_arrow img{ width:16px; height:32px; }
.mv_arrow.prev{ left:calc(7.5% - 23px); transform:translate(-50%, -50%); }
.mv_arrow.next{ right:calc(7.5% - 23px); transform:translate(50%, -50%); }
.mv_arrow.next img{ transform:rotate(180deg); }
.mv_arrow:hover{ opacity:.6; }


/* ------------------------------------------------
   브랜드 소개 띠배너
------------------------------------------------ */
.main_brand{
    padding:90px 0; background-color:var(--hero-bg);
    border-top:2px solid var(--brown); border-bottom:2px solid var(--brown);
}
.brand_bg{
    position:absolute; top:0; right:0; bottom:0; width:74%;
    background-size:cover; background-position:center 52%; background-repeat:no-repeat; opacity:.6;
}
.brand_bg:after{
    content:''; position:absolute; inset:0;
    background-image:linear-gradient(270deg, rgba(4,3,2,0) 21%, var(--hero-bg) 82%);
}
.brand_inner{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.brand_text{ position:relative; color:var(--white-color); }
.brand_eng{
    position:absolute; left:-2px; bottom:100%; margin-bottom:-38px;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:67px; font-weight:500; line-height:1; letter-spacing:-0.04em;
    opacity:.1; white-space:nowrap; pointer-events:none;
}
.brand_tit{ font-size:var(--fs-h2); font-weight:600; line-height:1.4; letter-spacing:-0.04em; }
.brand_tit b{ font-weight:800; color:var(--gold-pale); }
.brand_line{ display:block; width:40px; height:2px; margin:16px 0; background-color:var(--brown-line); }
.brand_desc{ font-size:var(--fs-lg); font-weight:400; line-height:1.4; letter-spacing:-0.04em; }
.brand_desc b{ font-weight:800; }
.brand_btn{
    flex:none; display:inline-flex; align-items:center; justify-content:center;
    padding:9px 21px; border-radius:100px; border:1px solid var(--white-color);
    background-color:rgba(34,34,34,.8); color:var(--white-color);
    font-size:var(--fs-base); font-weight:400; line-height:1.4; letter-spacing:-0.04em;
    transition:background-color .25s;
}
.brand_btn:hover{ background-color:var(--gold); color:var(--white-color); }


/* ------------------------------------------------
   매장찾기
------------------------------------------------ */
.main_store{ padding:var(--sec-pd) 0; background-color:var(--beige); }
.store_wrap{ display:flex; gap:40px; margin-top:var(--sec-head-gap); }
.store_search{ flex:none; width:440px; }
.store_label{ font-size:var(--fs-lg); font-weight:800; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em; }
.store_form{ margin:16px 0 32px; }
/* 지역 선택 (공통 커스텀 셀렉트 — .custom_select.type_field) */
.store_select{ position:relative; z-index:5; display:flex; gap:12px; }
.store_select .custom_select{ flex:1 1 0; min-width:0; }
.store_select .custom_select.type_field .cs_btn{
    height:var(--store-field-h); padding:0 17px;
    border-color:#ddd8d2; border-radius:6px;
    font-size:15px; font-weight:600; color:#444; letter-spacing:-0.03em;
}
.store_select .custom_select.type_field .cs_btn:after{
    width:12px; height:8px;
    background-image:url('../img_pub/main/ico_select.svg'); background-size:12px 8px;
}
.store_select .custom_select.type_field .cs_list{ max-height:264px; }
.store_select .custom_select.type_field .cs_opt{ font-size:15px; }
.store_input{
    display:flex; align-items:center; gap:10px; min-height:var(--store-field-h); margin-top:12px; padding:0 17px;
    border:1px solid #ddd8d2; border-radius:6px; background-color:#fff;
}
.store_input input{
    flex:1; min-width:0; align-self:stretch; border:0; background:none;
    font-size:15px; font-weight:600; color:#444; letter-spacing:-0.03em;
}
.store_input input::placeholder{ color:#a5a5a5; font-weight:600; }
.store_input input:focus{ box-shadow:none; border:0 !important; }
.store_input_btn{ flex:none; width:20px; height:20px; padding:0; background:none; border:0; line-height:0; }
.store_input_btn img{ width:20px; height:20px; }
.store_submit{
    width:100%; min-height:var(--store-field-h); padding:10px 16px; margin-top:12px; border:0; border-radius:6px;
    background-color:var(--brown); color:var(--white-color);
    font-size:var(--fs-base); font-weight:700; letter-spacing:-0.03em; transition:background-color .25s;
}
.store_submit:hover{ background-color:#231a12; }

.store_result{ margin-top:16px; }
.store_result li + li{ margin-top:12px; }
.store_result a{
    display:flex; gap:18px; padding:12px; border-radius:10px; background-color:#fff;
    box-shadow:2px 2px 8px rgba(0,0,0,.25); transition:transform .25s;
}
.store_result a:hover{ transform:translateY(-3px); }
.sr_thumb{
    flex:none; width:var(--store-thumb); height:var(--store-thumb); border-radius:6px; background-color:#f0f0f0;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.sr_info{ display:flex; flex-direction:column; gap:3px; padding-top:2px; min-width:0; }
.sr_area{
    display:flex; align-items:center; gap:5px;
    font-size:var(--fs-xxs); font-weight:700; color:var(--gold-txt); line-height:1.4; letter-spacing:-0.03em;
}
.sr_area img{ width:11px; height:14px; }
.sr_name{
    font-size:17px; font-weight:800; color:var(--black-color); line-height:1.4; letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sr_sub{ font-size:var(--fs-xs); font-weight:400; color:#888; line-height:1.4; letter-spacing:-0.03em; }
.sr_more{ margin-top:2px; font-size:var(--fs-xs); font-weight:700; color:var(--gold-txt); line-height:1.4; letter-spacing:-0.03em; }

.store_map{ flex:1; min-width:0; }
.store_map_img{
    display:block; width:100%; padding-top:57.5%; border-radius:12px; background-color:#e9e5df;
    background-size:cover; background-position:center top; background-repeat:no-repeat;
}
.main_store .sec_btn_box{ margin-top:var(--sec-btn-gap); }


/* ------------------------------------------------
   행사·이벤트
------------------------------------------------ */
.main_event{ padding:var(--sec-pd) 0; background-color:#fff; }
.event_bg{
    position:absolute; inset:0; opacity:.5;
    background-size:cover; background-position:center bottom; background-repeat:no-repeat;
}
.event_head{ position:relative; z-index:2; }
/* swiper-container(overflow:hidden, padding:0)에 카드 그림자가 잘림
   → 상하 패딩으로 여유를 주고 음수 마진으로 상쇄. swiper.min.css보다 우선하도록 선택자 2단계 */
.main_event .event_slider{
    position:relative; z-index:2; width:100%;
    margin:calc(var(--sec-head-gap) - 8px) 0 -38px; padding:8px 0 30px;
}
.event_slider .swiper-wrapper{ align-items:stretch; }
.event_slider .swiper-slide{ width:388px; height:auto; }
.event_card{
    display:flex; flex-direction:column; height:100%; border-radius:0 0 10px 10px;
    background-color:#fff; box-shadow:4px 11px 16px rgba(0,0,0,.15);
    transition:transform .3s;
}
.event_card:hover{ transform:translateY(-6px); }
.ec_thumb{
    position:relative; display:block; width:100%; padding-top:76.55%; background-color:#f0f0f0;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.event_card .ec_thumb:not([style]){
    background:url('../img_pub/main/ico_placeholder.svg') no-repeat center / 33px 27px #f0f0f0;
}
.ec_end{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    background-color:rgba(0,0,0,.8); color:var(--white-color);
    font-size:var(--fs-md); font-weight:800; letter-spacing:-0.05em;
}
.ec_body{ display:block; padding:27px 30px 21px; }
.ec_tit{
    display:block; font-size:var(--fs-md); font-weight:800; color:var(--black-color);
    line-height:1.4; letter-spacing:-0.05em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.ec_desc{
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
    margin-top:5px; font-size:var(--fs-base); font-weight:600; color:#7f7f7f;
    line-height:25px; letter-spacing:-0.05em;
}
.main_event .sec_btn_box{ position:relative; z-index:2; margin-top:calc(var(--sec-btn-gap) + 8px); }


/* ------------------------------------------------
   매장소식
------------------------------------------------ */
.main_news{
    padding:var(--sec-pd) 0;
    background-color:var(--news-bg);
    background-image:radial-gradient(ellipse 960px 628px at 50% 50%, rgba(201,151,78,.1) 0%, rgba(201,151,78,0) 100%);
}
.main_news .sec_tit{ color:var(--white-color); }
.main_news .sec_sub{ color:#a9a39c; }
.news_list{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:24px 20px; margin-top:var(--sec-head-gap);
}
.news_list > li{ min-width:0; }
.news_card{
    display:flex; flex-direction:column; height:100%; overflow:hidden; border-radius:12px;
    background-color:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.08);
    transition:transform .3s, background-color .3s;
}
.news_card:hover{ transform:translateY(-6px); background-color:rgba(255,255,255,.16); }
.nc_thumb{
    display:block; width:100%; padding-top:70.2%; background-color:#2a2320;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.nc_body{ display:flex; flex-direction:column; flex:1; min-width:0; padding:20px; }
.nc_area{
    display:flex; align-items:center; gap:6px;
    font-size:var(--fs-xs); font-weight:700; color:var(--gold-light); line-height:1.4; letter-spacing:-0.03em;
}
.nc_area img{ width:11px; height:14px; }
.nc_tit{
    margin-top:7px; font-size:var(--fs-md); font-weight:800; color:var(--white-color);
    line-height:1.4; letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.nc_desc{
    margin-top:8px; font-size:var(--fs-sm); font-weight:400; color:#a9a39c;
    line-height:1.4; letter-spacing:-0.03em;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.nc_menu{
    display:flex; align-items:center; gap:14px; min-width:0; margin-top:16px; padding-top:16px;
    border-top:1px solid rgba(255,255,255,.1);
}
.nc_menu em{font-style: normal; flex:none; font-size:var(--fs-xs); font-weight:600; color:#7f7870; line-height:1.4; letter-spacing:-0.03em; }
.nc_menu b{
    font-size:var(--fs-xs); font-weight:700; color:#e8e2da; line-height:1.4; letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.main_news .sec_btn_box{ margin-top:var(--sec-btn-gap); }


/* ------------------------------------------------
   SNS · 미디어
------------------------------------------------ */
.main_sns{ padding:var(--sec-pd) 0; background-color:var(--beige); }
.sns_bg{
    position:absolute; left:0; right:0; bottom:0; height:47%;
    background-size:cover; background-position:center bottom; background-repeat:no-repeat;
}
.main_sns .inner{ position:relative; z-index:2; }
.sns_list{ display:grid; grid-template-columns:repeat(3, 1fr); gap:40px 36px; margin-top:var(--sec-head-gap); }
.sns_list > li{ min-width:0; }
.sns_card{
    display:flex; flex-direction:column; height:100%; overflow:hidden; border-radius:12px;
    background-color:#fff; border:1px solid #eceae8; box-shadow:0 8px 24px rgba(0,0,0,.06);
    transition:transform .3s, box-shadow .3s;
}
.sns_card:hover{ transform:translateY(-6px); box-shadow:0 14px 30px rgba(0,0,0,.1); }
.sc_thumb{
    position:relative; display:block; width:100%; padding-top:75%; background-color:#f0f0f0;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.sc_thumb.empty{
    background:url('../img_pub/main/ico_placeholder.svg') no-repeat center / 33px 27px #f0f0f0;
}
.sc_badge{
    position:absolute; top:15px; left:15px; display:flex; align-items:center; gap:6px;
    height:30px; padding:0 12px 0 10px; border-radius:15px; font-style: normal;
    background-color:rgba(255,255,255,.94); box-shadow:0 2px 8px rgba(0,0,0,.1); 
    font-size:var(--fs-xxs); font-weight:700; color:var(--black-color); letter-spacing:-0.01em;
}
.sc_badge img{ width:16px; height:16px; object-fit:contain; }
.sc_play{
    position:absolute; top:50%; left:50%; width:60px; height:60px; transform:translate(-50%,-50%);
    background:url('../img_pub/main/ico_play.svg') no-repeat center / 18px 20px,
               url('../img_pub/main/ico_play_bg.svg') no-repeat center / 60px 60px;
}
.sc_time{
    position:absolute; right:16px; bottom:16px; padding:3px 8px; border-radius:4px;
    background-color:rgba(0,0,0,.75); color:var(--white-color);
    font-size:var(--fs-xxs); font-weight:700; line-height:1.2;
}
.sc_body{ display:flex; flex-direction:column; flex:1; min-width:0; padding:26px 23px 22px; }
.sc_tit{
    font-size:var(--fs-md); font-weight:800; color:var(--black-color);
    line-height:1.5; letter-spacing:-0.03em;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.sc_date{ margin-top:26px; font-size:var(--fs-xs); font-weight:400; color:#9a9a9a; line-height:1.4; letter-spacing:-0.03em; }
.sc_foot{
    display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0;
    margin-top:16px; padding-top:16px; border-top:1px solid #efedeb;
}
/* 해시태그가 길어지면 태그만 말줄임, '게시물 보기'는 줄바꿈·축소 없이 고정 */
.sc_tag{
    flex:1 1 auto; min-width:0;
    font-size:var(--fs-xs); font-weight:600; color:var(--gold-txt); line-height:1.4; letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sc_more{
    flex:0 0 auto; white-space:nowrap;
    font-size:var(--fs-xs); font-weight:600; color:#666; line-height:1.4; letter-spacing:-0.03em;
}
.main_sns .sec_btn_box{ margin-top:var(--sec-btn-gap); }


/* ------------------------------------------------
   푸터
------------------------------------------------ */
footer{ background-color:var(--black-color); }
.footer_inner{
    display:flex; align-items:center; justify-content:space-between; gap:30px; padding:74px 0;
}
.ft_logo{ flex:none; line-height:0; }
.ft_logo img{ width:313px; }
.ft_right{ display:flex; flex-direction:column; align-items:flex-end; }
.ft_link{ display:flex; align-items:center; gap:31px; }
.ft_link a{
    font-size:var(--fs-base); font-weight:600; color:var(--white-color);
    line-height:1.4; letter-spacing:-0.05em; transition:color .2s;
}
.ft_link a:hover{ color:var(--gold-light); }
.ft_copy{
    margin-top:19px; font-size:15px; font-weight:500; color:var(--white-color);
    line-height:1.4; letter-spacing:-0.05em; opacity:.2;
}


/* ------------------------------------------------
   반응형
------------------------------------------------ */
@media screen and (max-width: 1560px){
    :root{
        --fs-hero: 60px;
        --fs-hero-sub: 45px;
    }
    .gnb li + li:before{ margin:0 18px; }
    .brand_eng{ font-size:56px; margin-bottom:-30px; }

    /* 퀵메뉴 축소 (본문 1200px과 겹치지 않는 선까지만 노출) */
    .quick_menu{ width:72px; }
    .quick_top{ height:21px; }
    .quick_top img{ width:16px; }
    .quick_list{ gap:10px; padding:10px 0 8px; }
    .q_ico{ width:42px; height:42px; }
    .q_ico img{ width:22px; height:20px; }
    .q_ico.dark img{ width:19px; height:19px; }
    .q_txt{ font-size:11px; }
}

@media screen and (max-width: 1250px){ /* tablet */
    :root{
        --fs-hero: 50px;
        --fs-hero-sub: 38px;
        --fs-h2: 28px;
        --fs-h3: 20px;
        --fs-sub: 16px;
        --sec-pd: 100px;
        --sec-head-gap: 44px;
        --sec-btn-gap: 40px;
        --store-field-h: 58px;
        --store-thumb: 96px;
        --mv-pt: 130px;
        --mv-pb: 60px;
        --mv-min-h: 700px;
        --mv-max-h: 900px;
        --sp-scale: .8;
    }
    .inner{ padding:0 30px; }
    .quick_menu{ display:none; }
    .logo img{ width:190px; }
    .gnb a{ font-size:15px; }
    .gnb li + li:before{ margin:0 12px; }

    .mv_slider .swiper-slide{ width:88%; }
    .mv_item{ padding:36px 30px; }
    .mv_btn{ width:280px; padding:20px 30px; }
    .mv_brand{ margin-top:40px; }
    .mv_arrow{ display:none; }

    .main_brand{ padding:80px 0; }
    .brand_bg{ width:60%; }
    .brand_eng{ font-size:46px; margin-bottom:-24px; }

    .store_wrap{ gap:30px; }
    .store_search{ width:380px; }

    .event_slider .swiper-slide{ width:340px; }
    .ec_body{ padding:24px; }

    .news_list{ grid-template-columns:repeat(3, 1fr); }

    .sns_list{ gap:30px 24px; }
    .sc_body{ padding:22px 20px; }

    .footer_inner{ padding:60px 20px; }
    .ft_logo img{ width:260px; }
    .ft_link{ gap:20px; }
}

@media screen and (max-width: 960px){
    :root{
        --fs-hero: 40px;
        --fs-hero-sub: 30px;
        --fs-h2: 26px;
        --sec-pd: 80px;
        --store-field-h: 60px;
        --store-thumb: 100px;
        --mv-pt: 110px;
        --mv-pb: 50px;
        --mv-min-h: 620px;
        --mv-max-h: 800px;
        --sp-scale: .65;
    }
    .gnb, .login_btn{ display:none; }
    .ham_btn{ display:flex; }

    .mv_slider .swiper-slide{ width:92%; }
    .mv_item{ padding:30px 24px; }
    .mv_frame{ top:14px; right:18px; bottom:14px; left:18px; border-width:2px; }
    .mv_frame .fl{ display:none; }  /* 모서리 사선 장식 숨김 */
    .mv_desc{ margin-top:18px; }
    .mv_brand{ margin-top:30px; }
    .mv_brand img{ width:170px; }
    .mv_btn{ width:260px; padding:16px 26px; margin-top:16px; }

    .brand_inner{ flex-direction:column; align-items:flex-start; gap:24px; }
    .brand_bg{ width:100%; opacity:.3; }
    .brand_eng{ position:static; margin:0 0 10px; opacity:.14; font-size:38px; }

    .store_wrap{ flex-direction:column; }
    .store_search{ width:100%; }
    .store_map_img{ padding-top:62%; }

    .news_list{ grid-template-columns:repeat(2, 1fr); }
    .sns_list{ grid-template-columns:repeat(2, 1fr); }

    .footer_inner{ flex-direction:column; align-items:flex-start; gap:24px; padding:46px 20px; }
    .ft_right{ align-items:flex-start; }
}

@media screen and (max-width: 650px){ /* mobile */
    .up_ready .up_ani{ transform:translateY(26px); transition-duration:.7s; }
    :root{
        --fs-hero: 30px;
        --fs-hero-sub: 22px;
        --fs-h2: 21px;
        --fs-h3: 16px;
        --fs-lg: 18px;
        --fs-md: 17px;
        --fs-sub: 15px;
        --fs-base: 15px;
        --fs-sm: 15px;
        --fs-xs: 14px;
        --fs-xxs: 14px;
        --sec-pd: 60px;
        --sec-tit-gap: 12px;
        --sec-head-gap: 32px;
        --sec-btn-gap: 30px;
        --store-field-h: 62px;
        --store-thumb: 104px;
        --mv-pt: 84px;
        --mv-pb: 40px;
        --mv-min-h: 520px;
        --mv-max-h: 720px;
        --sp-scale: .5;
    }
    .inner{ padding:0 20px; }
    header{ height:64px; }
    .logo img{ width:150px; }

    .mv_slider .swiper-slide{ width:100%; padding:0 20px; }
    .mv_item{ padding:24px 18px; }
    .mv_eng{ font-size:14px; }
    .mv_sub_tit{ margin-top:16px; }
    .mv_desc{ margin-top:14px; word-break:keep-all; }
    .mv_brand{ margin-top:24px; }
    .mv_brand img{ width:135px; }
    .mv_brand_txt{ font-size:13px; }
    .mv_btn{ width:100%; max-width:260px; padding:14px 22px; font-size:16px; }

    .main_brand{ padding:50px 0; }
    .brand_eng{ font-size:28px; }
    .brand_btn{ width:100%; }

    .sec_ico, .sec_ico img{ width:38px; height:38px; }
    .sec_sub{ word-break:keep-all; }
    .store_wrap{ gap:24px; }
    /* 세로 배열 시 flex:1(= flex-basis:0)이 main축=height를 먹어버려 height 지정이 무시됨 */
    .store_select{ flex-direction:column; gap:10px; }
    .store_select .custom_select{ flex:none; width:100%; }
    .store_form{ margin:14px 0 24px; }
    .store_map_img{ padding-top:78%; }

    .event_slider .swiper-slide{ width:270px; }
    .ec_body{ padding:18px; }
    .ec_desc{ line-height:1.6; }

    .news_list{ grid-template-columns:1fr; gap:16px; }

    .sns_list{ grid-template-columns:1fr; gap:16px; }

    .footer_inner{ padding:36px 20px; }
    .ft_logo img{ width:210px; }
    .ft_link{ flex-wrap:wrap; gap:8px 16px; }
    .ft_copy{ font-size:14px; }
}


/* ================================================
   농협 한우프라자 - [02]한우프라자 소개
================================================ */
:root{
    /* 소개 페이지 (브레이크포인트에서 재정의) */
    --av-pt: 184px;         /* 서브비주얼 상단 여백 */
    --av-pb: 91px;          /* 서브비주얼 하단 여백 */
    --av-photo: 558px;      /* 서브비주얼 접시 이미지 */
    --bi-vh: 225px;         /* BI 이미지 영역 높이 (두 칼럼 공통) */
}

/* GNB 현재 메뉴 */
.gnb a.on{ color:var(--gold-pale); }
.mm_list a.on{ color:var(--gold-pale); }

/* 공통 - 영문 라벨 + 가운데 타이틀 (아이콘 없는 섹션 헤드) */
.sec_head2{ text-align:center; }
.sec_eng{
    font-size:var(--fs-base); font-weight:600; line-height:1.4;
    color:var(--gold-light); letter-spacing:-0.04em;
}
.sec_tit2{
    margin-top:14px;
    font-size:26px; font-weight:800; line-height:1.4; color:var(--white-color); letter-spacing:-0.04em;
}
.sec_tit2.lg{
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:40px; font-weight:400; letter-spacing:-0.03em;
}
.sec_desc{
    margin-top:11px; font-size:var(--fs-base); font-weight:600; line-height:1.4;
    color:#9b9a9a; letter-spacing:-0.04em;
}


/* ------------------------------------------------
   서브 비주얼
------------------------------------------------ */
.about_visual{ padding:var(--av-pt) 0 var(--av-pb); background-color:var(--hero-bg); }
/* 장식용 글로우 */
.av_glow{
    position:absolute; z-index:0; top:301px; left:calc(50% - 377px);
    width:599px; height:599px; border-radius:50%; pointer-events:none;
    background-image:linear-gradient(180deg, rgba(225,179,100,.1) 0%, rgba(225,179,100,.046) 100%);
    filter:blur(87px);
}
.av_inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.av_tit{
    position:relative; z-index:2;   /* 접시 이미지 위로 올림 (디자인에서 텍스트가 이미지 위) */
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:60px; font-weight:500; line-height:1.43; color:var(--white-color); letter-spacing:-0.04em;
}
.av_tit.start{ --delay:.1s; align-self:flex-start; }
.av_tit.end{ --delay:.85s; margin-top:15px; align-self:flex-end; }

/* 타이틀 - 옅은 그레이 원문 위로 흰 글자가 한 글자씩 등장 (script.js가 .ch 로 분해) */
.split_txt .ch{
    position:relative; display:inline-block; white-space:pre;
    color:rgba(255,255,255,.16);   /* 처음부터 보이는 옅은 그레이 */
}
.split_txt .ch:after{
    content:attr(data-ch);
    position:absolute; top:0; left:0; white-space:pre;
    color:var(--white-color); opacity:0;
    text-shadow:0 0 26px rgba(225,179,100,.18);
}
.av_inner.on .split_txt .ch:after{
    /* 투명도만 사용 — 글자에 transform/text-shadow를 애니메이션하면
       서브픽셀 렌더링이 매 프레임 달라져 글자가 떨려 보임 */
    animation:charOn .8s ease-out forwards;
    animation-delay:calc(var(--delay, 0s) + var(--i, 0) * .05s);
}
@keyframes charOn{
    from{ opacity:0; }
    to{ opacity:1; }
}

/* 접시 이미지 - 등장 + 그림자/광원 + 은은한 부유 */
.av_photo{
    position:relative; display:block; width:var(--av-photo); margin-top:-40px;
    opacity:0; transform:scale(.94); filter:blur(10px);
}
.av_photo:before{        /* 이미지 뒤 따뜻한 광원 */
    content:''; position:absolute; left:50%; top:52%; z-index:-1;
    width:120%; height:120%; transform:translate(-50%,-50%) scale(.85);
    border-radius:50%; opacity:0; pointer-events:none;
    background-image:radial-gradient(circle, rgba(225,179,100,.24) 0%, rgba(225,179,100,.07) 42%, rgba(225,179,100,0) 68%);
}
.av_photo img{
    display:block; width:100%;
    filter:drop-shadow(0 34px 44px rgba(0,0,0,.85)) drop-shadow(0 0 36px rgba(225,179,100,.18));
}
.av_inner.on .av_photo{ animation:plateIn 1.8s cubic-bezier(.33, 1, .68, 1) .3s forwards; }
.av_inner.on .av_photo:before{ animation:plateGlow 2.2s ease-out .25s forwards; }
.av_inner.on .av_photo img{ animation:plateFloat 8s ease-in-out 2.1s infinite; }
@keyframes plateIn{
    0%{ opacity:0; transform:scale(.94); filter:blur(10px); }
    60%{ opacity:1; }
    100%{ opacity:1; transform:scale(1); filter:blur(0); }
}
@keyframes plateGlow{
    0%{ opacity:0; transform:translate(-50%,-50%) scale(.9); }
    100%{ opacity:1; transform:translate(-50%,-50%) scale(1); }
}
@keyframes plateFloat{
    0%, 100%{ transform:translateY(0); }
    50%{ transform:translateY(-10px); }
}

/* 모션 최소화 설정 존중 */
@media (prefers-reduced-motion: reduce){
    .split_txt .ch:after,
    .av_inner.on .split_txt .ch:after,
    .av_photo, .av_inner.on .av_photo,
    .av_photo img, .av_inner.on .av_photo img,
    .av_photo:before, .av_inner.on .av_photo:before{
        animation:none !important;
        opacity:1; transform:none; filter:none; color:var(--white-color);
    }
    .av_photo img{ filter:drop-shadow(0 34px 44px rgba(0,0,0,.85)); }
}


/* ------------------------------------------------
   브랜드 스테이트먼트
------------------------------------------------ */
.about_brand{ padding:89px 0 90px; background-color:var(--hero-bg); }
.ab_bg_txt{
    position:absolute; z-index:0; top:118px; left:50%; width:1200px; margin-left:-600px;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:138px; font-weight:500; line-height:1; color:#fbf0da; letter-spacing:-0.04em;
    text-align:right; opacity:.1; white-space:nowrap; pointer-events:none;
}
.ab_inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.ab_logo{ line-height:0; }
.ab_logo img{ width:408px; }
.ab_desc{
    margin-top:28px; font-size:22px; font-weight:400; line-height:1.4;
    color:var(--white-color); letter-spacing:-0.04em; text-align:center;
}
.ab_desc b{ font-weight:800; }


/* ------------------------------------------------
   소개 · 브랜드 아이덴티티 (공통 다크 블록)
------------------------------------------------ */
.about_story{ padding:187px 0 159px; background-color:var(--hero-bg); }
.about_story:before{
    content:''; position:absolute; top:0; left:0; z-index:2; width:100%; height:2px;
    background-image:linear-gradient(90deg, var(--hero-bg) 0%, #9c7451 50%, var(--hero-bg) 100%);
}
/* 장식용 글로우 */
.as_glow{
    position:absolute; z-index:0; top:695px; left:-144px;
    width:599px; height:599px; border-radius:50%; pointer-events:none;
    background-image:linear-gradient(180deg, rgba(225,179,100,.24) 0%, rgba(225,179,100,.11) 100%);
    filter:blur(87px);
}
.about_story .inner{ position:relative; z-index:1; }

/* 3단 이미지 밴드 */
/* 3단 이미지 밴드 - autoplay 슬라이더 (가운데 정렬, 좌우 슬라이드가 화면 밖으로 흘러나감) */
.as_band{ position:relative; z-index:1; width:100%; margin-bottom:24px; }
.as_band .swiper-slide{ width:44%; height:auto; }
/* 원본 비율이 제각각이라 디자인 비율(846:470)로 잘라서 맞춤 */
.as_photo{
    display:block; width:100%; aspect-ratio:846 / 470;
    object-fit:cover; background-color:#1b1512;
}

/* 소개 */
.feature_list{ display:flex; margin-top:75px; }
.feature_list li{
    flex:1; min-width:0; padding:25px 30px 8px; text-align:center;
    border-left:1px solid rgba(255,255,255,.4);
}
.feature_list li:first-child{ border-left:0; }
.ft_ico{ display:block; line-height:0; }
.ft_ico img{ width:47px; height:47px; object-fit:contain; }
.ft_ico.lg img{ width:54px; height:54px; }
.ft_tit{
    display:block; margin-top:8px;
    font-size:22px; font-weight:800; line-height:1.4; color:var(--white-color); letter-spacing:-0.04em;
}
.ft_desc{
    margin-top:16px; font-size:var(--fs-base); font-weight:600; line-height:1.4;
    color:#9b9a9a; letter-spacing:-0.04em;
}

/* 브랜드 아이덴티티 */
.about_bi{ margin-top:92px; }
.bi_wrap{ position:relative; margin-top:80px; }
.bi_bg_txt{
    position:absolute; z-index:0; top:-25px; left:0; width:100%;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:150px; font-weight:300; line-height:1.2; color:rgba(255,255,255,.04);
    letter-spacing:-0.03em; text-align:center; white-space:nowrap; pointer-events:none;
}
.bi_list{ position:relative; z-index:1; display:flex; }
.bi_list li{
    display:flex; flex-direction:column; flex:1; min-width:0; padding:0 30px; text-align:center;
    border-left:1px solid rgba(255,255,255,.18);
}
.bi_list li:first-child{ border-left:0; }
/* 두 칼럼의 이미지 영역 높이를 같게 고정 → 아래 이름·설명 라인이 나란히 맞음 */
.bi_visual{ display:flex; align-items:center; justify-content:center; height:var(--bi-vh); }
/* % 폭 + max-width/height : 칼럼이 좁아지면 비율 유지한 채 자동 축소 (2열 유지) */
.bi_visual img{ max-width:100%; max-height:100%; }
.bi_list li:first-child .bi_visual img{ width:100%; max-width:400px; }
.bi_list li + li .bi_visual img{ width:67%; max-width:269px; }
.bi_line{ display:block; width:30px; height:1px; margin:15px auto 0; background-color:var(--gold-light); }
.bi_name{
    display:block; margin-top:23px; word-break:keep-all;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:24px; font-weight:400; line-height:1.4; color:var(--white-color); letter-spacing:-0.03em;
}
.bi_desc{
    margin-top:14px; font-size:var(--fs-base); font-weight:600; line-height:1.6;
    color:#9b9a9a; letter-spacing:-0.02em;
}


/* ------------------------------------------------
   소개 페이지 - 반응형
------------------------------------------------ */
@media screen and (max-width: 1560px){
    .ab_bg_txt{ width:100%; margin-left:0; left:0; padding:0 30px; font-size:110px; }
}

@media screen and (max-width: 1250px){
    :root{
        --av-pt: 150px;
        --av-pb: 70px;
        --av-photo: 460px;
        --bi-vh: 200px;
    }
    .sec_tit2{ font-size:24px; }
    .sec_tit2.lg{ font-size:34px; }
    .av_tit{ font-size:46px; }
    .about_brand{ padding:70px 0; }
    .ab_bg_txt{ top:96px; font-size:84px; }
    .ab_logo img{ width:330px; }
    .ab_desc{ font-size:20px; }

    .about_story{ padding:120px 0 110px; }
    .as_band{ margin-bottom:20px; }
    .feature_list{ margin-top:56px; }
    .feature_list li{ padding:22px 20px 8px; }
    .ft_tit{ font-size:20px; }
    .about_bi{ margin-top:70px; }
    .bi_wrap{ margin-top:60px; }
    .bi_bg_txt{ font-size:100px; top:-14px; }
    .bi_list li{ padding:0 24px; }
    .bi_name{ font-size:22px; }
}

@media screen and (max-width: 960px){
    :root{
        --av-pt: 130px;
        --av-pb: 56px;
        --av-photo: 380px;
        --bi-vh: 170px;
    }
    .av_tit{ font-size:36px; }
    .av_photo{ margin-top:-24px; }
    .ab_bg_txt{ font-size:60px; top:80px; }
    .ab_logo img{ width:280px; }
    .ab_desc{ font-size:18px; }

    .about_story{ padding:90px 0; }
    .as_band .swiper-slide{ width:60%; }
    .sec_desc br{ display:none; }

    .feature_list{ flex-direction:column; gap:30px; margin-top:44px; }
    .feature_list li{ padding:0 0 30px; border-left:0; border-bottom:1px solid rgba(255,255,255,.25); }
    .feature_list li:last-child{ padding-bottom:0; border-bottom:0; }

    .bi_bg_txt{ font-size:64px; top:-8px; }
    .bi_list li{ padding:0 20px; }
    .bi_name{ font-size:20px; }
}

@media screen and (max-width: 650px){
    :root{
        --av-pt: 100px;
        --av-pb: 40px;
        --av-photo: 280px;
        --bi-vh: 120px;
    }
    .sec_tit2{ font-size:20px; word-break:keep-all; }
    .sec_tit2.lg{ font-size:26px; }
    .av_tit{ font-size:26px; }
    .av_photo{ margin-top:-14px; }

    .about_brand{ padding:50px 0; }
    .ab_bg_txt{ font-size:36px; top:56px; padding:0 20px; }
    .ab_logo img{ width:200px; }
    .ab_desc{ margin-top:20px; font-size:16px; word-break:keep-all; }
    br.br_mo{ display:inline; }
    /* .ab_desc br{ display:none; } */
    .ab_desc b{ display:block; margin-top:6px; }

    .about_story{ padding:56px 0; }
    .as_band .swiper-slide{ width:86%; }

    .feature_list{ gap:24px; margin-top:32px; }
    .feature_list li{ padding:0 0 24px; }
    .ft_tit{ font-size:18px; }
    .ft_desc br{ display:none; }
    .ft_desc{ word-break:keep-all; }

    .about_bi{ margin-top:50px; }
    .bi_wrap{ margin-top:40px; }
    .bi_bg_txt{ font-size:36px; top:-4px; }
    .bi_list li{ padding:0 10px; }
    .bi_line{ margin-top:12px; }
    .bi_name{ margin-top:14px; font-size:17px; }
    .bi_desc{ margin-top:8px; line-height:1.5; word-break:keep-all; }
    .bi_desc br{ display:none; }
}


/* ================================================
   농협 한우프라자 - [03]매장찾기
================================================ */
:root{
    /* 서브 비주얼 (브레이크포인트에서 재정의) */
    --sv-h: 400px;          /* 헤더 아래 비주얼 띠 높이 */
    --sv-line: 4px;         /* 장식 테두리 두께 */
}

/* 밝은 헤더 (서브페이지) */
header.type_light{ background-color:var(--white-color); border-bottom-color:#e5e5e5; }
header.type_light.on{ background-color:var(--white-color); box-shadow:0 2px 10px rgba(0,0,0,.06); }
header.type_light .gnb a{ color:var(--black-color); }
header.type_light .gnb a:hover,
header.type_light .gnb a.on{ color:var(--gold); }
header.type_light .gnb li + li:before{ background-color:#d7d4d2; }
header.type_light .ham_btn span{ background-color:var(--black-color); }
header.type_light .login_btn{ border-color:transparent; }   /* 밝은 헤더에서는 테두리 없음 */


/* ------------------------------------------------
   공통 서브 비주얼 (타이틀 + 서브카피)
------------------------------------------------ */
.sub_visual{
    position:relative; overflow:hidden; padding-top:80px;
    background-color:#2a2a2a;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.sub_visual:before{
    content:''; position:absolute; inset:0;
    background-image:linear-gradient(102deg, rgba(0,0,0,.32) 2%, rgba(0,0,0,.8) 48%, rgba(0,0,0,.32) 94%);
}
/* 장식용 테두리 박스 (테두리만 그라데이션) */
.sv_frame{
    position:absolute; top:calc(80px + 52px); right:56px; bottom:55px; left:56px;
    border:var(--sv-line) solid rgba(34,34,34,.85);   /* 그라데이션 미지원 시 폴백 */
    background-color:rgba(0,0,0,.1); background-clip:padding-box;
    pointer-events:none;
}
/* 마스크로 테두리 영역만 남겨 그라데이션 라인을 만든다 */
@supports ((-webkit-mask-composite: xor) or (mask-composite: exclude)){
    .sv_frame{ border-color:transparent; }
    .sv_frame:before{
        content:''; position:absolute;
        top:calc(var(--sv-line) * -1); right:calc(var(--sv-line) * -1);
        bottom:calc(var(--sv-line) * -1); left:calc(var(--sv-line) * -1);
        padding:var(--sv-line);
        background-image:linear-gradient(117deg,
            rgba(34,34,34,.9) 0%,
            rgba(225,179,100,.45) 18%,
            var(--gold-light) 40%,
            var(--gold-light) 60%,
            rgba(225,179,100,.45) 82%,
            rgba(34,34,34,.9) 100%);
        -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite:xor;
                mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
                mask-composite:exclude;
    }
}
.sv_inner{
    position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;
    justify-content:center; min-height:var(--sv-h); padding:40px 0; text-align:center;
}
.sv_tit{
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:50px; font-weight:500; line-height:1.4; color:var(--white-color); letter-spacing:-0.04em;
}
.sv_sub{
    margin-top:5px; font-size:var(--fs-base); font-weight:600; line-height:1.4;
    color:var(--white-color); letter-spacing:-0.04em;
}


/* ------------------------------------------------
   매장찾기
------------------------------------------------ */
.store_find{ padding:65px 0 184px; }

/* 섹션 타이틀 (왼쪽 세로 바 + 하단 구분선) */
.page_head{ padding-bottom:8px; border-bottom:2px solid #d7d4d2; }
.page_head.list{ margin-top:54px; }
.page_tit{
    position:relative; padding-left:20px;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--fs-h2); font-weight:500; line-height:1.4; color:var(--black-color); letter-spacing:-0.04em;
}
.page_tit:before{
    content:''; position:absolute; top:50%; left:0; width:4px; height:33px;
    margin-top:-16px; background-color:var(--brown);
}

/* 게시판 상단 (검색 필터 + 관리 메뉴) */
.store_board{ margin-top:37px; }
.board_top{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
/* 관리자 메뉴는 기본 세팅(customBoard.css) 스타일 사용 — 줄 배치만 맞춤 */
.board_top .menuBox{ padding:0; }
.board_top .menuBox .menuList .item{ align-items:center; }

.store_filter{ display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
/* 지역 선택 (커스텀 셀렉트 — 목록 위로 떠야 해서 board_top 에 z-index) */
.board_top{ position:relative; z-index:5; }
.store_filter .custom_select{ flex:none; width:98px; }
.store_filter .custom_select.type_field .cs_btn{
    height:26px; padding:0 10px; gap:6px;
    border-color:#e9ebec; border-radius:4px;
    font-size:12px; font-weight:400; color:#7f7f7f; letter-spacing:-0.04em;
}
.store_filter .custom_select.type_field .cs_btn:after{ width:10px; height:6px; background-size:10px 6px; }
.store_filter .custom_select.type_field .cs_list{ padding:5px; border-radius:4px; max-height:222px; }
.store_filter .custom_select.type_field .cs_opt{ padding:6px 10px; font-size:12px; font-weight:400; letter-spacing:-0.04em; }
.sf_ipt{
    display:flex; align-items:center; gap:6px; width:127px; height:26px; padding:0 8px;
    border:1px solid #e9ebec; border-radius:4px; background-color:var(--white-color);
}
.sf_ipt img{ flex:none; width:14px; height:14px; }
.sf_ipt input{
    flex:1; min-width:0; height:100%; border:0; background:none;
    font-size:12px; color:#444; letter-spacing:-0.04em;
}
.sf_ipt input::placeholder{ color:#7f7f7f; opacity:.6; }
.sf_ipt input:focus{ box-shadow:none; border:0 !important; }
.sf_btn{
    width:44px; height:26px; border:0; border-radius:4px;
    background-color:var(--gold); color:var(--white-color);
    font-size:12px; font-weight:600; letter-spacing:-0.04em; transition:background-color .2s;
}
.sf_btn:hover{ background-color:var(--gold-deep); }

/* 매장 목록 (customBoard .basicList 확장)
   customBoard.css 가 style.css 뒤에 로드되므로 선택자를 한 단계 더 구체적으로 작성 */
.store_list{ margin-top:16px; font-size:13px; line-height:16px; }
.basicBoardArti .basicList.store_list > li .item{ align-items:center; padding:15px 0; }
.basicBoardArti .basicList.store_list > li.head{ color:#666; }
.basicBoardArti .basicList.store_list > li .item .chk{ display:flex; align-items:center; justify-content:center; width:32px; }
.basicBoardArti .basicList.store_list > li .item .number{ width:68px; }
.basicBoardArti .basicList.store_list > li .item .name{ flex:1 1 auto; min-width:0; justify-content:center; text-align:center; }
.basicBoardArti .basicList.store_list > li .item .name span{
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:color .2s;
}
.basicBoardArti .basicList.store_list > li .item .addr{ flex:1 1 auto; min-width:0; overflow:hidden; justify-content:center; text-align:center; }
.basicBoardArti .basicList.store_list > li .item .area{ flex:none; width:110px; }
.basicBoardArti .basicList.store_list > li .item .tel{ flex:none; width:145px; }

/* 체크박스 */
.board_chk{ display:block; width:16px; height:16px; cursor:pointer; }
.board_chk input{ display:none; }
.board_chk span{
    display:block; width:16px; height:16px; border:1px solid #ccc; border-radius:4px;
    background-color:var(--white-color); transition:background-color .15s, border-color .15s;
}
.board_chk input:checked + span{
    border-color:var(--gold);
    background:url('../img_pub/store/ico_check.svg') no-repeat center / 12px 12px var(--gold);
}

/* 페이징 (기본 .paging_box 확장) */
.store_board .paging_box{ gap:4px; margin-top:26px; padding:0; }
.store_board .paging_box .pg_page,
.store_board .paging_box .pg_current{
    display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:4px;
    font-size:12px; color:#666; letter-spacing:-0.05em;
}
.store_board .paging_box .pg_page{ background-color:var(--white-color); border:1px solid #e6e6e6; }
.store_board .paging_box .pg_page:hover{ border-color:#bdbdbd; color:var(--black-color); }
.store_board .paging_box .pg_current{ background-color:var(--gold); border:1px solid var(--gold); color:var(--white-color); }
.store_board .paging_box .pg_first,
.store_board .paging_box .pg_prev,
.store_board .paging_box .pg_next,
.store_board .paging_box .pg_last{ background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.store_board .paging_box .pg_first{ background-image:url('../img_pub/store/pg_first.svg'); }
.store_board .paging_box .pg_prev{ background-image:url('../img_pub/store/pg_prev.svg'); }
.store_board .paging_box .pg_next{ background-image:url('../img_pub/store/pg_prev.svg'); transform:scaleX(-1); }
.store_board .paging_box .pg_last{ background-image:url('../img_pub/store/pg_first.svg'); transform:scaleX(-1); }
.blind{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); }


/* ------------------------------------------------
   매장찾기 - 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    .sv_tit{ font-size:40px; }
    .sv_frame{ top:calc(80px + 36px); right:30px; bottom:36px; left:30px; --sv-line:3px; border-width:var(--sv-line); }
    .store_find{ padding:50px 0 120px; }
    .page_head.list{ margin-top:44px; }
    .basicBoardArti .basicList.store_list > li .item .area{ width:90px; }
    .basicBoardArti .basicList.store_list > li .item .tel{ width:130px; }
}

@media screen and (max-width: 960px){
    :root{ --sv-h: 320px; }
    .sv_tit{ font-size:32px; }
    .sub_visual{ padding-top:64px; }
    .sv_frame{ top:calc(64px + 28px); right:20px; bottom:28px; left:20px; --sv-line:2px; border-width:var(--sv-line); }
    .store_find{ padding:44px 0 90px; }
    .board_top{ flex-direction:column; align-items:stretch; gap:12px; }
    .board_top .menuBox .menuList{ justify-content:flex-start; }
    .basicBoardArti .basicList.store_list > li .item .addr{ display:none; }
}

@media screen and (max-width: 650px){
    :root{ --sv-h: 240px; }
    .sv_tit{ font-size:24px; word-break:keep-all; }
    .sv_sub{ font-size:14px; word-break:keep-all; }
    .sv_frame{ top:calc(64px + 16px); right:12px; bottom:16px; left:12px; --sv-line:2px; border-width:var(--sv-line); }
    .store_find{ padding:36px 0 60px; }
    .page_tit{ padding-left:14px; }
    .page_tit:before{ width:3px; height:24px; margin-top:-12px; }
    .page_head.list{ margin-top:36px; }
    .store_filter .custom_select{ flex:1 1 30%; width:auto; }
    .sf_ipt{ flex:1 1 100%; width:auto; }
    .store_list{ font-size:13px; }
    /* customBoard.css 가 600px 이하에서 행을 세로로 쌓아버려서 가로 배치로 되돌림 */
    .basicBoardArti .basicList.store_list > li .item{ flex-direction:row; align-items:center; padding:13px 10px; }
    .basicBoardArti .basicList.store_list > li .item .number,
    .basicBoardArti .basicList.store_list > li .item .area{ display:none; }
    .basicBoardArti .basicList.store_list > li .item .chk{ width:26px; }
    .basicBoardArti .basicList.store_list > li .item .tel{ flex:none; width:112px; text-align:center; }
    .basicBoardArti .basicList.store_list > li .item .name{ justify-content:center; text-align:center; }
    .store_board .paging_box{ flex-wrap:wrap; }
}


/* ================================================
   농협 한우프라자 - [04]매장찾기 활성화
   .store_find.is_active 를 붙이면 활성 레이아웃으로 전환
   (현재는 마크업에 기본 부여 — 자동 활성화는 개발 단계에서 연결)
================================================ */

/* 지도 영역 */
.find_map{ position:relative; width:100%; padding-top:59.67%; margin-top:29px; background-color:#e9e5df; }
.fm_map{
    position:absolute; inset:0; display:block;
    background-image:url('../img_pub/main/store_map.jpg');
    background-size:cover; background-position:center top; background-repeat:no-repeat;
}
/* 활성 지도는 위에 겹쳐 크로스페이드 (background-image 는 transition 불가) */
.fm_map:after{
    content:''; position:absolute; inset:0; opacity:0;
    background-image:url('../img_pub/store/map_active.jpg');
    background-size:cover; background-position:center; background-repeat:no-repeat;
    transition:opacity .5s ease;
}
.is_active .fm_map:after{ opacity:1; }

/* 지도 우측 상세 패널 */
.store_panel{
    position:absolute; top:0; right:0; z-index:2;
    display:flex; flex-direction:column;
    width:31.67%; height:100%; background-color:var(--black-color);
    opacity:0; visibility:hidden; transform:translateX(100%);
    transition:opacity .4s ease, transform .55s cubic-bezier(.33, 1, .68, 1), visibility 0s .55s;
}
.is_active .store_panel{
    opacity:1; visibility:visible; transform:translateX(0);
    transition:opacity .4s ease, transform .55s cubic-bezier(.33, 1, .68, 1), visibility 0s 0s;
}
.sp_head{
    flex:none; display:flex; align-items:center; gap:7px; padding:21px 30px 12px;
    border-bottom:1px solid #e9ebec;
}
.sp_head img{ flex:none; width:15px; height:19px; }
.sp_head strong{
    font-size:var(--fs-lg); font-weight:800; color:var(--gold-light); letter-spacing:-0.04em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sp_body{ flex:1; min-height:0; padding:15px 30px 24px; overflow-y:auto; }
.sp_body::-webkit-scrollbar{ width:4px; }
.sp_body::-webkit-scrollbar-thumb{ background-color:rgba(225,179,100,.5); border-radius:4px; }

/* 패널 사진 */
.sp_photo{ position:relative; width:100%; margin-bottom:24px; }
.sp_img{
    display:block; width:100%; aspect-ratio:1 / 1; background-color:#333;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.sp_arrow{
    position:absolute; top:50%; z-index:2; width:24px; height:24px; margin-top:-12px;
    padding:0; border:0; border-radius:50%; background-color:var(--gold-light);
    background-image:url('../img_pub/store/arr_chevron.svg');
    background-repeat:no-repeat; background-position:center; background-size:7px 14px;
    transition:opacity .2s;
}
.sp_arrow.prev{ left:8px; }
.sp_arrow.next{ right:8px; transform:scaleX(-1); }
.sp_arrow:hover{ opacity:.8; }

/* 패널 항목 (라벨 + 값) */
.sp_row + .sp_row,
.sp_cols + .sp_row,
.sp_row + .sp_cols{ margin-top:20px; }
.sp_row dt{ font-size:var(--fs-sm); font-weight:600; color:#7f7f7f; line-height:1.4; letter-spacing:-0.04em; }
.sp_row dd{ margin-top:5px; font-size:var(--fs-xxs); font-weight:400; color:var(--white-color); line-height:1.5; letter-spacing:-0.04em; }
.sp_row dd a{ text-decoration:underline; word-break:break-all; }
.sp_row dd a:hover{ color:var(--gold-light); }
.sp_cols{ display:flex; gap:12px; }
.sp_cols .sp_row{ flex:1; min-width:0; margin-top:0; }
.sp_tit{
    margin-top:24px; padding-bottom:9px; border-bottom:1px solid rgba(233,235,236,.2);
    font-size:var(--fs-base); font-weight:600; color:var(--white-color); letter-spacing:-0.04em;
}
.sp_tit + .sp_row,
.sp_tit + .sp_cols{ margin-top:14px; }
.sp_btn_box{ display:flex; gap:8px; margin-top:12px; }

/* 공통 버튼 (패널 · 목록 상세 공용) */
.sd_btn{
    display:inline-flex; align-items:center; justify-content:center; height:28px; padding:0 12px;
    border:1px solid var(--gold-light); border-radius:4px; background-color:var(--gold-light);
    font-size:var(--fs-sm); font-weight:600; color:var(--white-color); letter-spacing:-0.04em;
    white-space:nowrap; transition:background-color .2s, color .2s;
}
.sd_btn.line{ background-color:transparent; color:var(--gold-light); }
.sd_btn:hover{ background-color:var(--gold-deep); border-color:var(--gold-deep); color:var(--white-color); }

/* 목록 - 선택 행 + 펼쳐지는 상세 */
/* 목록 상세도 같은 토글이라 함께 부드럽게.
   max-height 고정값을 쓰면 실제 높이(약 390px)를 금방 넘겨 열릴 때 순식간에 끝나므로
   script.js 가 실제 콘텐츠 높이(scrollHeight)를 inline max-height 로 넣어준다 */
.basicBoardArti .basicList.store_list > li.detail{
    max-height:0; opacity:0; overflow:hidden; border-bottom-width:0;
    /* 열림·닫힘 모두 같은 duration — 상태별로 다르면 전환 도중 값이 튐 */
    transition:max-height .55s cubic-bezier(.33, 1, .68, 1), opacity .35s ease, border-bottom-width 0s .55s;
}
.is_active .basicBoardArti .basicList.store_list > li.detail{
    opacity:1; border-bottom-width:1px;
    transition:max-height .55s cubic-bezier(.33, 1, .68, 1), opacity .35s ease, border-bottom-width 0s 0s;
}
/* 다른 행으로 옮겨갈 때 트랜지션 없이 접었다가 다시 펼침 */
.basicBoardArti .basicList.store_list > li.detail.moving{ transition:none !important; }
.store_detail{ padding:34px 52px 20px; }
.sd_cols{ display:flex; justify-content:space-between; gap:49px; }
.sd_col{ flex:1 1 0; min-width:0; }
.sd_tit{
    padding-bottom:4px; margin-bottom:12px; border-bottom:1px solid #e5e5e5;
    font-size:var(--fs-base); font-weight:600; color:var(--black-color); letter-spacing:-0.04em;
}
.sd_row + .sd_row,
.sd_half + .sd_row,
.sd_row + .sd_half{ margin-top:20px; }
.sd_row dt{ font-size:var(--fs-sm); font-weight:600; color:#7f7f7f; line-height:1.4; letter-spacing:-0.04em; }
.sd_row dd{ margin-top:5px; font-size:var(--fs-xxs); font-weight:400; color:var(--black-color); line-height:1.4; letter-spacing:-0.04em; }
.sd_row dd a{ text-decoration:underline; word-break:break-all; }
.sd_row dd a:hover{ color:var(--gold-txt); }
.sd_half{ display:flex; gap:12px; }
.sd_half .sd_row{ flex:1; min-width:0; margin-top:0; }
.sd_btn_box{ display:flex; justify-content:center; gap:8px; margin-top:40px; }

/* 선택 가능한 행 */
.basicBoardArti .basicList.store_list > li:not(.head):not(.detail){ cursor:pointer; transition:background-color .2s; }
.basicBoardArti .basicList.store_list > li:not(.head):not(.detail):hover{ background-color:#faf7f3; }
.basicBoardArti .basicList.store_list > li:not(.head):not(.detail):hover .name span{ color:var(--gold-txt); }
.basicBoardArti .basicList.store_list > li.on{ background-color:#faf7f3; }
.basicBoardArti .basicList.store_list > li.on .name span{ color:var(--gold-txt); font-weight:700; }


@media (prefers-reduced-motion: reduce){
    .fm_map:after,
    .store_panel,
    .is_active .store_panel,
    .basicBoardArti .basicList.store_list > li.detail{ transition:none; }
}


/* ------------------------------------------------
   활성화 - 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    .store_detail{ padding:28px 20px 20px; }
    .sd_cols{ gap:24px; }
}

@media screen and (max-width: 960px){
    /* 지도 아래로 패널을 내려 전체 폭 사용 */
    .find_map{ padding-top:0; margin-top:22px; }
    .fm_map{ position:relative; inset:auto; width:100%; padding-top:70%; }
    .store_panel{
        position:relative; width:100%; height:auto;
        max-height:0; overflow:hidden; transform:none;
        transition:max-height .55s cubic-bezier(.33, 1, .68, 1), opacity .4s ease, visibility 0s .55s;
    }
    .is_active .store_panel{
        max-height:2000px; transform:none;
        transition:max-height .6s cubic-bezier(.33, 1, .68, 1), opacity .4s ease, visibility 0s 0s;
    }
    .sp_body{ overflow:visible; }
    .sp_photo{ max-width:360px; margin-left:auto; margin-right:auto; }

    .sd_cols{ flex-direction:column; gap:24px; }
    .sd_col + .sd_col{ padding-top:24px; border-top:1px solid #e5e5e5; }
    .sd_btn_box{ margin-top:28px; }
}

@media screen and (max-width: 650px){
    .fm_map{ padding-top:95%; }
    .sp_head{ padding:16px 20px 10px; }
    .sp_body{ padding:14px 20px 20px; }
    .store_detail{ padding:22px 14px 18px; }
    .sp_btn_box,
    .sd_btn_box{ flex-wrap:wrap; }
}


/* ================================================
   농협 한우프라자 - [05]매장소식
================================================ */
:root{
    --news-pd-t: 65px;      /* 섹션 상단 여백 */
    --news-pd-b: 136px;     /* 섹션 하단 여백 */
    --news-field-h: 52px;   /* 검색 패널 필드 높이 */
    --news-col: 3;          /* 카드 칼럼 수 */
    --news-gap-x: 36px;
    --news-gap-y: 40px;
}

.store_news{ padding:var(--news-pd-t) 0 var(--news-pd-b); }

/* 타이틀 우측 보조 텍스트 */
.page_head.has_side{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.ph_side{
    flex:none; padding-bottom:2px;
    font-size:15px; font-weight:600; line-height:1.4; color:#8a8a8a; letter-spacing:-0.03em;
}

/* ------------------------------------------------
   매장 검색 패널
------------------------------------------------ */
.news_search{
    position:relative; z-index:25;   /* 지역 드롭다운이 아래 목록 위로 올라오도록 */
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
    margin-top:34px; padding:32px; border-radius:12px; background-color:#f7f5f2;
}
.news_search .ns_field{ flex:none; display:block; width:180px; }
.ns_ipt{ position:relative; flex:1 1 320px; min-width:0; display:block; }
.ns_ipt input{
    width:100%; height:var(--news-field-h); padding:0 48px 0 16px;
    border:1px solid #ddd8d2; border-radius:6px; background-color:var(--white-color);
    font-size:15px; font-weight:600; color:#444; letter-spacing:-0.03em;
}
.ns_ipt input::placeholder{ color:#a5a5a5; font-weight:600; }
.ns_ipt input:focus{ border-color:var(--gold); outline:none; }
.ns_ico{
    position:absolute; top:50%; right:17px; width:20px; height:20px; margin-top:-10px;
    background:url('../img_pub/news/ico_search.svg') no-repeat center/20px 20px; pointer-events:none;
}
.ns_btn{
    flex:none; width:128px; height:var(--news-field-h); border-radius:6px;
    background-color:var(--brown); color:var(--white-color);
    font-size:var(--fs-base); font-weight:700; letter-spacing:-0.03em;
    transition:background-color .25s;
}
.ns_btn:hover{ background-color:#241a11; }

/* ------------------------------------------------
   검색 결과 수 + 정렬
------------------------------------------------ */
.news_result{
    position:relative; z-index:20;   /* 정렬 드롭다운이 아래 카드 위로 올라오도록 */
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    margin-top:56px;
}
.nr_total{ font-size:20px; font-weight:800; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em; }
.nr_total b{ margin-left:4px; font-weight:800; color:var(--gold-txt, #a07b3f); }
.nr_sort{ flex:none; }

/* 커스텀 셀렉트 (네이티브 select 대신 사용 — script.js initCustomSelect) */
.custom_select{ position:relative; display:inline-block; text-align:left; }
.cs_btn{
    display:flex; align-items:center; gap:10px; height:28px; padding:0 2px;
    border:0; background-color:transparent;
    font-size:14px; font-weight:600; color:#666; letter-spacing:-0.03em; white-space:nowrap;
    transition:color .2s;
}
.cs_btn:hover{ color:var(--black-color); }
.cs_btn:after{
    content:''; flex:none; width:12px; height:8px;
    background:url('../img_pub/news/ico_arrow_down.svg') no-repeat center/12px 8px;
    transition:transform .25s;
}
.custom_select.on .cs_btn{ color:var(--black-color); }
.custom_select.on .cs_btn:after{ transform:rotate(180deg); }

.cs_list{
    position:absolute; top:calc(100% + 8px); right:0; z-index:30; min-width:100%; padding:6px;
    border:1px solid #e4e1de; border-radius:8px; background-color:var(--white-color);
    box-shadow:0 10px 24px rgba(0,0,0,.1);
    opacity:0; visibility:hidden; transform:translateY(-6px);
    transition:opacity .25s ease, transform .25s cubic-bezier(.33,1,.68,1), visibility 0s .25s;
}
.custom_select.to_left .cs_list{ right:auto; left:0; }
.custom_select.on .cs_list{
    opacity:1; visibility:visible; transform:translateY(0);
    transition:opacity .25s ease, transform .25s cubic-bezier(.33,1,.68,1), visibility 0s 0s;
}
.cs_opt{
    display:block; width:100%; padding:8px 14px; border:0; border-radius:5px; background-color:transparent; text-align:left;
    font-size:14px; font-weight:600; color:#666; letter-spacing:-0.03em; white-space:nowrap;
    transition:background-color .2s, color .2s;
}
.cs_opt:hover{ background-color:#f7f5f2; color:var(--black-color); }
.cs_opt.on{ background-color:#f6f0e6; color:var(--gold-txt, #a07b3f); }

/* 입력 필드형 (검색 패널의 시/도·시/군/구) */
.custom_select.type_field{ display:block; }
.custom_select.type_field .cs_btn{
    width:100%; height:var(--news-field-h); padding:0 16px; justify-content:space-between;
    border:1px solid #ddd8d2; border-radius:6px; background-color:var(--white-color);
    font-size:15px; color:#444;
}
.custom_select.type_field .cs_val{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.custom_select.type_field.on .cs_btn{ border-color:var(--gold); }
.custom_select.type_field .cs_list{
    left:0; right:0; max-height:264px; overflow-y:auto; border-radius:6px;
}
.custom_select.type_field .cs_opt{ font-size:15px; }
/* 비활성 */
.custom_select.is_disabled{ pointer-events:none; }
.custom_select.is_disabled .cs_btn{ opacity:.55; cursor:default; }

/* ------------------------------------------------
   매장 카드 목록
------------------------------------------------ */
.sn_list{
    display:grid; grid-template-columns:repeat(var(--news-col), minmax(0, 1fr));
    gap:var(--news-gap-y) var(--news-gap-x); margin-top:20px;
}
.sn_list > li{ min-width:0; }
.sn_card{
    display:flex; flex-direction:column; height:100%; overflow:hidden;
    border:1px solid #eceae8; border-radius:12px; background-color:var(--white-color);
    box-shadow:0 8px 24px rgba(0,0,0,.06);
    transition:transform .3s cubic-bezier(.33,1,.68,1), box-shadow .3s ease, border-color .3s ease;
}
.sn_card:hover{ transform:translateY(-6px); border-color:#e0d7c8; box-shadow:0 14px 32px rgba(0,0,0,.1); }
.sn_photo{
    display:block; width:100%; padding-top:58.51%;
    background-color:#efece8; background-size:cover; background-position:center; background-repeat:no-repeat;
}
.sn_body{ display:block; padding:20px 22px 0; }
.sn_area{
    display:flex; align-items:center; gap:6px;
    font-size:13px; font-weight:700; line-height:1.4; color:var(--gold-txt, #a07b3f); letter-spacing:-0.03em;
}
.sn_area:before{
    content:''; flex:none; width:11px; height:14px;
    background:url('../img_pub/news/ico_pin.svg') no-repeat center/11px 14px;
}
.sn_name{
    display:block; margin-top:5px; font-size:20px; font-weight:800; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.sn_desc{
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    margin-top:4px;
    font-size:14px; font-weight:500; line-height:1.4; color:#777; letter-spacing:-0.03em;
}
.sn_tag{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:12px; }
.sn_tag em{
    padding:3px 8px; border-radius:3px; background-color:#f4f2ef;
    font-size:12px; font-weight:600; font-style:normal; color:#666; letter-spacing:-0.02em; white-space:nowrap;
}
.sn_foot{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    margin:14px 22px 0; padding:15px 0; border-top:1px solid #efedeb;
}
.sn_menu{
    min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    font-size:13px; font-weight:600; line-height:1.4; color:#9a9a9a; letter-spacing:-0.03em;
}
.sn_menu b{ margin-left:8px; font-weight:700; color:#444; }
.sn_more{
    flex:0 0 auto; white-space:nowrap;
    font-size:13px; font-weight:700; line-height:1.4; color:var(--gold-txt, #a07b3f); letter-spacing:-0.03em;
}
.sn_more:after{ content:'→'; margin-left:5px; transition:transform .25s; display:inline-block; }
.sn_card:hover .sn_more:after{ transform:translateX(3px); }

/* 카드 높이 맞추기 (푸터를 아래로) */
.sn_card .sn_body{ flex:1 1 auto; }

/* ------------------------------------------------
   페이징 ([03]과 동일 규격)
------------------------------------------------ */
.store_news .paging_box{ gap:4px; margin-top:60px; padding:0; }
.store_news .paging_box .pg_page,
.store_news .paging_box .pg_current{
    display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:4px;
    font-size:12px; font-weight:500; color:#666; letter-spacing:-0.05em;
}
.store_news .paging_box .pg_page{ background-color:var(--white-color); border:1px solid #e6e6e6; }
.store_news .paging_box .pg_page:hover{ border-color:#bdbdbd; color:var(--black-color); }
.store_news .paging_box .pg_current{ background-color:var(--gold); border:1px solid var(--gold); color:var(--white-color); }
.store_news .paging_box .pg_first,
.store_news .paging_box .pg_prev,
.store_news .paging_box .pg_next,
.store_news .paging_box .pg_last{ background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.store_news .paging_box .pg_first{ background-image:url('../img_pub/store/pg_first.svg'); }
.store_news .paging_box .pg_prev{ background-image:url('../img_pub/store/pg_prev.svg'); }
.store_news .paging_box .pg_next{ background-image:url('../img_pub/store/pg_prev.svg'); transform:scaleX(-1); }
.store_news .paging_box .pg_last{ background-image:url('../img_pub/store/pg_first.svg'); transform:scaleX(-1); }


/* ------------------------------------------------
   [05] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    :root{
        --news-pd-t: 55px;
        --news-pd-b: 110px;
        --news-gap-x: 24px;
        --news-gap-y: 32px;
    }
    .news_search{ margin-top:28px; padding:24px; gap:10px; }
    .news_search .ns_field{ width:170px; }
    .news_result{ margin-top:44px; }
}

@media screen and (max-width: 960px){
    :root{
        --news-pd-t: 45px;
        --news-pd-b: 90px;
        --news-field-h: 51px;
        --news-col: 2;
    }
    .news_search{ gap:10px; }
    .news_search .ns_field{ flex:1 1 calc(50% - 5px); width:auto; }
    .ns_ipt{ flex:1 1 100%; }
    .ns_btn{ flex:1 1 100%; width:auto; }
    .news_result{ margin-top:36px; }
    .nr_total{ font-size:18px; }
    .store_news .paging_box{ margin-top:44px; }
}

@media screen and (max-width: 650px){
    :root{
        --news-pd-t: 36px;
        --news-pd-b: 70px;
        --news-col: 1;
        --news-gap-y: 24px;
    }
    .page_head.has_side{ align-items:center; gap:10px; }
    .ph_side{ font-size:13px; }
    .news_search{ margin-top:22px; padding:18px; border-radius:10px; }
    .news_search select,
    .ns_ipt input{ font-size:14px; }
    .news_result{ margin-top:28px; }
    .nr_total{ font-size:17px; }
    .sn_list{ margin-top:16px; }
    .sn_name{ font-size:18px; }
    .sn_body{ padding:18px 18px 0; }
    .sn_foot{ margin:12px 18px 0; padding:13px 0; }
    .store_news .paging_box{ flex-wrap:wrap; margin-top:36px; }
}


/* ================================================
   농협 한우프라자 - [06]매장소식 상세
================================================ */
:root{
    --nv-pd-t: 81px;        /* 섹션 상단 여백 */
    --nv-pd-b: 78px;        /* 섹션 하단 여백 */
    --nv-label-w: 300px;    /* 좌측 소제목 칼럼 */
    --nv-block-gap: 82px;   /* 블록 사이 구분선 위 여백 */
    --nv-block-pd: 84px;    /* 블록 사이 구분선 아래 여백 */
    --fac-col: 4;           /* 시설 카드 칼럼 */
    --menu-col: 3;          /* 대표 메뉴 칼럼 */
    --nv-tit: 48px;         /* 매장명 */
    --nv-stit: 28px;        /* 소제목 */
}

.news_view{ padding:var(--nv-pd-t) 0 var(--nv-pd-b); }

/* ------------------------------------------------
   매장 정보 헤드
------------------------------------------------ */
.nv_head{ text-align:center; }
.nv_area{
    display:flex; align-items:center; justify-content:center; gap:6px;
    font-size:15px; font-weight:700; line-height:1.4; color:var(--gold-txt, #a07b3f); letter-spacing:-0.02em;
}
.nv_area:before{
    content:''; flex:none; width:11px; height:14px;
    background:url('../img_pub/news/detail/ico_pin_gold.svg') no-repeat center/11px 14px;
}
.nv_tit{
    margin-top:18px;
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--nv-tit); font-weight:500; line-height:1.4; color:var(--black-color); letter-spacing:-0.04em;
    word-break:keep-all;
}
.nv_desc{
    margin-top:13px; font-size:18px; font-weight:500; line-height:1.4; color:#666;
    letter-spacing:-0.03em; word-break:keep-all;
}
.nv_tag{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin-top:25px; }
.nv_tag > li{
    padding:5px 12px; border-radius:14px; background-color:#f4f2ef;
    font-size:13px; font-weight:600; color:#666; letter-spacing:-0.02em; white-space:nowrap;
}

/* ------------------------------------------------
   매장 갤러리 (큰 사진 1 + 작은 사진 2)
------------------------------------------------ */
.nv_gallery{
    display:grid; grid-template-columns:minmax(0, 792fr) minmax(0, 390fr);
    gap:12px 18px; margin-top:57px;
}
.ng_item{
    display:block; border-radius:12px; background-color:#efece8;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    aspect-ratio:390 / 254;
}
.ng_item.lg{ grid-row:span 2; aspect-ratio:792 / 520; }

/* ------------------------------------------------
   공통 블록 (좌: 소제목 / 우: 내용)
------------------------------------------------ */
.nv_block{
    display:grid; grid-template-columns:var(--nv-label-w) minmax(0, 1fr);
    margin-top:104px;
}
.nv_block + .nv_block{
    margin-top:var(--nv-block-gap); padding-top:var(--nv-block-pd); border-top:1px solid #e4e1de;
}
.nv_stit{
    font-family:'KoPubWorld Batang','KoPub Batang','Noto Serif KR', serif;
    font-size:var(--nv-stit); font-weight:500; line-height:1.4; color:var(--black-color); letter-spacing:-0.04em;
}
.nv_stit:before{
    content:''; display:block; width:28px; height:2px; margin-bottom:14px;
    background-color:var(--gold-light);
}
.nv_cont{ padding-top:16px; }

/* 매장 특징 */
.nv_lead{ font-size:22px; font-weight:600; line-height:1.6; color:var(--black-color); letter-spacing:-0.03em; word-break:keep-all; }
.nv_txt{ margin-top:22px; font-size:17px; font-weight:500; line-height:1.85; color:#555; letter-spacing:-0.03em; word-break:keep-all; }

/* ------------------------------------------------
   시설 안내
------------------------------------------------ */
.fac_list{ display:grid; grid-template-columns:repeat(var(--fac-col), minmax(0, 1fr)); gap:16px; }
.fac_list > li{
    padding:25px 22px 27px; border:1px solid #ece7e0; border-radius:10px; background-color:#faf8f5;
}
.fc_ico{ display:block; width:32px; height:32px; }
.fc_ico img{ width:100%; height:100%; object-fit:contain; }
.fc_tit{
    display:block; margin-top:18px; font-size:17px; font-weight:800; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.03em;
}
.fc_desc{ margin-top:4px; font-size:14px; font-weight:500; line-height:1.4; color:#777; letter-spacing:-0.03em; }

.fac_photo{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin-top:40px; }
.fp_item{
    display:block; border-radius:10px; background-color:#efece8;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    aspect-ratio:441 / 280;
}

/* ------------------------------------------------
   대표 메뉴
------------------------------------------------ */
.menu_list{ display:grid; grid-template-columns:repeat(var(--menu-col), minmax(0, 1fr)); gap:28px 18px; }
.mn_photo{
    display:block; border-radius:10px; background-color:#efece8;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    aspect-ratio:288 / 220;
}
.mn_tit{
    display:block; margin-top:20px; font-size:19px; font-weight:800; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.03em;
}
.mn_desc{ margin-top:5px; font-size:14px; font-weight:500; line-height:1.6; color:#777; letter-spacing:-0.03em; }

/* ------------------------------------------------
   방문 정보
------------------------------------------------ */
.visit_box{
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
    margin-top:92px; padding:40px 48px 37px; border-radius:12px; background-color:#1f1a16;
}
.vb_info{ min-width:0; }
.vb_label{ font-size:13px; font-weight:700; line-height:1.4; color:var(--gold-light); letter-spacing:0.06em; }
.vb_addr{
    display:flex; align-items:center; gap:7px; margin-top:14px;
    font-size:17px; font-weight:600; line-height:1.4; color:var(--white-color); letter-spacing:-0.03em; word-break:keep-all;
}
.vb_addr:before{
    content:''; flex:none; width:11px; height:14px;
    background:url('../img_pub/news/detail/ico_pin_w.svg') no-repeat center/11px 14px;
}
.vb_sub{ margin-top:6px; padding-left:18px; font-size:15px; font-weight:500; line-height:1.4; color:rgba(255,255,255,.7); letter-spacing:-0.03em; }
.vb_dot{ display:inline-block; margin:0 12px; }
.vb_btns{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.vb_btn{
    display:inline-flex; align-items:center; padding:13px 22px; border-radius:4px;
    font-size:15px; font-weight:700; color:var(--white-color); letter-spacing:-0.02em; white-space:nowrap;
    transition:background-color .25s, border-color .25s;
}
.vb_btn.line{ border:1px solid rgba(255,255,255,.4); }
.vb_btn.line:hover{ border-color:var(--white-color); background-color:rgba(255,255,255,.08); }
.vb_btn.gold{ background-color:var(--gold-light); }
.vb_btn.gold:after{ content:'→'; margin-left:9px; transition:transform .25s; }
.vb_btn.gold:hover{ background-color:var(--gold); }
.vb_btn.gold:hover:after{ transform:translateX(3px); }

/* 목록으로 */
.nv_foot{ margin-top:52px; text-align:center; }
.nv_list_btn{
    display:inline-flex; align-items:center; justify-content:center; padding:15px 64px; border-radius:4px;
    background-color:var(--brown); color:var(--white-color);
    font-size:var(--fs-base); font-weight:700; letter-spacing:-0.02em;
    transition:background-color .25s, color .25s;
}
.nv_list_btn:hover{ background-color:#241a11; color:var(--gold-pale); }

/* ------------------------------------------------
   페이징 ([03]·[05]와 동일 규격)
------------------------------------------------ */
.news_view .paging_box{ gap:4px; margin-top:33px; padding:0; }
.news_view .paging_box .pg_page,
.news_view .paging_box .pg_current{
    display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:4px;
    font-size:12px; font-weight:500; color:#666; letter-spacing:-0.05em;
}
.news_view .paging_box .pg_page{ background-color:var(--white-color); border:1px solid #e6e6e6; }
.news_view .paging_box .pg_page:hover{ border-color:#bdbdbd; color:var(--black-color); }
.news_view .paging_box .pg_current{ background-color:var(--gold); border:1px solid var(--gold); color:var(--white-color); }
.news_view .paging_box .pg_first,
.news_view .paging_box .pg_prev,
.news_view .paging_box .pg_next,
.news_view .paging_box .pg_last{ background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.news_view .paging_box .pg_first{ background-image:url('../img_pub/store/pg_first.svg'); }
.news_view .paging_box .pg_prev{ background-image:url('../img_pub/store/pg_prev.svg'); }
.news_view .paging_box .pg_next{ background-image:url('../img_pub/store/pg_prev.svg'); transform:scaleX(-1); }
.news_view .paging_box .pg_last{ background-image:url('../img_pub/store/pg_first.svg'); transform:scaleX(-1); }


/* ------------------------------------------------
   [06] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    :root{
        --nv-pd-t: 64px;
        --nv-pd-b: 70px;
        --nv-label-w: 220px;
        --nv-block-gap: 64px;
        --nv-block-pd: 64px;
        --nv-tit: 40px;
        --nv-stit: 26px;
    }
    .nv_gallery{ margin-top:44px; }
    .nv_block{ margin-top:80px; }
    .nv_lead{ font-size:20px; }
    .nv_txt{ font-size:16px; margin-top:18px; }
    .fac_photo{ margin-top:32px; }
    .visit_box{ margin-top:70px; padding:32px 36px; }
}

@media screen and (max-width: 960px){
    :root{
        --nv-pd-t: 50px;
        --nv-pd-b: 60px;
        --nv-block-gap: 52px;
        --nv-block-pd: 52px;
        --nv-tit: 32px;
        --nv-stit: 24px;
        --fac-col: 2;
    }
    .nv_desc{ font-size:16px; }
    .nv_gallery{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .ng_item.lg{ grid-row:auto; grid-column:span 2; }
    .nv_block{ display:block; margin-top:60px; }
    .nv_cont{ padding-top:24px; }
    .visit_box{ margin-top:56px; }
    .nv_foot{ margin-top:40px; }
}

@media screen and (max-width: 650px){
    :root{
        --nv-pd-t: 36px;
        --nv-pd-b: 50px;
        --nv-block-gap: 40px;
        --nv-block-pd: 40px;
        --nv-tit: 26px;
        --nv-stit: 21px;
        --menu-col: 2;
    }
    .nv_area{ font-size:14px; }
    .nv_tit{ margin-top:14px; }
    .nv_desc{ font-size:15px; margin-top:10px; }
    .nv_tag{ gap:6px; margin-top:18px; }
    .nv_tag > li{ font-size:12px; padding:4px 10px; }
    .nv_gallery{ gap:10px; margin-top:30px; }
    .nv_block{ margin-top:44px; }
    .nv_lead{ font-size:18px; }
    .nv_txt{ font-size:15px; line-height:1.75; }
    .fac_list{ gap:10px; }
    .fac_list > li{ padding:18px 16px 20px; }
    .fc_tit{ margin-top:14px; font-size:16px; }
    .fc_desc{ font-size:13px; }
    .fac_photo{ gap:10px; margin-top:24px; }
    .menu_list{ gap:22px 12px; }
    .mn_tit{ margin-top:14px; font-size:16px; }
    .mn_desc{ font-size:13px; }
    .visit_box{ margin-top:44px; padding:24px 20px; }
    .vb_addr{ font-size:16px; }
    .vb_sub{ font-size:14px; }
    .vb_dot{ margin:0 8px; }
    .vb_btn{ padding:12px 16px; font-size:14px; }
    .vb_btns{ width:100%; }
    .vb_btn{ flex:1 1 auto; justify-content:center; }
    .nv_foot{ margin-top:32px; }
    .nv_list_btn{ padding:14px 48px; }
    .news_view .paging_box{ flex-wrap:wrap; margin-top:26px; }
}


/* ================================================
   농협 한우프라자 - [07]행사·이벤트
================================================ */
:root{
    --ev-pd-t: 65px;        /* 섹션 상단 여백 */
    --ev-pd-b: 117px;       /* 섹션 하단 여백 */
    --ev-col: 3;            /* 카드 칼럼 수 */
    --ev-gap-x: 18px;
    --ev-gap-y: 26px;
}

.event_board{ padding:var(--ev-pd-t) 0 var(--ev-pd-b); }
.event_board .page_head.has_side{ align-items:center; }

/* 진행중 / 종료된 행사 탭 */
.ev_tab{ flex:none; display:flex; align-items:center; gap:6px; }
.ev_tab button{
    height:40px; padding:0 22px; border:0; border-radius:4px;
    background-color:#f0f0f0; color:#7f7f7f;
    font-size:var(--fs-base); font-weight:600; letter-spacing:-0.05em; white-space:nowrap;
    transition:background-color .25s, color .25s;
}
.ev_tab button:hover{ background-color:#e6e2dc; color:var(--black-color); }
.ev_tab button.on{ background-color:var(--brown); color:var(--white-color); }

/* ------------------------------------------------
   행사 카드 목록
------------------------------------------------ */
.ev_list{
    display:grid; grid-template-columns:repeat(var(--ev-col), minmax(0, 1fr));
    gap:var(--ev-gap-y) var(--ev-gap-x); margin-top:34px;
}
.ev_list > li{ min-width:0; }
.ev_card{
    display:flex; flex-direction:column; height:100%; overflow:hidden;
    border-radius:0 0 10px 10px; background-color:var(--white-color);
    box-shadow:4px 11px 16px rgba(0,0,0,.15);
    transition:transform .3s cubic-bezier(.33,1,.68,1), box-shadow .3s ease;
}
.ev_card:hover{ transform:translateY(-6px); box-shadow:4px 16px 24px rgba(0,0,0,.2); }
.evc_thumb{
    display:block; width:100%; padding-top:76.55%;
    background:url('../img_pub/main/ico_placeholder.svg') no-repeat center / 33px 27px #f0f0f0;
}
.evc_thumb.has_img{ background-size:cover; background-position:center; background-repeat:no-repeat; }
.evc_body{ flex:1 1 auto; display:block; padding:27px 30px 21px; }
.evc_tit{
    display:block; font-size:18px; font-weight:800; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.05em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.evc_desc{
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
    margin-top:5px; font-size:var(--fs-base); font-weight:600; line-height:25px;
    color:#7f7f7f; letter-spacing:-0.05em;
}

/* ------------------------------------------------
   페이징 ([03]·[05]·[06]과 동일 규격)
------------------------------------------------ */
.event_board .paging_box{ gap:4px; margin-top:58px; padding:0; }
.event_board .paging_box .pg_page,
.event_board .paging_box .pg_current{
    display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:4px;
    font-size:12px; font-weight:500; color:#666; letter-spacing:-0.05em;
}
.event_board .paging_box .pg_page{ background-color:var(--white-color); border:1px solid #e6e6e6; }
.event_board .paging_box .pg_page:hover{ border-color:#bdbdbd; color:var(--black-color); }
.event_board .paging_box .pg_current{ background-color:var(--gold); border:1px solid var(--gold); color:var(--white-color); }
.event_board .paging_box .pg_first,
.event_board .paging_box .pg_prev,
.event_board .paging_box .pg_next,
.event_board .paging_box .pg_last{ background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.event_board .paging_box .pg_first{ background-image:url('../img_pub/store/pg_first.svg'); }
.event_board .paging_box .pg_prev{ background-image:url('../img_pub/store/pg_prev.svg'); }
.event_board .paging_box .pg_next{ background-image:url('../img_pub/store/pg_prev.svg'); transform:scaleX(-1); }
.event_board .paging_box .pg_last{ background-image:url('../img_pub/store/pg_first.svg'); transform:scaleX(-1); }


/* ------------------------------------------------
   [07] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    :root{
        --ev-pd-t: 55px;
        --ev-pd-b: 95px;
        --ev-gap-y: 22px;
    }
    .ev_list{ margin-top:28px; }
    .evc_body{ padding:22px 24px 18px; }
}

@media screen and (max-width: 960px){
    :root{
        --ev-pd-t: 45px;
        --ev-pd-b: 80px;
        --ev-col: 2;
    }
    .event_board .paging_box{ margin-top:44px; }
}

@media screen and (max-width: 650px){
    :root{
        --ev-pd-t: 36px;
        --ev-pd-b: 60px;
        --ev-col: 1;
        --ev-gap-y: 20px;
    }
    .event_board .page_head.has_side{ align-items:flex-start; flex-direction:column; gap:12px; }
    .ev_tab button{ height:34px; padding:0 12px; font-size:14px; }
    .ev_list{ margin-top:20px; }
    .evc_body{ padding:18px 18px 16px; }
    .evc_tit{ font-size:17px; }
    .evc_desc{ font-size:15px; line-height:1.6; }
    .event_board .paging_box{ flex-wrap:wrap; margin-top:36px; }
}


/* ================================================
   농협 한우프라자 - [08]SNS · 미디어
   카드 UI 는 메인페이지 SNS 섹션(.sns_list / .sns_card)을 그대로 사용
================================================ */
:root{
    --snsb-pd-t: 65px;      /* 섹션 상단 여백 */
    --snsb-pd-b: 136px;     /* 섹션 하단 여백 */
}

.sns_board{ padding:var(--snsb-pd-t) 0 var(--snsb-pd-b); }
.sns_board .page_head.has_side{ align-items:center; }
.sns_board .sns_list{ margin-top:42px; }

/* 채널 필터 탭 (알약형) */
.sns_tab{ flex:none; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sns_tab button{
    min-width:80px; height:38px; padding:0 20px; border:1px solid #d7d4d2; border-radius:19px;
    background-color:var(--white-color); color:#666;
    font-size:15px; font-weight:600; letter-spacing:-0.03em; white-space:nowrap;
    transition:background-color .25s, color .25s, border-color .25s;
}
.sns_tab button:hover{ border-color:var(--gold); color:var(--black-color); }
.sns_tab button.on{ background-color:var(--brown); border-color:var(--brown); color:var(--white-color); font-weight:700; }

/* ------------------------------------------------
   페이징 ([03]·[05]~[07]과 동일 규격)
------------------------------------------------ */
.sns_board .paging_box{ gap:4px; margin-top:60px; padding:0; }
.sns_board .paging_box .pg_page,
.sns_board .paging_box .pg_current{
    display:flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:4px;
    font-size:12px; font-weight:500; color:#666; letter-spacing:-0.05em;
}
.sns_board .paging_box .pg_page{ background-color:var(--white-color); border:1px solid #e6e6e6; }
.sns_board .paging_box .pg_page:hover{ border-color:#bdbdbd; color:var(--black-color); }
.sns_board .paging_box .pg_current{ background-color:var(--gold); border:1px solid var(--gold); color:var(--white-color); }
.sns_board .paging_box .pg_first,
.sns_board .paging_box .pg_prev,
.sns_board .paging_box .pg_next,
.sns_board .paging_box .pg_last{ background-repeat:no-repeat; background-position:center; background-size:12px 12px; }
.sns_board .paging_box .pg_first{ background-image:url('../img_pub/store/pg_first.svg'); }
.sns_board .paging_box .pg_prev{ background-image:url('../img_pub/store/pg_prev.svg'); }
.sns_board .paging_box .pg_next{ background-image:url('../img_pub/store/pg_prev.svg'); transform:scaleX(-1); }
.sns_board .paging_box .pg_last{ background-image:url('../img_pub/store/pg_first.svg'); transform:scaleX(-1); }


/* ------------------------------------------------
   [08] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    :root{
        --snsb-pd-t: 55px;
        --snsb-pd-b: 110px;
    }
    .sns_board .sns_list{ margin-top:32px; }
}

@media screen and (max-width: 960px){
    :root{
        --snsb-pd-t: 45px;
        --snsb-pd-b: 90px;
    }
    .sns_board .paging_box{ margin-top:44px; }
}

@media screen and (max-width: 650px){
    :root{
        --snsb-pd-t: 36px;
        --snsb-pd-b: 70px;
    }
    .sns_board .page_head.has_side{ align-items:flex-start; flex-direction:column; gap:14px; }
    .sns_tab{ gap:6px; }
    .sns_tab button{ min-width:0; height:32px; padding:0 14px; font-size:13px; }
    .sns_board .sns_list{ margin-top:20px; }
    .sns_board .paging_box{ flex-wrap:wrap; margin-top:36px; }
}


/* ================================================
   농협 한우프라자 - [09]SNS · 미디어 상세
================================================ */
:root{
    --svd-pd-t: 65px;       /* 섹션 상단 여백 */
    --svd-pd-b: 140px;      /* 섹션 하단 여백 */
    --svd-tit: 32px;        /* 게시물 제목 */
}

.sns_view{ padding:var(--svd-pd-t) 0 var(--svd-pd-b); }

/* ------------------------------------------------
   게시물 헤더
------------------------------------------------ */
.svd_head{ padding-bottom:28px; margin-top:42px; border-bottom:1px solid #e4e1de; }
.svd_badge{
    display:inline-flex; align-items:center; gap:8px; padding:6px 12px;
    border:1px solid #e4e1de; border-radius:15px; background-color:var(--white-color);
    font-size:13px; font-weight:700; color:var(--black-color); letter-spacing:-0.02em; vertical-align:top;
}
.svd_badge img{ width:18px; height:13px; object-fit:contain; }
.svd_tit{
    margin-top:16px; font-size:var(--svd-tit); font-weight:800; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.03em; word-break:keep-all;
}
.svd_meta{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:21px; }
.svd_store{ display:flex; align-items:center; min-width:0; }
.svd_profile{
    flex:none; width:36px; height:36px; border-radius:50%; background-color:#efece8;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.svd_name{
    margin-left:10px; font-size:15px; font-weight:700; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.03em; white-space:nowrap;
}
.svd_info{ margin-left:24px; font-size:14px; font-weight:500; line-height:1.4; color:#9a9a9a; letter-spacing:-0.03em; white-space:nowrap; }
.svd_dot{ display:inline-block; margin:0 10px; }

.svd_btns{ flex:none; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.svd_btn{
    display:inline-flex; align-items:center; justify-content:center; padding:10px 18px;
    border:1px solid transparent; border-radius:4px;
    font-size:14px; font-weight:700; letter-spacing:-0.02em; white-space:nowrap;
    transition:background-color .25s, border-color .25s, color .25s;
}
.svd_btn.line{ border-color:#d7d4d2; background-color:var(--white-color); color:#555; font-weight:600; }
.svd_btn.line:hover{ border-color:var(--gold); color:var(--black-color); }
.svd_btn.dark{ background-color:var(--brown); color:var(--white-color); }
.svd_btn.dark:hover{ background-color:#241a11; color:var(--gold-pale); }
.svd_btn.dark:after,
.svc_go:after{ content:'↗'; margin-left:8px; }

/* 공유하기 - 복사 완료 툴팁 (버튼 크기는 그대로 유지) */
.share_btn{ position:relative; }
.share_btn:after{
    content:'URL이 복사되었습니다'; position:absolute; bottom:calc(100% + 8px); left:50%; z-index:10;
    padding:6px 12px; border-radius:4px; background-color:rgba(34,34,34,.92); color:var(--white-color);
    font-size:12px; font-weight:600; letter-spacing:-0.02em; white-space:nowrap; pointer-events:none;
    opacity:0; visibility:hidden; transform:translate(-50%, 4px);
    transition:opacity .25s ease, transform .25s cubic-bezier(.33,1,.68,1), visibility 0s .25s;
}
.share_btn.done:after,
.share_btn.fail:after{
    opacity:1; visibility:visible; transform:translate(-50%, 0);
    transition:opacity .25s ease, transform .25s cubic-bezier(.33,1,.68,1), visibility 0s 0s;
}
.share_btn.fail:after{ content:'주소를 복사하지 못했습니다'; }
.share_btn.done{ border-color:var(--gold); color:var(--black-color); }

/* ------------------------------------------------
   미디어 슬롯 (YouTube 영상 / Instagram 이미지 / Blog 커버)
------------------------------------------------ */
.svd_media{
    position:relative; overflow:hidden; margin-top:40px; border-radius:12px; background-color:#111;
}
.svd_thumb{
    display:block; width:100%; padding-top:56.25%;
    background-color:#111; background-size:cover; background-position:center; background-repeat:no-repeat;
}
/* Instagram : 1:1 정사각 이미지 */
.svd_media.type_photo .svd_thumb{ padding-top:100%; max-width:675px; margin:0 auto; }
/* Blog : 와이드 커버 (플레이어 UI 없음) */
.svd_media.type_cover .svd_thumb{ padding-top:43.75%; }

.svd_dim{ position:absolute; inset:0; background-color:rgba(0,0,0,.35); }
.svd_play{
    position:absolute; top:50%; left:50%; width:96px; height:96px; margin:-48px 0 0 -48px;
    border:0; border-radius:50%; background-color:rgba(0,0,0,.55);
    background-image:url('../img_pub/sns/detail/ico_play_tri.svg');
    background-repeat:no-repeat; background-position:center; background-size:30px 34px;
    transition:background-color .25s, transform .25s;
}
.svd_play:hover{ background-color:rgba(0,0,0,.75); transform:scale(1.06); }
.svd_bar{
    position:absolute; right:24px; bottom:28px; left:24px; display:block; height:4px;
    border-radius:2px; background-color:rgba(255,255,255,.3);
}
.svd_bar em{ display:block; height:100%; border-radius:2px; background-color:var(--gold-light); }

/* ------------------------------------------------
   본문 · 해시태그
------------------------------------------------ */
.svd_body{ margin-top:48px; font-size:17px; font-weight:500; line-height:1.85; color:#555; letter-spacing:-0.03em; word-break:keep-all; }
.svd_body p + p{ margin-top:1.85em; }

.svd_tag{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:64px; }
.svd_tag > li{
    padding:6px 12px; border-radius:15px; background-color:#f6f1ea;
    font-size:14px; font-weight:600; color:var(--gold-txt, #a07b3f); letter-spacing:-0.02em; white-space:nowrap;
}

/* ------------------------------------------------
   원본 채널 카드
------------------------------------------------ */
.svd_channel{
    display:flex; align-items:center; gap:20px; margin-top:43px; padding:19px 23px;
    border:1px solid #ece7e0; border-radius:10px; background-color:#faf8f5;
}
.svc_ico{
    flex:none; display:flex; align-items:center; justify-content:center;
    width:56px; height:56px; border-radius:50%; background-color:var(--white-color);
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.svc_ico img{ width:26px; height:26px; object-fit:contain; }
.svc_info{ flex:1 1 auto; min-width:0; display:block; }
.svc_name{
    display:block; font-size:17px; font-weight:800; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.svc_url{
    display:block; margin-top:4px; font-size:14px; font-weight:500; line-height:1.4; color:#9a9a9a; letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.svc_go{ flex:none; color:var(--black-color); font-weight:700; }

/* ------------------------------------------------
   이전글 / 다음글
------------------------------------------------ */
.svd_nav{ margin-top:56px; border-top:1px solid var(--black-color); }
.svn_row{
    display:flex; align-items:center; gap:20px; height:64px; padding:0 24px;
    border-bottom:1px solid #e4e1de; transition:background-color .2s;
}
.svn_row:hover{ background-color:#faf8f5; }
.svn_label{
    flex:none; display:flex; align-items:center; gap:10px; padding-right:20px;
    border-right:1px solid #ddd;
    font-size:15px; font-weight:700; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em;
}
.svn_label:before{
    content:''; flex:none; width:16px; height:16px;
    background-repeat:no-repeat; background-position:center; background-size:16px 16px;
}
.svn_label.prev:before{ background-image:url('../img_pub/sns/detail/ico_prev.svg'); }
.svn_label.next:before{ background-image:url('../img_pub/sns/detail/ico_next.svg'); }
.svn_tit{
    flex:1 1 auto; min-width:0; font-size:15px; font-weight:500; line-height:1.4; color:#555; letter-spacing:-0.03em;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.svn_row:hover .svn_tit{ color:var(--black-color); }
.svn_date{ flex:none; font-size:14px; font-weight:500; line-height:1.4; color:#9a9a9a; letter-spacing:-0.03em; }

/* 목록으로 */
.svd_foot{ margin-top:56px; text-align:center; }


/* ------------------------------------------------
   [09] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    :root{
        --svd-pd-t: 55px;
        --svd-pd-b: 110px;
        --svd-tit: 28px;
    }
    .svd_head{ margin-top:32px; }
    .svd_media{ margin-top:32px; }
    .svd_body{ margin-top:36px; font-size:16px; }
    .svd_tag{ margin-top:44px; }
    .svd_channel{ margin-top:32px; }
    .svd_nav{ margin-top:44px; }
    .svd_foot{ margin-top:44px; }
}

@media screen and (max-width: 960px){
    :root{
        --svd-pd-t: 45px;
        --svd-pd-b: 90px;
        --svd-tit: 24px;
    }
    .svd_meta{ align-items:flex-start; }
    .svd_play{ width:76px; height:76px; margin:-38px 0 0 -38px; background-size:24px 27px; }
}

@media screen and (max-width: 650px){
    :root{
        --svd-pd-t: 36px;
        --svd-pd-b: 70px;
        --svd-tit: 20px;
    }
    .svd_head{ margin-top:22px; padding-bottom:20px; }
    .svd_tit{ margin-top:12px; }
    .svd_meta{ flex-direction:column; align-items:flex-start; gap:14px; margin-top:16px; }
    .svd_store{ flex-wrap:wrap; }
    .svd_info{ margin:6px 0 0 46px; }
    .svd_btns{ width:100%; }
    .svd_btn{ flex:1 1 auto; padding:11px 12px; font-size:13px; }
    .svd_media{ margin-top:24px; border-radius:8px; }
    .svd_play{ width:60px; height:60px; margin:-30px 0 0 -30px; background-size:19px 22px; }
    .svd_bar{ right:14px; bottom:16px; left:14px; }
    .svd_body{ margin-top:26px; font-size:15px; line-height:1.75; }
    .svd_tag{ gap:6px; margin-top:30px; }
    .svd_tag > li{ padding:5px 10px; font-size:13px; }
    .svd_channel{ gap:14px; flex-wrap:wrap; margin-top:24px; padding:16px; }
    .svc_ico{ width:44px; height:44px; }
    .svc_ico img{ width:20px; height:20px; }
    .svc_name{ font-size:15px; }
    .svc_url{ font-size:13px; }
    .svc_go{ width:100%; }
    .svd_nav{ margin-top:32px; }
    .svn_row{ height:auto; flex-wrap:wrap; gap:8px 12px; padding:14px 4px; }
    .svn_label{ padding-right:12px; font-size:14px; }
    .svn_tit{ flex:1 1 100%; order:3; font-size:14px; white-space:normal; }
    .svn_date{ font-size:13px; }
    .svd_foot{ margin-top:32px; }
}


/* ================================================
   농협 한우프라자 - [10]로그인
   헤더·푸터 없는 단독 페이지 (좌: 비주얼 / 우: 로그인 폼)
================================================ */
.login_page{
    display:flex; align-items:stretch; min-height:100vh; min-height:100svh;
    background-color:#fafafa;
}

/* 좌측 비주얼 */
.lg_visual{
    position:relative; flex:0 0 50%; max-width:50%; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    background-color:#1a1512;
    background-size:cover; background-position:center; background-repeat:no-repeat;
}
.lg_visual:before{
    content:''; position:absolute; inset:0;
    background-image:linear-gradient(135deg, rgba(0,0,0,.32) 10%, rgba(0,0,0,.8) 39%, rgba(0,0,0,.32) 67%);
}
/* 장식용 테두리 */
.lg_frame{
    position:absolute; top:45px; right:49px; bottom:45px; left:49px;
    border:4px solid var(--black-color); pointer-events:none;
}
.lg_logo{ position:relative; z-index:1; display:block; width:372px; max-width:62%; }
.lg_logo img{ width:100%; height:auto; transition:transform .3s cubic-bezier(.33,1,.68,1); }
.lg_visual:hover .lg_logo img{ transform:scale(1.03); }

/* 우측 폼 영역 */
.lg_panel{
    flex:1 1 50%; min-width:0; display:flex; align-items:center; justify-content:center;
    padding:40px 20px;
}
.lg_box{
    width:428px; max-width:100%; padding:56px 51px 24px; border-radius:10px;
    background-color:var(--white-color); box-shadow:6px 10px 16px rgba(0,0,0,.05);
}
.lg_head{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding-bottom:4px; border-bottom:2px solid #e9ebec;
}
.lg_tit{
    display:flex; align-items:center; gap:7px;
    font-size:20px; font-weight:800; line-height:1.2; color:var(--black-color); letter-spacing:-0.04em;
}
/* 뒤로가기 (이전 페이지로) */
.lg_back{
    flex:none; display:inline-flex; align-items:center; gap:5px; padding:0; border:0; background:none;
    font-size:13px; font-weight:600; line-height:1.2; color:#7f7f7f; letter-spacing:-0.04em; white-space:nowrap;
    transition:color .2s;
}
.lg_back:after{ content:'›'; font-size:17px; line-height:1; transition:transform .2s; }
.lg_back:hover{ color:var(--gold-txt, #a07b3f); }
.lg_back:hover:after{ transform:translateX(2px); }
.lg_tit:before{
    content:''; flex:none; width:18px; height:18px;
    background:url('../img_pub/login/ico_user.svg') no-repeat center/18px 18px;
}

.lg_field{ margin-top:30px; }
.lg_field + .lg_field{ margin-top:10px; }
.lg_field label{
    display:block; font-size:14px; font-weight:600; line-height:1.2; color:#7f7f7f; letter-spacing:-0.04em;
}
.lg_field input{
    width:100%; height:33px; margin-top:4px; padding:0 14px;
    border:1px solid #e9ebec; border-radius:4px; background-color:var(--white-color);
    font-size:12px; font-weight:500; color:var(--black-color); letter-spacing:-0.04em;
}
.lg_field input::placeholder{ color:#7f7f7f; opacity:.4; }
.lg_field input:focus{ border-color:var(--gold); outline:none; }

/* 아이디 저장 */
.lg_save{ display:flex; align-items:center; gap:6px; margin-top:10px; cursor:pointer; }
.lg_save input{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); }
.lg_save span{
    position:relative; padding-left:24px;
    font-size:12px; font-weight:500; line-height:18px; color:var(--black-color); letter-spacing:-0.04em;
}
.lg_save span:before{
    content:''; position:absolute; top:0; left:0; width:18px; height:18px;
    background:url('../img_pub/login/ico_check.svg') no-repeat center/18px 18px;
    transition:background-image .2s;
}
.lg_save input:checked + span:before{ background-image:url('../img_pub/login/ico_check_on.svg'); }
.lg_save input:focus-visible + span:before{ outline:2px solid var(--gold); outline-offset:1px; border-radius:50%; }

/* 로그인 버튼 */
.lg_btn{
    width:100%; height:39px; margin-top:41px; border:0; border-radius:100px;
    background-color:var(--gold); color:var(--white-color);
    font-size:14px; font-weight:800; letter-spacing:-0.04em; transition:background-color .25s;
}
.lg_btn:hover{ background-color:var(--gold-deep); }

/* 하단 링크 */
.lg_link{
    display:flex; align-items:center; justify-content:center; gap:10px; margin-top:10px;
    font-size:14px; font-weight:600; color:#7f7f7f; letter-spacing:-0.04em;
}
.lg_link a{ color:#7f7f7f; transition:color .2s; }
.lg_link a:hover{ color:var(--gold-txt, #a07b3f); }
.lg_bar{ color:#d7d4d2; }


/* ------------------------------------------------
   [10] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    .lg_frame{ top:32px; right:32px; bottom:32px; left:32px; border-width:3px; }
    .lg_logo{ width:300px; }
    .lg_box{ padding:44px 36px 28px; }
}

@media screen and (max-width: 960px){
    /* 비주얼은 상단 띠로, 폼은 그 아래로 */
    .login_page{ flex-direction:column; }
    .lg_visual{ flex:none; max-width:100%; width:100%; min-height:280px; padding:50px 0; }
    .lg_frame{ top:24px; right:24px; bottom:24px; left:24px; border-width:2px; }
    .lg_logo{ width:260px; max-width:70%; }
    .lg_panel{ flex:1 1 auto; padding:50px 20px 60px; }
}

@media screen and (max-width: 650px){
    .lg_visual{ min-height:200px; padding:36px 0; }
    .lg_frame{ top:16px; right:16px; bottom:16px; left:16px; }
    .lg_logo{ width:200px; }
    .lg_panel{ padding:36px 20px 44px; }
    .lg_box{ padding:32px 24px 24px; border-radius:8px; }
    .lg_tit{ font-size:18px; padding-bottom:18px; }
    .lg_field{ margin-top:22px; }
    .lg_field input{ height:40px; font-size:14px; }
    .lg_btn{ height:44px; margin-top:24px; }
    .lg_link{ gap:8px; font-size:13px; }
}


/* ================================================
   농협 한우프라자 - [11][12][13]회원가입
   로그인([10])과 동일한 좌우 분할 레이아웃 사용
================================================ */
.lg_box.type_join{ width:428px; padding:24px 24px 30px; }
.lg_box.type_join .lg_head{ padding-bottom:6px; }
.lg_box.type_join .lg_tit{ font-size:18px; }

/* ------------------------------------------------
   Step 1 · 2 · 3 인디케이터
------------------------------------------------ */
.jn_step{
    position:relative; display:flex; align-items:flex-start; justify-content:space-between;
    width:222px; margin:40px auto 0;
}
.jn_step:before{
    content:''; position:absolute; top:10px; right:32px; left:32px; height:1px; background-color:#ddd;
}
.jn_step > li{
    position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:6px;
    font-size:14px; font-weight:600; line-height:1.4; color:#9a9a9a; letter-spacing:-0.03em;
}
.jn_dot{
    display:block; width:21px; height:21px; border:1px solid #ddd; border-radius:50%;
    background-color:var(--white-color);
}
/* 완료한 단계 · 현재 단계 = 골드 + 체크 */
.jn_step > li.on .jn_dot,
.jn_step > li.now .jn_dot{
    border-color:var(--gold); background-color:var(--gold);
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7' fill='none'%3E%3Cpath d='M1 3.2 3.7 6 9 1' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:center;
}
.jn_step > li.on,
.jn_step > li.now{ color:var(--gold); }

/* ------------------------------------------------
   약관 동의 ([11])
------------------------------------------------ */
.jn_form{ margin-top:20px; }

/* 모두 동의 */
.jn_all{
    display:flex; align-items:center; gap:9px; height:50px; padding:0 17px; border-radius:4px;
    background-color:var(--gold); cursor:pointer;
}
.jn_all input,
.jn_chk input{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); }
.jn_all span{
    position:relative; padding-left:29px;
    font-size:14px; font-weight:600; line-height:20px; color:var(--white-color); letter-spacing:-0.03em;
}
.jn_all span:before{
    content:''; position:absolute; top:0; left:0; width:20px; height:20px; border-radius:3px;
    border:1px solid rgba(255,255,255,.6);
    transition:background-color .2s, border-color .2s;
}
.jn_all span:after{
    content:''; position:absolute; top:6px; left:4px; width:12px; height:8px;
    border-left:2px solid var(--white-color); border-bottom:2px solid var(--white-color);
    transform:rotate(-45deg) scale(.6); opacity:0; transition:opacity .2s, transform .2s;
}
.jn_all input:checked + span:before{ background-color:rgba(255,255,255,.2); border-color:var(--white-color); }
.jn_all input:checked + span:after{ opacity:1; transform:rotate(-45deg) scale(1); }

/* 개별 동의 */
.jn_terms{ margin-top:15px; }
.jn_terms + .jn_terms{ margin-top:15px; }
.jn_chk{ display:flex; align-items:center; cursor:pointer; }
.jn_chk span{
    position:relative; padding-left:30px;
    font-size:14px; font-weight:500; line-height:20px; color:#555; letter-spacing:-0.03em;
}
.jn_chk span:before{
    content:''; position:absolute; top:0; left:0; width:20px; height:20px;
    border:1px solid #ddd; border-radius:3px; background-color:var(--white-color);
    transition:background-color .2s, border-color .2s;
}
.jn_chk span:after{
    content:''; position:absolute; top:6px; left:4px; width:12px; height:8px;
    border-left:2px solid var(--white-color); border-bottom:2px solid var(--white-color);
    transform:rotate(-45deg) scale(.6); opacity:0; transition:opacity .2s, transform .2s;
}
.jn_chk input:checked + span:before{ background-color:var(--gold); border-color:var(--gold); }
.jn_chk input:checked + span:after{ opacity:1; transform:rotate(-45deg) scale(1); }

/* 약관 본문 (스크롤 박스) */
.jn_doc{
    height:120px; margin-top:16px; padding:14px 16px; overflow-y:auto;
    border:1px solid #e9ebec; border-radius:4px; background-color:var(--white-color);
    font-size:13px; font-weight:400; line-height:1.7; color:#7f7f7f; letter-spacing:-0.03em;
    white-space:pre-line; word-break:keep-all;
}
.jn_doc::-webkit-scrollbar{ width:4px; }
.jn_doc::-webkit-scrollbar-thumb{ border-radius:2px; background-color:#aaa; }
.jn_doc::-webkit-scrollbar-track{ background-color:transparent; }

.jn_form .lg_btn{ height:59px; margin-top:16px; border-radius:4px; font-size:16px; }

/* ------------------------------------------------
   정보 입력 ([12])
------------------------------------------------ */
.jn_field + .jn_field{ margin-top:26px; }
.jn_field > label{
    display:block; margin-bottom:11px;
    font-size:15px; font-weight:600; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em;
}
.jn_field > label em{ font-style:normal; color:#e2554a; }
.jn_ipt{ display:flex; align-items:center; gap:10px; }
.jn_ipt + .jn_ipt{ margin-top:5px; }
.jn_ipt input{
    flex:1 1 auto; min-width:0; height:50px; padding:0 15px;
    border:1px solid #e9ebec; border-radius:4px; background-color:var(--white-color);
    font-size:15px; font-weight:500; color:var(--black-color); letter-spacing:-0.03em;
}
.jn_ipt input::placeholder{ color:#c4c4c4; }
.jn_ipt input:focus{ border-color:var(--gold); outline:none; }
.jn_ipt input[readonly]{ background-color:#fafafa; cursor:default; }
.jn_sub_btn{
    flex:none; width:84px; height:50px; border:0; border-radius:4px;
    background-color:#6b6b6b; color:var(--white-color);
    font-size:15px; font-weight:600; letter-spacing:-0.03em; transition:background-color .25s;
}
.jn_sub_btn:hover{ background-color:#4d4d4d; }
.jn_hint{ margin-top:11px; font-size:14px; font-weight:500; color:#e2554a; letter-spacing:-0.03em; }

/* ------------------------------------------------
   가입 완료 ([13])
------------------------------------------------ */
.jn_done{ padding-top:23px; text-align:center; }
.jn_done_ico{ display:block; width:44px; height:44px; margin:0 auto; }
.jn_done_ico img{ width:100%; height:100%; object-fit:contain; }
.jn_done_tit{
    display:block; margin-top:14px;
    font-size:15px; font-weight:700; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em;
}
.jn_done_txt{
    margin-top:15px; font-size:14px; font-weight:400; line-height:1.7; color:#7f7f7f; letter-spacing:-0.03em;
}
.jn_done_txt + .jn_done_txt{ margin-top:15px; }
.jn_done .lg_btn{
    display:flex; align-items:center; justify-content:center;
    height:59px; margin-top:30px; border-radius:4px; font-size:16px;
}
.jn_done .lg_btn:hover{ background-color:var(--gold-light); }


/* ------------------------------------------------
   [12] 화면 높이 고정 + 카드 안쪽 스크롤
   (폼이 길어도 페이지는 스크롤되지 않고 .jn_form 만 스크롤)
------------------------------------------------ */
@media screen and (min-width: 961px){
    .login_page.type_fixed{ height:100vh; height:100svh; overflow:hidden; }
    .login_page.type_fixed .lg_panel{ min-height:0; overflow:hidden; }
    .login_page.type_fixed .lg_box{
        display:flex; flex-direction:column; max-height:100%;
    }
    .login_page.type_fixed .lg_head,
    .login_page.type_fixed .jn_step{ flex:none; }
    .login_page.type_fixed .jn_form{
        flex:1 1 auto; min-height:0; overflow-y:auto;
        padding-right:14px; margin-right:-14px;   /* 스크롤바를 카드 안쪽 끝으로 */
    }
    .login_page.type_fixed .jn_form::-webkit-scrollbar{ width:4px; }
    .login_page.type_fixed .jn_form::-webkit-scrollbar-thumb{ border-radius:2px; background-color:#d7d4d2; }
    .login_page.type_fixed .jn_form::-webkit-scrollbar-track{ background-color:transparent; }
}


/* ------------------------------------------------
   [11][12][13] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    .lg_box.type_join{ padding:20px 20px 26px; }
    .jn_step{ margin-top:34px; }
}

@media screen and (max-width: 960px){
    /* 폼이 길어 좌측 비주얼은 짧은 띠로 */
    .login_page:has(.type_join) .lg_visual{ min-height:220px; }
}

@media screen and (max-width: 650px){
    .lg_box.type_join{ padding:20px 18px 24px; }
    .lg_box.type_join .lg_tit{ font-size:17px; }
    .jn_step{ width:100%; max-width:240px; margin-top:28px; }
    .jn_form{ margin-top:20px; }
    .jn_all{ height:auto; min-height:50px; padding:12px 14px; }
    .jn_all span{ font-size:13px; padding-left:27px; }
    .jn_chk span{ font-size:13px; }
    .jn_doc{ height:104px; font-size:12px; }
    .jn_form .lg_btn{ height:52px; font-size:15px; }
    .jn_field + .jn_field{ margin-top:20px; }
    .jn_field > label{ margin-bottom:8px; font-size:14px; }
    .jn_ipt input{ height:46px; font-size:14px; }
    .jn_sub_btn{ width:72px; height:46px; font-size:14px; }
    .jn_hint{ font-size:13px; }
    .jn_done_txt{ font-size:13px; }
    .jn_done .lg_btn{ height:52px; font-size:15px; }
}


/* ================================================
   로그인 상태 헤더
   <html>에 .is_login 이 붙으면 '로그인' → '마이페이지'
   (로그인 여부 판단은 개발 영역 — 퍼블에서는 sessionStorage 로 확인만)
================================================ */
.my_btn,
.logout_btn,
.mm_my,
.mm_logout,
.ft_logout{ display:none; }

/* 로그인 전 요소 숨기고 로그인 후 요소 노출 */
.is_login .login_btn:not(.my_btn),
.is_login .mm_login:not(.mm_my):not(.mm_logout){ display:none; }
.is_login .my_btn{ display:inline-flex; }
.is_login .logout_btn{ display:inline-flex; }
.is_login .mm_my,
.is_login .mm_logout{ display:flex; }
.is_login .ft_logout{ display:block; }
.is_login .ft_link > li:first-child{ display:none; }   /* 푸터 로그인 항목 숨김 */

/* 로그아웃 버튼 (마이페이지 우측) */
.logout_btn{
    align-items:center; justify-content:center; height:40px; padding:0 18px;
    border:1px solid rgba(255,255,255,.45); border-radius:4px; background:none;
    font-size:var(--fs-base); font-weight:600; color:var(--white-color); letter-spacing:-0.04em;
    transition:border-color .2s, background-color .2s, color .2s;
}
.logout_btn:hover{ border-color:var(--white-color); background-color:rgba(255,255,255,.1); }
header.type_light .logout_btn{ border-color:#d7d4d2; color:#555; }
header.type_light .logout_btn:hover{ border-color:var(--gold); background-color:transparent; color:var(--black-color); }

/* 모바일 전체메뉴 로그아웃 */
.mm_logout{
    width:100%; margin-top:10px; background-image:none; background-color:transparent;
    border:1px solid rgba(255,255,255,.35); color:var(--white-color);
    transition:border-color .2s, background-color .2s;
}
.mm_logout:hover{ border-color:var(--white-color); background-color:rgba(255,255,255,.08); }

/* 960 이하 : 로그인 버튼과 동일하게 헤더에서 숨기고 햄버거로 흡수 */
@media screen and (max-width: 960px){
    .is_login .my_btn,
    .is_login .logout_btn{ display:none; }
}


/* ================================================
   농협 한우프라자 - [14]마이페이지
   서브 비주얼 없이 헤더 바로 아래에서 시작
================================================ */
:root{
    --mp-pd-t: 82px;        /* 헤더(80) 아래 여백 */
    --mp-pd-b: 197px;       /* 섹션 하단 여백 */
    --mp-gap: 72px;         /* 매장 카드 ↔ 회원정보 */
}

.mypage{ padding:calc(80px + var(--mp-pd-t)) 0 var(--mp-pd-b); }

/* 인사 배너 */
.mp_hello{
    display:block; padding:20px 32px 23px;
    border-radius:10px 10px 0 0; background-color:var(--gold);
    font-size:18px; font-weight:500; line-height:1.4; color:var(--white-color); letter-spacing:-0.03em;
}
.mp_hello b{ font-weight:700; }

/* 섹션 타이틀 */
.mypage .page_head{ margin-top:47px; padding-bottom:10px; border-bottom:2px solid #e4e1de; }
.mp_tit{ font-size:18px; font-weight:800; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em; }

/* 본문 : 좌 매장카드 / 우 회원정보 */
.mp_body{ display:flex; align-items:flex-start; gap:var(--mp-gap); margin-top:55px; }
.mp_card{ flex:none; width:376px; }
.mp_right{ flex:1 1 auto; min-width:0; }

/* 회원 정보 3칼럼 */
.mp_info{
    display:grid; grid-template-columns:250fr 300fr 202fr;
}
.mp_info > li{ min-width:0; }
.mp_info > li + li{ padding-left:50px; border-left:1px solid #e9ebec; }
.mp_info dl + dl{ margin-top:30px; }
.mp_info dt{
    font-size:15px; font-weight:500; line-height:1.4; color:#9a9a9a; letter-spacing:-0.03em;
}
.mp_info dd{
    margin-top:10px; font-size:15px; font-weight:600; line-height:1.4;
    color:var(--black-color); letter-spacing:-0.03em;
    word-break:keep-all; overflow-wrap:anywhere;   /* 한글은 단어 단위, 이메일은 필요할 때만 끊김 */
}

/* 정보 수정하기 */
.mp_edit{
    display:inline-flex; align-items:center; justify-content:center;
    width:344px; max-width:100%; height:74px; margin-top:67px; border-radius:4px;
    background-color:var(--black-color); color:var(--white-color);
    font-size:18px; font-weight:700; letter-spacing:-0.03em; transition:background-color .25s, color .25s;
}
.mp_edit:hover{ background-color:var(--brown); color:var(--gold-pale); }


/* ------------------------------------------------
   [14] 반응형
------------------------------------------------ */
@media screen and (max-width: 1250px){
    :root{
        --mp-pd-t: 60px;
        --mp-pd-b: 140px;
        --mp-gap: 44px;
    }
    .mp_body{ margin-top:44px; }
    .mp_info > li + li{ padding-left:32px; }
    .mp_edit{ margin-top:50px; }
}

@media screen and (max-width: 960px){
    :root{
        --mp-pd-t: 46px;
        --mp-pd-b: 100px;
    }
    .mypage .page_head{ margin-top:36px; }
    /* 카드는 위로, 회원정보는 아래로 */
    .mp_body{ display:block; }
    .mp_card{ width:100%; max-width:376px; }
    .mp_right{ margin-top:40px; }
    .mp_info{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:34px 0; }
    .mp_info > li + li{ padding-left:32px; border-left:1px solid #e9ebec; }
    .mp_info > li:nth-child(odd){ padding-left:0; border-left:0; }
    .mp_edit{ width:100%; }
}

@media screen and (max-width: 650px){
    :root{
        --mp-pd-t: 30px;
        --mp-pd-b: 70px;
    }
    .mp_hello{ padding:16px 18px; font-size:15px; border-radius:8px 8px 0 0; }
    .mypage .page_head{ margin-top:26px; }
    .mp_tit{ font-size:17px; }
    .mp_body{ margin-top:28px; }
    .mp_card{ max-width:100%; }
    .mp_right{ margin-top:30px; }
    .mp_info{ grid-template-columns:1fr; gap:26px 0; }
    .mp_info > li + li{ padding:26px 0 0; border-left:0; border-top:1px solid #e9ebec; }
    .mp_info dl + dl{ margin-top:22px; }
    .mp_info dt,
    .mp_info dd{ font-size:14px; }
    .mp_edit{ height:58px; margin-top:34px; font-size:16px; }
}


/* ================================================
   [14]마이페이지 - 정보 수정 팝업
   시안이 없어 마이페이지 정보 항목과 회원가입 폼 스타일을 그대로 사용
   ※ ScrollSmoother 의 transform 안에서는 position:fixed 가 깨지므로
      #smooth-wrapper 바깥(</main> 뒤)에 마크업을 둡니다.
================================================ */
.mp_modal{
    position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
    padding:40px 20px;
    opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s .3s;
}
.mp_modal.on{ opacity:1; visibility:visible; transition:opacity .3s ease, visibility 0s 0s; }
.mpm_dim{ position:absolute; inset:0; background-color:rgba(0,0,0,.55); }

.mpm_box{
    position:relative; display:flex; flex-direction:column;
    width:660px; max-width:100%; max-height:100%; overflow:hidden;
    border-radius:12px; background-color:var(--white-color); box-shadow:0 20px 50px rgba(0,0,0,.25);
    transform:translateY(16px); transition:transform .35s cubic-bezier(.33,1,.68,1);
}
.mp_modal.on .mpm_box{ transform:translateY(0); }

/* 헤더 */
.mpm_head{
    flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:26px 30px; border-bottom:1px solid #e4e1de;
}
.mpm_tit{ font-size:20px; font-weight:800; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em; }
.mpm_close{
    flex:none; position:relative; width:34px; height:34px; margin-right:-6px;
    border:0; border-radius:50%; background-color:transparent; transition:background-color .2s;
}
.mpm_close:before,
.mpm_close:after{
    content:''; position:absolute; top:50%; left:50%; width:18px; height:1.5px; margin:-1px 0 0 -9px;
    background-color:#555;
}
.mpm_close:before{ transform:rotate(45deg); }
.mpm_close:after{ transform:rotate(-45deg); }
.mpm_close:hover{ background-color:#f4f2ef; }

/* 본문 (내용이 길면 이 영역만 스크롤) */
.mpm_body{
    flex:1 1 auto; min-height:0; overflow-y:auto;
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px 20px;
    padding:28px 30px 30px;
}
.mpm_field.wide,
.mpm_foot{ grid-column:1 / -1; }
.mpm_field > label,
.mpm_label{
    display:block; margin-bottom:9px;
    font-size:15px; font-weight:600; line-height:1.4; color:var(--black-color); letter-spacing:-0.03em;
}
.mpm_field > label em{ font-style:normal; color:#e2554a; }

/* 변경 불가 항목 (아이디) */
.mpm_fixed{
    display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-height:50px; padding:0 15px;
    border:1px solid #e9ebec; border-radius:4px; background-color:#fafafa;
    font-size:15px; font-weight:600; color:#555; letter-spacing:-0.03em;
}
.mpm_fixed em{ font-style:normal; font-size:13px; font-weight:500; color:#9a9a9a; }

/* 하단 버튼 */
.mpm_foot{ display:flex; align-items:center; gap:10px; margin-top:8px; }
.mpm_btn{
    flex:1 1 0; height:56px; border:1px solid transparent; border-radius:4px;
    font-size:16px; font-weight:700; letter-spacing:-0.03em;
    transition:background-color .25s, border-color .25s, color .25s;
}
.mpm_btn.line{ border-color:#d7d4d2; background-color:var(--white-color); color:#555; }
.mpm_btn.line:hover{ border-color:var(--black-color); color:var(--black-color); }
.mpm_btn.gold{ background-color:var(--gold); color:var(--white-color); }
.mpm_btn.gold:hover{ background-color:var(--gold-light); }

/* 팝업 열렸을 때 뒤 화면 스크롤 잠금 */
body.modal_open{ overflow:hidden; }


/* ------------------------------------------------
   정보 수정 팝업 반응형
------------------------------------------------ */
@media screen and (max-width: 650px){
    .mp_modal{ padding:20px 16px; }
    .mpm_head{ padding:20px; }
    .mpm_tit{ font-size:18px; }
    .mpm_body{ grid-template-columns:1fr; gap:18px; padding:20px 20px 24px; }
    .mpm_field > label,
    .mpm_label{ margin-bottom:7px; font-size:14px; }
    .mpm_fixed{ min-height:46px; font-size:14px; }
    .mpm_fixed em{ font-size:12px; }
    .mpm_foot{ gap:8px; }
    .mpm_btn{ height:50px; font-size:15px; }
}

/* PC 최소 폰트 크기 보정 */
@media screen and (min-width: 961px){
    .store_select .custom_select.type_field .cs_btn,
    .store_select .custom_select.type_field .cs_opt,
    .store_input input,
    .ft_copy,
    .q_txt,
    .gnb a,
    .store_filter .custom_select.type_field .cs_btn,
    .store_filter .custom_select.type_field .cs_opt,
    .sf_ipt input,
    .sf_btn,
    .store_list,
    .store_board .paging_box .pg_page,
    .store_board .paging_box .pg_current,
    .ph_side,
    .ns_ipt input,
    .cs_btn,
    .cs_opt,
    .custom_select.type_field .cs_btn,
    .custom_select.type_field .cs_opt,
    .sn_area,
    .sn_desc,
    .sn_tag em,
    .sn_menu,
    .sn_more,
    .store_news .paging_box .pg_page,
    .store_news .paging_box .pg_current,
    .nv_area,
    .nv_tag > li,
    .fc_desc,
    .mn_desc,
    .vb_label,
    .vb_sub,
    .vb_btn,
    .news_view .paging_box .pg_page,
    .news_view .paging_box .pg_current,
    .event_board .paging_box .pg_page,
    .event_board .paging_box .pg_current,
    .sns_tab button,
    .sns_board .paging_box .pg_page,
    .sns_board .paging_box .pg_current,
    .svd_badge,
    .svd_name,
    .svd_info,
    .svd_btn,
    .share_btn:after,
    .svd_tag > li,
    .svc_url,
    .svn_label,
    .svn_tit,
    .svn_date,
    .lg_back,
    .lg_field label,
    .lg_field input,
    .lg_save span,
    .lg_btn,
    .lg_link,
    .jn_step > li,
    .jn_all span,
    .jn_chk span,
    .jn_doc,
    .jn_field > label,
    .jn_ipt input,
    .jn_sub_btn,
    .jn_hint,
    .jn_done_tit,
    .jn_done_txt,
    .mp_info dt,
    .mp_info dd,
    .mpm_field > label,
    .mpm_label,
    .mpm_fixed,
    .mpm_fixed em{
        font-size:16px;
    }
}
